前言
我们经常听到的是比特币的交易是无法篡改的,但你是否想过有方法可以撤销一笔已经提交的比特币交易?当一笔交易已经写入区块链,那么该笔交易就无法被撤销了,因为区块链本身是不可篡改的。但是如果该笔交易还在交易池中未被矿工打包,那么就可以通过以下两种方式来撤销一个已经发出但还未上链的比特币交易。
RBF
RBF之前是为了解决一笔交易在比特币网络中存在时间太久依然未被打包的情况。例如用户发送了一笔手续费非常低的交易,导致该笔交易因为手续费较低一直未被矿工打包的情况。那么用户就可以通过发送一笔相同的交易(但增加了手续费),来替换原有的交易,以使该笔交易能够快速被矿工打包,而原来的交易被取消。
Replace-by-Fee (RBF) 策略是指用户可以通过发送一个相同的交易(但提升了手续费)来替换长时间存在于交易池中未被矿工打包的交易。
详细实现可参考: https://help.tokenpocket.pro/cn/faq/btcwallet/rbf-cpfp
双重支付
上面提到的RBF是比特币客户端给出的一个交易选项。还有其他骚操作也可以撤销一笔交易。那就是利用“双重支付”的“特性”来处理。
当交易发出后还未打包时,我们可以发送另一个交易,该交易会花费我们要替换交易中使用的UTXO,但是手续费更高(手续费更高意味着会被矿工优先打包),当前的交易在被矿工打包后。之前的那笔交易因为UTXO已经被花费的缘故,将变成一个非法交易,被矿工抛弃,这样我们就完成了撤销的操作。
总结
以上就是撤销一个比特币交易的两种方式,这两种方式的前提都是交易未被持久化到链上,依然存在于交易池之时,已经上链的交易是无法篡改的(忽略分叉的情况)。
Ending !
文章评论