您的位置:首页 > 区块链 >

比原链发布BBFT 包括由PBFT变形的三阶段协议

2019-07-19 14:17:11 来源: 区块网

前言近日比原链(BYTOM)技术团队发布了Bystack区块链BaaS平台,其中包括侧链的共识算法BBFT(Bystack Byzantine Fault Tolerance)。笔者将在

前言

近日比原链(BYTOM)技术团队发布了Bystack区块链BaaS平台,其中包括侧链的共识算法BBFT(Bystack Byzantine Fault Tolerance)。笔者将在这篇文章中阐述比原链BBFT尝试解决的问题以及分析BBFT与其他各家共识协议的主要差异。

BBFT是一个PBFT的变形,它的原理与PBFT一脉相承。若想深刻理解BBFT的巧思,则必须进入PBFT的脉络推敲。早在区块链藉由比特币的大红大紫之前,PBFT就作为共识协议存在于世界上了。由Castro和Liskov于1999年发明,它是一个具有20年历史的经典设计,它的发明是为了解决分布式系统中的一个经典问题:拜占庭将军问题。直到今日,PBFT仍蕴含许多值得反复推敲的巧思,不断启发后世发明出更好的协定。

PBFT基本的运作流程

PBFT是一个具有二轮投票的三阶段协议,每个视域(View)都会有一个特定的节点作为领导节点(Primary/Leader),负责通知所有节点进入投票流程。各节点则会经历Pre-prepare/Prepare/Commit这三个阶段,并依据接收的讯息决定是否投票/进入下一阶段,每个节点投完票后将讯息发给所有其他的节点。

若个节点在两阶段投票之后取得多数共识,则各节点可以更新本机的状态,结束这一回合。视域变换(View-change)仅当多数节点发起时执行,当目前的领导节点并未正常执行任务时,这可以替换当前的领导节点,保证协议正常运作。

PBFT的特性

PBFT与中本聪共识(区块链)有相当不同的特性:PBFT是一个许可制的、基于领导节点的、基于通讯的、安全性重于活跃性的共识协定。

许可制的(Permissioned):PBFT并非完全开放的,这是由于PBFT需要让节点能够验证彼此的讯息以及精准掌握节点的数量,区块链则是属于对任何人都开放的非许可制(Permissionless)。

基于领导节点的(Leader-based):也就是先决定领导节点(Leader),再由领导节点送出提议,这样做最直接的好处就是不需要浪费自己的运算资源去争取当领导节点的机会,然而缺点就是只有在视域变换时才轮替领导节点,成为领导节点的机会并不公平,缺乏加入网络的诱因;区块链则是在多个提案中选择工作证明难度最高的区块作为共识,虽然这样会造成运算资源的浪费,但是成为出块者的机率大致是公平的,其与算力成正比。

基于通讯的(Communication-based):PBFT的安全性奠基于3阶段投票,虽然不必如工作证明般消耗大量计算资源,但数量庞大的通讯也造成可扩展性的瓶颈——就算是号称最实用的PBFT,也无法扩展到1000个以上个节点。不仅如此,PBFT使用消息验证代码(MAC),每投一轮票就需要每一个节点验证一次讯息,大量的签名/验证也是另一个潜在的瓶颈。

安全性重于活跃性的(Safety over Liveness):PBFT不论在何种网络假设下(同步/异步)都能确保安全性,几乎不可能出现分岔,因此具有实时敲定(Instant Finality)的特性;相对地,区块链则是活跃性重于安全性,其安全性有赖于同步的网络,而具有复数个共识(及分岔)的情况也相当常见,需要经过一定数量的区块「确认」才能保证其不再分岔的机率足够大。

PBFT的问题

首先,PBFT中的每个节点都需于每一轮投票中做n-n的通讯,假设n为1000,则每一次的共识都需要至少100,000次的通讯,尽管PBFT已经是BFT家族当中最实用的协议,这么巨量的通讯需求仍是扩展的瓶颈。

如何提升效率?

· 聚合签名

为了提升效率,一个直觉的思路是:避免n-n的通讯。我们可以指定网络中的某节点作为协调者来发送/接收每个节点的投票,这样每个节点都只需要向协调者发送讯息即可,从而避免了n-n的通讯。然而,在这样的情境下,协调者有作恶的可能,因为协调者可以在未确实接收到指定数量的讯息前便执行下一轮投票或者进行状态更新。

因此,我们可以使用门坎签章(Threshold Signature)来保证协调者的正当行为,门坎签章的可以保证:需集合超过门坎数量(t-of-n)的签章才有效。也就是说,我们可以指定:唯有当协调者集合 2f+1 个门坎签章后,协调者才能带着合法的签名继续推进共识。Harmony FBFT便是一个使用聚合签名以提升效率的BFT家族协议。

· 管线设计

每个内容都必须经过二轮投票/三个阶段才能达成共识,如果有m个内容就需要执行2m次投票。管线设计(Pipelining)可以减少投票的次数,它的基本思路如下:让每个节点在投第 i 轮的prepare阶段时,同时也是对其前一个内容 i-1 的commit阶段投票。这样做便可以节省对同一个内容重复投票的冗余,大幅提升效率。这样的思路首见于2018年发表的HotStuff协议。

· 只让部分节点参与共识:最小生成树

另外一种提高效率的方法,就是避免使所有的节点参与共识,这也正是比原链BBFT采取的作法。在BBFT中,节点分为三种:Consensus Node/Gateway Node/Leader Node,这些节点形成树的结构,树为网络中节点的最小生成树(Minimal Spanning Tree),可能由分布式算法得出,或是由外部服务提供。

树叶的节点即为Consensus Node;树根为Leader Node;其他部分为Gateway Node。每种节点都有分别的任务:Consensus Node负责进行投票;Gateway Node则不需参与投票,但必须负责聚合由Consensus Node送来的签章;Leader Node负责与其他Leader Node交换讯息。BBFT的运作流程如下图所示,BBFT的共识过程,便是讯息由树根向树叶传播再回到树根的过程。

如何确保正确性(Safety and Liveness)?

在为PBFT带入新技术以提升效率的同时,也必须确保协议本身的安全性与活跃性。接下来我们来看看,上述的协议是如何确保这两者。

· 视域变换(View-change)

FBFT沿用了PBFT的视域变换,即在正常情况下并不更换领导节点,仅有当超过2f+1个节点发起视域变换才会更迭领导节点。视域变换虽然本身是一个能够替换作恶领导节点的机制,但它同时要求协议必须具有3个阶段,才能保证协议的安全性(即不分岔)。

· 领导节点轮替(Rotating Leader)

HotStuff另一方面则引入了领导节点轮替的机制,在每个回合都更换领导节点,如此来回避视域变换高额的通讯成本。领导节点轮替也常见于许多BFT家族的协议,算是目前保障安全性机制的主流。

· 混合式(Hybrid)

比原链BBFT则取各家所长,同时应用了视域变换与领导节点轮替,等于是上了双重保险。

不过值得注意的是,目前的BBFT技术白皮书仅有一轮投票的模型,并未提出两轮投票/三阶段共识的模型。另外,领导节点轮替的顺序也将基于各节点的权益(Stake),若节点出现违反协议的行为则该节点会遭受惩罚。

BBFT的挑战

综合以上的分析与比较,BBFT目前有几个显著的挑战。首先,是最小生成树的产生方式,如何同时兼顾去中心化与效率?其次是BBFT仅采取单轮投票作为共识,在引入视域变换的情况之下,可能会发生分岔,这样的网络也会遭受日蚀攻击的威胁。最后,引入门坎签章的前提下,势必需要引入分布式私钥生产协议(Distributed Key Generation)以共同生成私钥,这部分于技术白皮书中尚未提及,却是可能造成瓶颈的潜在因子。

结语

本篇文章简介了PBFT的特性及其效能问题,并比较了FBFT/HotStuff/BBFT等协议针对效能问题的解决思路,最后归纳出比原链BBFT的未来挑战,希望能帮助读者更理解BBFT的精髓。(Juin Chiu)

关键词: 比原链 BBFT PBFT

精选 导读

募资55亿港元万物云启动招股 预计9月29日登陆港交所主板

万科9月19日早间公告,万物云当日启动招股,预计发行价介乎每股47 1港元至52 7港元,预计9月29日登陆港交所主板。按发行1 167亿股计算,万

发布时间: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情况曝光 隐形重仓股多为高端制造业

随着半年报披露收官,公募基金二季度持股情况曝光。截至今年二季度末,公募基金全市场基金总数为9794只,资产净值为269454 75亿元,同比上

发布时间: 2022-09-02 10:45
资讯   2022-09-02

又有上市公司宣布变卖房产 上市公司粉饰财报动作不断

再有上市公司宣布变卖房产。四川长虹25日称,拟以1 66亿元的转让底价挂牌出售31套房产。今年以来,A股公司出售房产不断。根据记者不完全统

发布时间: 2022-08-26 09:44
资讯   2022-08-26

16天12连板大港股份回复深交所关注函 股份继续冲高

回复交易所关注函后,大港股份继续冲高。8月11日大港股份高开,随后震荡走高,接近收盘时触及涨停,报20 2元 股。值得一提的是,在7月21日

发布时间: 2022-08-12 09:56
资讯   2022-08-12

万家基金再添第二大股东 中泰证券拟受让11%基金股权

7月13日,中泰证券发布公告,拟受让齐河众鑫投资有限公司(以下简称齐河众鑫)所持有的万家基金11%的股权,交易双方共同确定本次交易的标的资

发布时间: 2022-07-14 09:39
管理   2022-07-14

央行连续7日每天30亿元逆回购 对债市影响如何?

央行12日再次开展了30亿元逆回购操作,中标利率2 10%。这已是央行连续7日每天仅进行30亿元的逆回购缩量投放,创下去年1月以来的最低操作规

发布时间: 2022-07-13 09:38
资讯   2022-07-13

美元指数创近20年新高 黄金期货创出逾9个月新低

由于对美联储激进加息的担忧,美元指数11日大涨近1%创出近20年新高。受此影响,欧美股市、大宗商品均走弱,而黄金期货创出逾9个月新低。美

发布时间: 2022-07-13 09:36
资讯   2022-07-13

美股三大股指全线下跌 纳斯达克跌幅创下记录以来最大跌幅

今年上半年,美股持续回落。数据显示,道琼斯指数上半年下跌15 3%,纳斯达克综合指数下跌29 5%,标普500指数下跌20 6%。其中,纳斯达克连续

发布时间: 2022-07-04 09:51
推荐   2022-07-04

融资客热情回升 两市融资余额月内增加超344亿元

近期A股走强,沪指6月以来上涨4%,融资客热情明显回升。数据显示,截至6月16日,两市融资余额1 479万亿元,月内增加344 67亿元,最近一个半

发布时间: 2022-06-20 09:41
资讯   2022-06-20

4个交易日净买入超百亿元 北向资金持续流入A股市场

北向资金净流入态势延续。继6月15日净买入133 59亿元后,北向资金6月16日净买入44 52亿元。自5月27日至今,除6月13日以外,北向资金累计净

发布时间: 2022-06-17 09:37
推荐   2022-06-17