交易被堵?试试这几种办法

12月初的时候,比特币价格爆涨,我并没有打算卖出,而且把币转到冷钱包,准备领BTG糖果给自己发个年终奖。行情太好也很烦人,比特币的交易费也是高得让人无法接受,转到冷钱包的交易就花了我0.0027 BTC,为了安全地领取糖果,这几百元也就忍了。

但另外一件发币的事情就有点让人发狂了,因为以前说起过《金炜搞了一件大事》,现在联合挖矿的规模不断扩大,每10天要给200多人发币,工作量可不轻。金老板整天要处理场地、机器、供电等事务,不堪重负,把发币的重任交给我来办。

我写的C#发币程序已经更新到了2.2版本,基本原理并不复杂,就是用BitcoinLib调用Bitcoin Core的RPC接口,根据每人参与的份额把所有的发币操作放在一笔交易中,这样不仅发币效率大大提高(1分钟之内搞定),还节省了大笔的手续费。

以这笔交易为例(txid为7ae1fd5dc58bbeb7680d2d31931a15408cfb1e2898fca4b6eaf348e5d830a8b2),同时给100多人发币,手续费只用了0.0003 BTC,平均每人手续费为0.000003 BTC,还不到1元钱。

不过这种幸福的日子没过多久,比特币的区块链严重拥堵,12月16日发出的这笔交易(txid为d7028391bbb41415ed1c837a1eb8e03b3583cbd22486529dc2d1890327bb903f)仍按往常一样将手续费设为0.0003 BTC,所有的矿池都拒绝受理,至今仍为零确认。

这笔交易不仅堵在比特币网络里,更是堵在我的心头,不除之不快。

交易加速的几种方法

这种事情当然不能用X度了,我直接用google,关键词用“transaction stuck”,最权威的一篇贴子在bitcointalk.org上,请科学上网访问这个网址:

https://bitcointalk.org/index.php?topic=1802212.0

交易被堵住的最主要原因就是手续费设置得太低,矿池是逐利的,优先挑选高额手续费的交易打包,而行情火爆,你的交易可能永远排在队伍的最末尾,也就是永远无法被打包。

1)等待

如果你不会一些高级操作,就只能等待了,如果运气特别好,几天后可能会被确认。或者,过了很久,让整个比特币网络忘记了你的这笔交易,你可以重新发起一笔新的交易。不过,我的那笔交易等了10多天,没看到任何被确认的迹象,也没看到被清除的可能性。

2)找矿池加速

有些矿池提供交易加速的服务,比如 https://pool.viabtc.com/tools/txaccelerator,但免费加速的名额非常有限,收费服务大概按每KB支付0.01 BTC计算,像我们的5000字节的交易,大概要花0.05 BTC,不知道最近加速服务的行情是不是也上涨了?

3)Replace-By-Fee (RBF)

这种办法实际上是一种双重支付(Double-Spend),后面发起的交易可以提高手续费,在Bitcoin Core 0.15版本中提供了界面可以进行这种操作,但前提是发起交易时要加上Replace-By-Fee选项。

我转币到冷钱包的那笔交易就是用的这种办法,但在调用RPC接口的程序中并没有用这个选项,这种办法也不成。

4)发起Child-Pays-For-Parent 交易

这种交易的意思是,被堵的交易作为父交易,里面的输出项是0确认的,但你有私钥可以控制,这样你可以发起一个子交易,用父交易中的一个未确认的输出当作新交易的输入,而交易费必须给足,让矿池愿意打包,打包子交易时会一起把父交易打包。

我最后采用的就是这个办法,父交易为5400字节(txid为7b02b4066ab66fc965a897a5f72414f886a8fd150245f8acf0ab1cafcb414ca4),我又发起了一个子交易为8000字节(txid为756d5afa45c5ef9a9ce2725de54f8538f4993e8156576ddeb9be34e6c45f2819),总共约13 KB,按当时交易费行情大概为0.004 BTC/KB,我应该设置手续费为0.052才是安全的。

我最后采用了0.056的手续费,再加上父交易的0.0015,总共为0.0575 BTC,看来找矿池加速也就这个价。不过,我在加速交易的同时,还完成了给200多人发币的任务。

堵了几天的交易终于被清除了,今天终于可以睡个安稳觉了。

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2017-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏代码乱弹

区块链里的数据不一定是真的

这篇文章意在反驳人们"区块链数据是完全真实"的观念。先打个比方:在传话游戏中,最后的人讲出来的故事已经与原来的故事相差很远了。

3935
来自专栏黑白安全

关于区块链安全的实际性思考

区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每...

1122
来自专栏区块链领域

对话V神:区块链跨链技术大规模应用将在一到两年内爆发

近日,以太坊创始人Vitalik Buterin在接受Fintech媒体采访时表示: 不同区块链之间共通的应用一定会出现。因为区块链是一个开放的系统,其中的一切...

6006
来自专栏智能计算时代

区块链概况:什么是区块链

定义 区块链技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。 wikipedia 给出的定义为: A blockchain —originally, bl...

3256
来自专栏企鹅号快讯

谈谈我对区块链的理解

通过之前研究的十大前景行业(带来高收入的 10 大开源技术,可以涨工资了!)提到人工智能,区块链,大数据都是今年以及2018年的技术热门趋势,本文专门介绍下什么...

2487
来自专栏陈树义

极简入门:什么是智能合约?

「智能合约」一词是由Nick Szabo在1997年首次提出的,比比特币的出现要早很多。他是位计算机科学家、法学学者,还是个密码译解专家,所以我还是替他跟你「讲...

591
来自专栏区块链技术指北

理解智能合约

这是「区块链技术指北」的第 22 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会...

4186
来自专栏java达人

通过比特币了解以太坊(1)

作者:Mike Goldin 图标:Eva Shon 译者:java达人 来源:https://media.consensys.net/time-sure-do...

2304
来自专栏申龙斌的程序人生

创世区块 | 区块链生存训练

比特币的底层是区块链(blockchain)技术,区块链是由一些区块(block)链接而成的,区块中记录着比特币交易信息。 2009年1月3日 18:15:05...

3719
来自专栏CDA数据分析师

十分钟带你看懂比特币背后的原理

? 翻译/校对: Mika 本文为 CDA 数据分析师原创作品,转载需授权 有一种货币目前价值成百上千美元 ,但不是由金子、铂金或任何贵重金属制造的,这就是...

40910

扫码关注云+社区