BCH升级将至 | BU拥有无限手套?

  • 时间:
  • 浏览:14

  

  Bitcoin Unlimited(下文称BU)客户端是除了Bitcoin ABC(下文称ABC)客户端外采用率最大的BCH客户端,与此同时,BU开发组和ABC开发组也同样是BCH目前贡献代码最多的开发组。就在两天以前4月24日,BU正式发布了最近的1.6.0.0版本,此版本兼容过去所有已经激活的比特币现金网络协议,并更新了2019年5月15日新的升级协议,与已经发布的ABC版本0.19.X兼容,正在备战5月份15日硬分叉升级。目前此版本已经可以下载。

  与此同时,ABC客户端早在2月份就已经推出,经过三个月的测试和用户反馈开发者再次进行优化,在4月23日ABC推出了0.19.4版本,不出意外的话这一版本基本就是5月15硬分叉升级的终极版本。此版本也已经可以下载了。

  BU客户端

  根据BU发布的GitHub来看,此次包含以下更新:

  Segwit复原

  Schnorr签名

  实现紧凑区块

  与electrum服务器electrs的基本集成(实验性功能,默认情况下关闭)

  石墨烯:通过利用CTOR发送无需发送txns oders

  石墨烯:快速过滤器而不是布隆过滤器(可选)

  石墨烯:IBLT散列函数的播种

  石墨烯:使用更少算力来避免短ID TX碰撞

  石墨烯:通过IBLT填充将解码失败率降低到0.5%

  石墨烯:O(1)启发式测定IBLT / BF大小超过600 txns的块

  RPC增强和新命令(getrawblocktransactions,getrawtransactionssince和gettxoutproofs)

  QA可靠性改进

  更简单的gitian构建过程(基于docker)

  围绕我们目前支持的3块传播技术的进行代码重构(Graphene,CB,Xthin)

  转到C ++ 14并将lib boost boost ver匹配

  更新Windows构建脚本

  简化和更新Xpedited代码

  重构脚本解释器作为由类封装的“虚拟机”。这允许脚本解释器在bitcoind之外使用(例如,它的“step”允许在脚本调试器中使用)。

  实现Xversion可更改密钥

  文档改进

  

  在BU的更新列表中,除了5月15日硬分叉升级的内容隔离见证修复和Schnorr签名之外,我们可以看到,BU客户端最大的更新就是石墨烯技术相关优化和改进,基本7条的技术更新都是围绕石墨烯技术进行的改进。

  众所周知,石墨烯技术一直由BU开发组和马萨诸塞州立大学研发团队合作开发,而最近关于石墨烯技术的开发工作也取得了一定的成绩。开发团队已经表示石墨烯技术开发功能已经完成了第一阶段(一共两个阶段),即引入了各种安全性和性能的改进的任务已经完成,从BU客户端的代码更新也看得出来,石墨烯技术确实已经取得长足发展和进步,故障率已经降到非常低。事实上现在的石墨烯技术已经可以初步发挥功效,BU客户端已经在为未来正式上线石墨烯技术做准备,这也是最近一段时间BU开发组将要一直努力的事。

  ABC客户端

  事实上ABC客户端早在2月份就已经发布了关于5月份硬分叉升级的版本0.19.0,这也是ABC一贯以来的习惯,提前三个月发布新版本,然后在这三个月的时间里测试和改进新版本,到硬分叉时再进行正式升级。目的是给BCH矿工、用户、交易所等其它BCH生态参与者充分的时间准备面对新版本,在这三个月的时间里也能够充分优化和改善新属性,实验和测试新技术,避免漏洞。在最初的0.19.0版本发布后,后续不断改善和修复漏洞,目前已至0.19.4版本,目前这个版本经过充分测试和优化,将成为这次硬分叉升级的最终版本。

  ABC客户端虽然后续又经历了几个小版本的修复和改善,但ABC客户端除去Schnorr签名和Segwit修复外,并没有添加太多的新技术属性,更多的是修复性技术。

  由ABC发布的Schnorr签名从2月份以来,也已经经过了5个小版本的更新以用来改进功能。事实上有关Schnorr签名的内容在最近两个月里已经被广泛讨论,Schnorr签名是一项不具争议的技术,所有人都公认的这是一项出色的技术改进。

  Schnorr签名对比特币最大的好处是多重签名聚合。很多比特币交易包含多个输入,这些输入记录着这些比特币的来源地址。(这相当于在实体世界中把零钱攒在一起支付一个大的交易一样。)到目前,这些输入都需要有各自的签名,这意味着一个交易必须包含所有这些签名,网络必须传输所有这些签名,同时一个区块必须包含所有这些签名。但是,使用Schnorr签名,所有的这些输入只需要一个合并签名就可以替代所有这些不同的签名。很明显这将带来数据上的优势,因为,一个交易只需要一个签名就行了,而且,网络只传输这一个签名,一个区块只包含这一个签名。这意味着为交易腾出了更多的空间,能够有效的提升BCH的交易处理能力。除了交易处理能力的提升外,Schnorr签名还有效的提升了BCH的隐私性。

  而隔离见证复原则是一项修复性功能,2018年11月15日的升级导致BCH的地址与BTC的隔离见证地址不兼容,用户在发起BCH转账时,如果将币发送到了隔离见证的地址的话,将无法取出,这将导致用户的损失。隔离见证复原功能就是让那些被错发到隔离见证地址的BCH也可以取回了。

  目前来看ABC客户端最大的更新内容就是Schnorr签名,事实上ABC开发组成员一直在努力的是另一项技术Avalanche雪崩共识协议。这项技术协议是一项中长期计划,这也是BCH在市场竞争中的杀手锏。简单来说目前BCH的交易确认时间是10分钟,这一交易确认时间过长,导致用户的使用体验特别差,那该怎么办呢?人们为此提出了零确认交易,零确认交易又称即时交易,其方法是节点将交易信息加到自己的内存池,如果发现有相同的UTXO 则拒绝。采用零确认理论上是可以在几秒内完成交易的,但是零确认交易并不安全,非常容易被攻击,如双花交易、51%攻击等,这些弊端导致了零确认最终无法大规模采用。

  而Avalanche雪崩共识协议简单理解就是修复了零确认交易的所有弊端,从此零确认交易也同样安全稳定。不得不说这是一项极其重大的技术突破,这意味着BCH将10分钟交易确认时间缩短2到3秒内,并且同样安全稳定,BCH真正具备秒级支付体验。客观来说,这种交易能力毫不逊色于BTC的闪电网络。

  下半年BCH的技术方向

  Avalanche雪崩共识协议目前也处于测试网络,不过大概率的是在下半年上线主网。而另一边BU开发组负责的石墨烯技术也宣布在2个月内开始进行第二阶段,即实现故障恢复和mempool同步,预计也将在下半年上线主网。Avalanche协议和石墨烯技术将作为BCH的两大杀手锏大概率在下半年陆续推出,这两者就足够保证BCH的行业领先。希望ABC开发组和BU开发组继续努力,早日上线Avalanche协议和石墨烯技术。

  结束

  BCH的设计理念是合理的,一定不需要进行彻底的改变,但BCH一定不是完美的,需要开发者对BCH进行不断的优化和升级。开发和创新成为一个坚实的基础,比特币的现金需要持续改进和竞争。开发者们正在努力为比特币现金网络打造为最好的技术平台,以帮助BCH网络成为最好的货币。