本文主要讲解“LibraBFT和Bystack BBFT有什么区别”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖学习“LibraBFT和Bystack BBFT有什么区别?”
如果说什么是区块链的灵魂,那一定是共识机制。
这是区块链的基础。无论是公链还是联盟链,共识机制从根本上限制了区块链的交易处理能力和可扩展性。
2019年6月18日,脸书发布天秤座项目白皮书,引起广泛关注。作为脸书尝试打造国际流通数字货币的重要项目,Libra区块链采用LibraBFT共识机制,这是一个专为Libra设计的健壮高效的状态复制系统。它基于一种新的BFT共识算法HotStuff。
就在脸书天秤座项目白皮书发布前不久,5月17日,碧源连锁发布了BaaS平台Bystack。这是一个商业区块链系统,主要采用多侧链架构。主链采用PoW共识,保证各种资产的安全性和分散性,侧链提供可插拔共识,满足不同的业务需求。同时,Bystack本身也为侧链创建了DPoS BBFT的共识算法。
这也是BFT共识机制。LibraBFT和BBFT有什么区别?
区块链共识机制的意义和现状
共识是分布式系统中的节点就数据或网络的最终状态达成的协议。由于网络环境和节点状态的不可控性,共识机制需要同时考虑性能、可靠性、安全性等问题。
从广义上看,共识机制可以分为两类:PoW等中本聪共识机制和拜占庭容错(BFT)共识机制。BFT共识机制广泛应用于各种联盟链中。
PoW consensus在非授权链中应用广泛,但其概率模型在提供高可靠性的同时牺牲了效率,浪费了大量计算资源。在具体的业务应用环境中,权限机制在一定程度上保证了节点的半信任。在这个前提下,用户更关心TPS和Finality。这就是BFT共识在联盟链中受欢迎的原因。
00-1010 BFT(拜占庭容错)是拜占庭容错。它是一种分布式计算的容错技术。
由于硬件错误、网络拥塞或中断、恶意攻击等原因,计算机和网络可能会有不可预测的行为。拜占庭容错技术就是为了处理这些异常而设计的,在容错的基础上达成共识。
与比特币衍生的中本聪共识不同,在BFT协议中,一旦达成共识,将直接形成确定性的结果,而不是概率上的中本聪共识的最终共识。
BFT共识广泛应用于金融场景和联盟链场景。同时,随着技术的发展,应用于公链场景的BFT共识不断涌现。
00-1010实用拜占庭容错算法(PBFT)是第一个在异步分布式网络中实现拜占庭容错的实用共识算法。
PBFT算法可以在异步环境下工作,它优化了原有拜占庭容错算法的低效性,将算法复杂度从指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中可行。——这已经得到广泛验证。当故障节点总数小于1/3时,PBFT算法可以同时保证安全性和活性。
无论是脸书天秤座的LibraBFT共识协议,还是比斯特克的BBFT共识机制,都充分吸收了底层PBFT的优势,采用了现有久经考验的处理方式,并针对PBFT的一些不足和不足,在不同的方向上做出了自己的创新。
00-1010如前所述,天秤座采用基于热点的天秤座共识。
HotStuff是一个三阶段的BFT算法。它将视图切换过程与正常过程相结合,没有单独的视图切换过程,降低了视图切换的复杂度。
在HotStuff中切换视图时,系统中的一个节点不需要确认消息“有足够的节点想要切换视图”然后通知新的主节点,而是可以直接切换到新的视图并通知新的主节点。HotStuff将确认消息“足够多的节点想要切换视图”的行为放入正常流程。因此,PBFT的两阶段确认扩展为三阶段确认。
热点的另一个重要变化是改变PBF
T 的网状通信网络拓扑变成了星形通信网络拓扑。HotStuff 中,每次通信都依靠主节点。节点不再通过 p2p 网络将消息广播给其它节点,而是将消息发送给主节点,由主节点处理后发送给其它节点。得益于星型通信网络拓扑,系统的通信复杂度大大降低。和 PBFT 类似,主节点会提议进行状态迁移,其它节点收到该状态迁移要求后,会检查其合法性。
LibraBFT 在 3f+1 个验证节点之间收集投票,这些验证者可能是诚实的节点也可能是拜占庭节点。在网络中存在 2f+1 个诚实节点的前提下,Libra能够抵御 f 个验证节点的双花攻击和分叉攻击。
LibraBFT在一个有全局统一时间(GST),并且网络最大延时(ΔT)可控的部分同步网络中是有效的。并且,LibraBFT在所有验证节点重启的情况下,也能够保证网络一致性。
比原链 Bystack 的 BBFT共识机制
根据 Bystack 白皮书,BBFT 是一种基于实用拜占庭容错 PBFT 的衍生共识,是一种分层拜占庭容错共识算法。在保证拜占庭容错,即允许少量节点(f≤N/3)作恶的情况下,具有以下特性:
(1)配置性(Configurable)
采用模块化可插拔设计,按需配置,并在一定程度上保证对新技术的兼容(Future-Proof)。
这是 Bystack 的一个核心竞争点。跨链概念近几年一直有受到广泛关注,也是区块链发展的重要方向。支持模块化的插拔,使得 Bystack 拥有跨链方向的想象空间,有能力形成一个真正扩展性强、能兼容其他主流共识机制的区块链系统。
这样的兼容能力使得 BBFT 有能力让其他的联盟链公链成为自己的侧链,让自己不仅仅是一个区块链操作系统,而且形成一个区块链操作系统生态。这样一来,想象空间就大了。
不过当然,要达到这样的程度,技术实现上可能任重道远。兼容性是一个动辄消耗大量研发成本的方向,它不难,但是繁琐。BBFT 很难一步登顶一开始就做到最好,目前只能一步一步来。
(2)适应性(Adaptive)
即针对不同网络环境提供稳定的执行效率。
BFT 需要节点之间互相交换验证结果以取得多数共识。一般来说,每个节点需要得到足够多(≥(2/3)*N)的来自其他节点的回复才能做出有效判断。网络延时直接影响信息交互效率,特别在跨地域跨境应用中,延时将成为网络运行的瓶颈。
在 BBFT 中,共识节点维护当前网络拓扑,按最短路径原理相近的节点采取优先通信。对通信的聚合可以进一步降低延时。同时类似PBFT,BBFT 中领导节点(Leader)的角色被弱化,共识节点拿到超过2/3票数就可以做出判定,从而在领导节点通信受到阻塞的情况下,也不会对整个网络决策产生巨大影响。
(3)扩展性(Scalable)
保证共识复杂度随网络容量线性(Linear)或低于线性(Sub-Linear)增加。
一方面共识节点越多网络的可靠性相对越高;另一方面,传统 PBFT 中节点通信的复杂度 O(N^2) 随网络容量指数级增长,极大限制了节点数目。BBFT中对消息的有效聚合可以有效减少消息发送的次数,从而保证 O(N) 的复杂度要求。与网络拓扑相结合,可以把网络分割为多层结构,消息数据可以在同层内有效共享,以多签聚合的形式跨层传播。多签信息验证可以使用现有的成熟的
方案,例如基于 Shnorr 签名的 MuSig 算法,可以在保证多签验证效率的同时,抵御Rogue Key Attack攻击。
(4)异构性(Heterogeneous)
分离共识的验证和通信。
共识达成需要验证和通信,但两者并没有很强的关联。采取低耦合的共识框架可以进一步提高网络可靠性和效率。
验证模块往往取决于具体用户逻辑,对算力和安全性都有一定要求。通信模块和用户逻辑相对独立,主要处理网络连接和请求。网络拓扑和最短路径的计算和选择可以在这里完成。由于和用户逻辑无关,通信模块可以以抽象层(AbstractionLayer)或者中间件(Middleware)的形式和验证对接。
异构带来的优势还体现在用最优的工具做最适合的事。验证和通信允许运行在不同的系统上、不同的操作环境中,针对不同硬件的算力优势和安全保证(TrustZone)来发挥最大效能。
BBFT 的两大主要特点在于:
多层结构。根据网络进行分层。传统 BFT 是单层结构,只有一个领导节点和若干处于同等地位的共识节点。BBFT 的创新在于大领导下面还有小领导,如果领导出问题,不至于对网络产生较大影响,相当于弱化了领导的作用。而且由于是多层结构,可以把网络通信分流再组合,优化网络通信的延时和数量。
传统 PBFT 的通信复杂度是指数级的,难以扩展,网络里面随着节点数暴涨,整个网络延迟可能很严重。BBFT 通过分层和加密签名的聚合,对整个网络结构有效组合,可以保证通信复杂度线性增长,而不是指数级增长。
可配置性。Bystack 上的侧链工程其实分三个模块,一是底层共识算法,二是网络划分,三是签名聚合。其中,网络划分和签名聚合是相对独立的模块,可以使用不同的网络分层算法、签名聚合算法与共识层的算法进行搭配。可以根据具体用户场景灵活选用不同的合理方案。
LibraBFT vs BBFT:共同和差异
LibraBFT 将 PBFT 的网状通信网络拓扑变成了星形通信网络拓扑,以降低系统通信复杂度;BBFT则使用多层结构把网络通信分流再组合,优化网络通信的延时和数量。
LibraBFT 将视图切换流程和正常流程进行了合并,把 PBFT 的两阶段确认扩展成了三阶段确认;BBFT 则将经典 BFT 算法中产生、预最终状态与最终状态三个状态修改为只有一个最终确认状态。
两者都可看做是 PBFT 共识的升级,吸收了现有 BFT 类共识的成果和优点,并在此基础上做出不同方向的扩展。LibraBFT 共识机制更多是 PBFT 基础上的一种革新,更多关注算法本身,对 PBFT 有很多修改和优化的方面;BBFT 更多是在层级上进行分层控制,更多是一种系统全局思维。BBFT 希望达到的,不只是一种高效的共识机制,更是能融合其他共识机制的共识机制。维度上,BBFT 是可以让 LibraBFT 直接接入,在侧链上利用对方所有优势的。LibraBFT 是第一序改变,BBFT 是第二序改变。
可以明显看出,Bystack 更加关注利用好现有共识机制,将不同的共识机制整合、取长补短,这在 Bystack 整体架构上表现就十分突出,比如主侧链采用不同共识并有机结合、侧链使用 DPoS+BBFT 的混合共识算法并具备可配置性……Bystack 不只是想做区块链的操作系统,它实际上有做操作系统的操作系统的意思。
区块链共识机制的研究,已经进行很长一段时间,但从 PoW 共识提出到现在,并没有说得上范式突破的进展。
也许让区块链兼容其他链的共识机制,实现平滑跨链,让任何一条链都可以作为一个侧链接入进来,可以成为区块链方向的一个范式突破,带来全新的想象空间。也许这也是现在跨链概念比较火爆的原因。
到此,相信大家对“LibraBFT与比原链Bystack BBFT有什么不同”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153663.html