上周五,比特币现金开发团队之一Bitcoin Unlimited发布了BCH客户端兼容新版本1.4.0.0,此版本符合最新的硬分叉(2018年5月15日),包括32MB区块,扩展的op-return数据和其它的操作码。
新版本代码库的重要更改和修复列表如下:
BU是BCH重要的开发团队之一,BU客户端的运行数量仅次于Bitcoin ABC开发团队,总占比为32.65%,Bitcoin ABC为65.34%,所以BU客户端的更新对于BCH来讲还是很有影响力的。在上述更新中,BCH社区最为关注的莫过于列表中的第一条:“石墨烯继电器:用于在区块链网络中有效中继块的协议(实现,默认情况下关闭,设置use-grapheneblocks=1为打开,规范草案)。
石墨技术是BU开发组在7月份就宣布要加入到BCH中的一种新技术,如今在新版中成功的对这一技术进行了部署,开始了正式测试阶段,对于这项技术的正式上线和大规模普及来说可谓意义重大。
石墨烯技术是什么?
“石墨烯(Graphene)”协议是一种利用布隆过滤器(bloom filter)以及可逆式布鲁姆查找表(IBLT)降低带宽将区块传播到全节点的新方法。据称,石墨烯技术比致密区块(Compact Block)和极瘦区块(Xthin Block)的效率要高出 10 倍。
石墨烯技术并非一个新名词,早在去年 11 月份,加利福尼亚斯坦福大学举办的 2017 比特币扩容大会中,马萨诸塞大学安姆斯特分校(UMass Amherst)的Brian Levine就已经详细讲解过石墨烯技术,同时,该项目在当时已经使用了Python测试网测试。
石墨烯技术测试版上线对BCH来说意味着什么?
1.减少BCH网络宽带消耗。现有简单支付验证(SPV)钱包使用的是布隆过滤器技术,这一技术在目前来讲已经是非常高效的一种手段,尽管由前比特币核心开发者Gavin Andresen提出的IBLT比布隆过滤器要高效一些,但是也属于集合调和数据结构,存在一些先天性的不足。石墨烯技术融合两者,在区块传播过程中,不会发送交易ID列表,而是以如今使用的现行区块传播协议的1/10携带小布隆过滤器和IBLT。
举例来说,我们可以将17.5 KB的极瘦区块使用致密区块编码成10 KB,并使用石墨烯技术编码成2.6 KB。也就是说,石墨烯编码信息所用空间只是紧凑区块空间的10%,这可以说为BCH P2P网络中的集合调和问题提供了一种更高效的解决方案。
2.加速区块传播速度,提高交易效率。石墨烯技术和Bitcoin ABC首席开发者提出的“预共识”概念都是为了同一个目的,提高交易效率。区块传播速度变快,自然而然,交易确认时间也会减少;另外,石墨烯技术将区块编码成容量极小的数据会再一次提高BCH大区块能处理的交易量上限,减少交易拥堵发生的可能性。
石墨烯技术还存在那些技术难点没有解决?
这是石墨烯技术第一次在客户端中部署,还处于测试阶段,用户可以自主选择是否开启这项功能,BU开发团队打算通过测试反馈的方式对这项技术进行完善改进。从社区用户的反馈以及开发团队的解释来看,石墨烯主要存在着解码失败的问题,解码失败是石墨烯技术唯一的弱点,当用户尝试对石墨烯进行解压时,会出现超过50%的失败率,这也是为什么石墨烯技术还处于实验阶段的原因。在这方面,开发者还有许多工作要做。
另外,BU团队开发者在论坛回答问题时提到说,他认为9月1日的压力测试对于石墨烯技术来说是一个很有意思的挑战,届时应该能获得很多有用的经验。