EOS创始人BM再度称赞BOSCore侧链Batch PBFT技
今日午间,BM在EOS电报群进行互动。针对社区成员提到的“BOS LIB加速解决方案:Batch PBFT”,BM称赞BOSCore在解决LIB的共识机制上使用的Batch PBFT是一个很好的解决方案。
BM在电报群内的回复截图值得一提的是,这是继此前BM肯定BOSCore开发的IBC跨链转账功能之后,又一次对BOSCore侧链的技术方案表示认可。
那么,受到BM称赞的Batch PBFT方案,是一个什么样的方案呢?
我们先从EOSIO说起。
众所周知,EOSIO采用的是基于流水线的拜占庭容错机制 (Pipelined Byzantine Fault Tolerance),对于一个Block需要经过Propose、Pre-Commit、Commit、Finalize几个步骤,最后不可更改的块范围由Last Irreversible Block (LIB) 标明。按超级节点的出块规则,即便是优化后的方案,在EOSIO上一笔交易基本上需要约3分钟 (理论最低为325个出块时间,即162.5秒) 才能进入LIB。
从技术角度看,在EOSIO采用的DPOS BFT共识算法中,所有块同步后的确认信息都只有轮到该节点出块的时候才会被广播出去,因此,在交易确认上就会产生较长的时间。
举个例子,在BP1出块(所出块为BLKn),BP1~BP21轮流出块的情况下,BP2~BP21会陆续收到并验证BLKn,但所有BP只能等到自己出块的时候才能发出对BLKn的确认信息。这就客观上造成交易需要较长的确认时间。
综合来看,EOSIO使用的Pipelined BFT共识机制虽然相比BTC、ETH等其他数字通证的交易可靠时间有很大提高,但是对于很多应用场景来说还是有很大限制。比如支付场景,由于不能立即确定该笔交易最后是否成功,需要等待一段的时间才可完成商品的交易,这就形成了很多的限制。
正因为看到EOSIO共识机制的不足之处,BOSCore侧链提出并采用了改进优化型的PBFT (Practical Byzantine Fault Tolerance)共识机制,该机制可以实现BP之间实时地对当前正在生产的区块进行确认,从而使整个系统最终达到接近实时的共识速度,客观上缩短了一笔交易变成不可更改状态的时间。
同时,在保证实现拜占庭容错的前提下,BOSCore针对LIB的加速,提出了采用批量共识(Batch PBFT)替换PBFT的方案,对每个块进行共识的要求,通过一次广播多个块的相关信息,以此来逼近实时BFT的理想状态并减轻网络负载。
也就是说,通过Batch PBFT的实施,实现一次广播多个块的相关信息,让BP之间实时地对当前正在生产的区块进行确认,使得整个BOSCore系统最终达到接近实时的共识速度。
Pipeline BFT与Batch PBFT的突出特征对比Batch PBFT方案能够进一步缓解EOS主网LIB过久的问题,使确认交易不可逆的时间从现在的几分钟缩短到几秒,使区块链技术在某些实际场景中的应用特别是零售支付拥有更多的可能。目前,Batch PBFT方案已展开公开测试,按此前官方消息,预计会在今年第二季度上线。届时,若能实现IBC的同步升级,区块进LIB的时间将能缩短到3秒,并且BOSCore到EOS的跨链时间也将缩短到15秒以内。
BOSCore是一条EOS的侧链,致力于dApp生态的打造。其主网已于2019年1月17日正式启动。相对于EOS主链,BOSCore的资源价格低廉,降低了dApp的启动门槛;同时在生态激励方面,BOSCore准备了1亿BOS的生态基金,助力dApp的开发和落地。