交易锁定时间的限制

使用锁定时间允许花费者限制一个交易直到特定的区块高度才能被包含在区块中,但它并不阻止在那之前的另一个交易中花费这些资金。让我们通过以下示例来解释这一点。

Alice签署了一笔交易,将她的一个输出支付到Bob的地址,并将交易锁定时间设置为未来3个月。Alice将这笔交易发送给Bob保管。通过这笔交易,Alice和Bob知道:

  • Bob在3个月之内不能传输这笔交易以赎回资金。

  • Bob可以在3个月后传输这笔交易。

然而:

  • Alice可以创建一笔冲突的交易,花费相同的输入但没有锁定时间。因此,Alice可以在3个月之前花费相同的UTXO。

  • Bob无法保证Alice不会这样做。

了解交易锁定时间的限制是很重要的。唯一的保证是在3个月之前Bob将无法赎回预先签名的交易。没有保证Bob会得到资金。确保Bob会收到资金但不能在3个月之前花费它们的一种方法是将时锁限制作为脚本的一部分放置在UTXO本身上,而不是在交易上。这是通过下一个形式的时锁实现的,称为检查锁定时间验证。

Last updated