Cobo HD钱包最新上线ETH交易加速功能(RBF),在上一笔交易尚未确认前,只需要调整手续费,就可以发起一笔更快速的交易,而较慢的那笔交易将会自动撤回。
RBF全称为replace-by-fee,是指一笔交易卡住后,发起一笔相同但是手续费更高的交易。我们接下来分别看下比特币和以太网络里如何进行RBF操作。
比特币的区块链账本里记录的是一笔又一笔的交易。一般来说,每一笔交易都要花费一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是UTXO(Unspent Transaction Output)。
在比特币网络里,实现RBF的策略是,在上一笔尚未确认的交易(tx1)基础上,使用相同的UTXO再发起同样一笔交易(tx2),只不过手续费要更高。
但因为交易tx1和交易tx2是相冲突的,必然只有一笔能被打包,而tx2手续费要更高,矿工会优先打包tx2,如果交易tx2最终被打包了,交易tx1就会被作废。
与比特币不同的是:
1)以太坊采用的是账户模式,每个地址类似一个银行账户,转入转出记录都在同一个账户上,使用独特的参数nonce来标记交易的先后顺序。
每一个账户从同一个节点发起交易时,这个nonce值从0开始计数,发送一笔nonce对应加1。当前面的nonce处理完成之后才会处理后面的nonce。
2)以太坊上的每笔交易都会被收取一定数量的Gas,Gas的目的是限制执行交易需要的工作量,同时为执行支付费用。
Gas Price是你愿意为一个单位的Gas支付多少ETH,一般用Gwei作单位。 Gas Price 越高, 交易会越快被矿工接纳。
Gas Limit就是一次交易中Gas的可用上限, 如果说你提交的交易尚未完成,消耗的Gas就已经超过你设定的Gas Limit,那么这次交易就会被取消,而已经消耗的手续费同样被扣取 —— 因为要奖励已经付出劳动的矿工。
我们假设nonce为3的交易因为Gas太低一直未确认,那么我们可以发出一个相同nonce,但调高Gas Price,来替代之前的那笔交易。因为最终只可能有一笔合法的交易被确认,Gas Price高的交易容易更快被矿工打包,而另一笔交易则会被撤回。这就是以太交易加速的原理。