区块链交易中止、重试及农业供应链应用解析
1. 区块链交易的中止与重试机制
在区块链交易中,有时会遇到需要中止或重试交易的情况。例如,Alice 想向 Bob 转移 5 BTC。她之前分别从 Charlie 处收到 2 BTC(Tx1 中的输出 0)、从 David 处收到 1 BTC(Tx2 中的输出 0)、从 Erin 处收到 4 BTC(Tx3 中的输出 1),其虚拟账户共持有 7 BTC。为完成转移,Alice 创建了交易 Txorig,该交易有两个输入:Tx1 #0(2 BTC)和 Tx3 #1(4 BTC),交易总额为 6 BTC。同时,Alice 添加了两个输出:向 Bob 输出 5 BTC(输出 0),向自己输出 0.99 BTC(输出 1),交易费用为 0.01 BTC,交易完成后她的虚拟账户将持有 1.99 BTC。
若该交易在 Alice 设定的 6 小时内未完成,她可以选择中止交易。由于每个输入只能使用一次,Alice 可以提交 Txabort,其输入与 Txorig 相同,但将唯一输出 #0 指定为向自己转移 5.98 BTC,交易费用为 0.02 BTC。这样,无论 Txorig 还是 Txabort 成功,Alice 的账户都不会处于不确定状态,她可以继续正常使用网络。
除了中止交易,Alice 还可以尝试重试交易。她可以创建 Txretry,输入与 Txorig 相同,输出 #0 仍为向 Bob 转移 5 BTC,但输出 #1 改为向自己转移 0.98 BTC,交易费用提高到 0.02 BTC。若 Txretry 成功,Txorig 则会过时。
2. 以太坊交易中止实验
为了验证上述交易中止方法的有效性,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



