技术加速已经发出的比特币交易

最近比特币网络爆肚(个人比较喜欢),大量手续费少的交易被滞留不能及时确认。
这里不介绍viaBTC的免费加速(需要手续费不低于0.0001才给加速处理),也不说BTC.COM的付费加速,重点谈谈个人怎么自己加速已经发出去的比特币交易。当然,代价不是免费的,需要自己增加手续费。
首先,理论上一个交易被发出后是不能被收回的,也没有交易过期的说法(有3天过期的说法,经过本人测试,不成立,全节点可以设置72小时过期,但是还是有没设置过期时间的节点继续广播之前的交易,所以会被重新加入到其他节点)。
1、有些矿池提供交易加速功能,其实是你提交交易ID,矿池收录后,当自己挖到一个块后,人为把你之前低费用的交易加入这个块中,如果矿池挖不到新块,就不可能加速确认你的交易。矿池通常选择收取一些额外的费用或者手续费至少不少于某个特定费用。
2、Opt-in Replace-by-Fee (RBF)。在electrum等钱包软件中,发送比特币的时候有一个选项:replaceable,如果你想侥幸用一个低手续费发送交易,不行再追加,可以在发送的时候选中这个选项。这样发送后,如果迟迟不能确认,选择在钱包已经发送还没确认的交易,点击右键,直接有追加费用的选项,增加费用后可以更快被确认;
3、Child Pays For Parent (CPFP) 。通常是比特币接收方实现。这个不是软件的选项,而是想加速之前的一个交易A,需要发起一个新的交易B,把原来A的接收作为新交易的输入,同时适当提高B的手续费。支持CPFP的矿工(bitcoin 0.13以上)当看到一个子交易有很好的手续费想收录进区块的时候,必须把父交易一起收录,因为没有父交易,子交易是不成立的,矿工没办法在不接受父交易的情况下接受子交易,实现了加速父交易的目的;
4、双重支付的思路。有人认为CPFP也可以由父交易的发送方发起,其实我个人认为如果这样,就是类似双重支付(双花)的意思了,当然不是真正的双花,比特币是坚决不能双花的。具体做法是:用热钱包(不要bitcoin core这样的全节点钱包)类似electrum这种把之前的交易重新发一次,这类钱包发送交易的时候会根据本地钱包状态并查询网上全节点数据判断发送地址中是否有可以发送的比特币数量,在配置中可以配置不同的全节点的网站。有人说不可能重发,这就是为什么要用热钱包的原因,有些节点由于设置了交易最低矿工费用,不接收你之前发送的交易,所以用热钱包连接这样的节点,就查询不到你之前发送的交易,就可以再次发送。而新的交易费用高,很快被区块收录确认,老交易被认为是双花,直接被从mempool中清除。但这里有个问题,如果从A发给B,A有10个币,先发给B5个币,交易费少没有被确认,然后你在从A发5个币到B,结果很可能是把另外5个币发给了B,所以是你总共给B发了10个币,不是同样的5个币发了2次。这个如果理解UTXO的就明白,没法多解释了。如果A只有5个币都发给了B,再次发送5个币就不会有问题,看具体情况。如果真的是A有10个币的情况,建议用钱包的命令行方式发送,可以选择UTXO。

发表回复