在2018年,BCH自身进行了诸多完善。不管是符合其特色的扩容还是第二层网络的应用取得了很多进展。不过,BCH开发者还是在不断努力,从安全性、可用性、可扩展性、可扩容性等方面出发,提升BCH的性能,改善BCH的用户体验。Avalanche共识协议作为一种有利于BCH发展的协议,在2018年被BCH开发者提出,旨在帮助BCH提高安全性、提升交易速度。
了解Avalanche原理的朋友都知道,它为网络上的节点提供了一种新的方式,可以在两个冲突的交易之间进行选择,并就下一个区块中应该包含哪一个交易达成共识。通过该方法节点网络可以实时通信并达成可靠的共识。Avalanche最擅长的是它以可靠的方式达成共识的速度。这意味着只要网络中连接了正确的节点,这个共识在以后不会改变。一旦BCH使用Avalanche共识协议,它将使比特币现金的交易变得几乎即时,无需再等待几十分钟获得传统的确认,从根本上提升BCH的交易速度。除此之外,Avalanche共识协议还可以改善mempool同步并减少51%攻击的经济激励。所以Avalanche共识协议获得了BCH社区中很多成员的支持,一些开发者也一马当先的扑在Avalanche共识协议上,为它能早日实现奉献自己的力量。
前段时间,Openbazaar开发者即BCH全节点BCHD的开发者Chris Pacia在测试网上使用预共识Avalanche协议进行了第一次交易测试。在测试中节点只需185.822377毫秒就达成了共识。为了让数据更具有说服力,Chris Pacia表示将几周内在主网上运行Avalanche预共识机制并开始记录数据来证明Avalanche协议对BCH带来的好处。
为了方便大家观察,BCHD的开发团队近日特意推出了一款专门显示Avalanche状态的浏览器。通过这个浏览器,我们可以看到针对每一笔交易,节点们所要达成Avalanche共识耗费的时间。
正如上图所示,在该浏览器中,左边显示的是BCH的交易ID,右边是针对每笔交易所有节点达成Avalanche共识所需的具体时间。根据目前浏览器中所显示的时间,大多数交易完成Avalanche的最终状态确认需要2到3秒。这一点和BCHD奉献的Avalanche Pre-consensus Spec中的描述非常贴合。“假设没有任何no投票,那么我们预计会有134个查询来完成交易。由于事件循环每10毫秒触发一次,这意味着发送足够的请求以完成交易至少需要1.34秒。在此基础上再加上网络延迟,我们预计大多数交易将在2到3秒内完成Avalanche。”
这些数据充分说明了Avalanche共识协议在提升BCH交易速度上所带来的改变。由于现在BCH的区块确认时间间隔是10分钟,BCH的日常交易需要最少十几分钟才能完成确认。一旦BCH正式采用Avalanche共识协议,我们只需查看交易达成Avalanche共识的状态。由于这个过程只需2-3秒,这意味着BCH的交易将会是实时的,这将会极大的提高用户体验。
关于该浏览器建立的初衷,网站首页写了简单的介绍:该网站是预共识协议Avalanche的概念验证,我们在比特币现金主网上设有Avalanche节点,运行Avalanche协议。每当一笔交易被最终确定时(即再也不可能被双花的时候),它就会被添加到网站的列表中。正如您所看到的,目前大多数交易在几秒钟后变得不可逆转。但是要从概念验证到实际的共识规则,需要进行大量的测试,实验,数据收集,代码审查和软件激活规则。如果您有兴趣参与,请与我们联系。
通过这些测试,相信很多朋友都在期盼Avalanche共识协议的到来。不过在github上的BCHD奉献的Avalanche Pre-consensus Spec里面,开发者一开始就声明: ”这不是最终的规范,可能与BitcoinABC团队正在开发的有区别,主要目的是为其他开发者提供切实可见的内容,思考和讨论”。关于Avalanche共识协议具体实现的时间,BitcoinABC首席开发者Amaury Sechet也曾表示将在2019年的早期会在测试网上测试,之后会在2019的下半年或者2020年的上半年在主网上进行测试。
就让我们拭目以待Avalanche共识协议为BCH带来的变化吧!