比特币:一文详解联邦拜占庭协议

原文作者:ShaanRay

原文标题:《FederatedByzantineAgreement》

原文译者:Tan.Z|H.ForestVentures

推荐理由:拜占庭协议是了解区块链的基础,这个问题是由图灵奖获得者、分布式系统关键奠基人——Lamport大神所提出的。用于解释和解决去中心化共识问题。

随着区块链技术越来越受欢迎,开发人员越来越多地调整和试验共识机制。

达成共识的最传统方式是通过拜占庭协议。区块链上的节点通过就给定问题的解决方案达成共识来验证数据块。当某个最小数量的节点同意所提出的解决方案是正确的时候,就达成了拜占庭协议,从而验证了一个块并允许将其包含在区块链中。

安全的FBA协议。在FBA系统中,不必提前知道和验证每个节点,成员资格是开放的,控制是分散的。节点可以选择他们信任的人。系统范围的仲裁来自各个节点做出的决定。仲裁切片

法定人数是在系统内达成一致所需的节点数。FBA改为使用“仲裁切片”。仲裁切片是仲裁的子集,可以说服另一个特定节点同意。

一个节点可以依赖于许多切片,并且节点的选择可能取决于外部标准。例如,“节点X”可以说:“为了达成共识,我们必须从我们选择的五家银行中的三家节点中购买”。五家银行中的三家现在可以确定节点X是否同意。添加另一层复杂性节点X可能是另一个节点的仲裁切片的一部分。

如果将节点编程为依赖仲裁片,用户必须相信仲裁片足够值得信赖,如果它同意某事,则该节点肯定应该同意它。

法定人数交叉点

信任是在节点的配置文件中设置的。由于节点可能具有不同的配置文件,因此网络中的切片和仲裁可能会动态形成。一个好的仲裁共享节点,导致仲裁重叠。这种重叠称为“群体交叉”。当法定人数不相交时,系统最终会出现“不相交的法定人数”。不相交的法定人数是不可取的,因为它们中的每一个都可以独立地同时就矛盾的交易达成一致,从而破坏整体共识。

受阻状态与发散状态

区块链应该是快速和安全的。如果节点在达成协议的过程中被“阻塞”,区块链就会变慢。当区块链上的节点呈现与其他节点不同的值时,系统是“发散的”。发散系统比阻塞系统更危险:阻塞系统只是速度慢,但发散系统开始显示相互矛盾的数据。

FBA的优势

开放会员和去中心化控制

没有看门人或中央权威——单个节点可以决定他们信任谁来获取信息

选择每个节点信任谁的能力使网络去中心化

节点可以有多个切片

进入门槛低

面对故障时坚韧性

可以对节点进行编程以信任仲裁切片或外部源,具体取决于其不同时间的性能

单个节点的选择可以基于外部标准

结论

FBA分类帐可以是最新且准确的,而无需其所有节点都同意。相反,从每个节点的选择中会出现一个仲裁。

仲裁片可以说服单个节点达成一致,而仲裁片可以说服整个系统达成一致。如果一个节点发现一个特定的仲裁片完全值得信赖,它可以同意遵循该仲裁片同意的任何内容。

传统拜占庭协议系统与FBA系统的不同之处在于,在后者中,每个节点都选择自己的仲裁切片。

译者笔记:

PBFT中每一个子节点要与另外节点P2P同步共识,所以如果节点的数量增加,那么改链性能将会下降。不过在节点较少的区块链还是可以有很好的性能,而且有很低的分差几率。因此联盟链或斯链会有更多的应用,例如蚂蚁链和Fabric。

但是,在大规模扩张的公链里也有项目尝试采用PBFT。例如EOS采用DPOSABFT共识协议,波卡采用BABEGRANDPA的混合公式协议。这两条链在BFT共识前,先在节点中选择出参与共识的节点。这样可以减少节点数量,增加性能。因此笔者认为BFT协议可以在众多公链中也可以广泛应用。

关注我们:

我们的推特:@Forest_Ventures

我们的mirror:H.Forest

公众号:HForest

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:483ms