BFT:「技术篇」拜占庭容错共识算法介绍

1.前言

区块链的共识算法中,除了常见的工作量证明和权益证明外,还有拜占庭容错共识算法。

拜占庭容错共识算法是由拜占庭将军问题衍生出来的共识算法。

拜占庭将军问题:

拜占庭将军问题是LeslieLamport在10世纪80年代提出的一个假想问题。拜占庭是东罗马帝国的首都,由于当时拜占庭罗马帝国国土辽阔,每支军队的驻地分隔很远,将军们只能靠信使传递消息。发生战争时将军们必须制订统一的行动计划。然而,这些将军中有叛徒,叛徒希望通过影响统一行动计划的制定与传播,破坏忠诚的将军们一致的行动计划。因此,将军们必须有一个预定的方法协议,使所有忠诚的将军够达成一致。而且少数几个叛徒不能使忠诚的将军做出错误的计划。也就是说,拜占庭将军问题的实质就是要寻找一个方法,使得将军们在一个有版徒的非信任环境中建立对战斗计划的共识。

Polygon创始人:POL是再质押领域的重大创新:8月29日消息,Polygon创始人Sandeep Nailwal在社交平台表示,POL是MATIC的大规模技术升级,在不增加再质押风险的情况下实现了多链质押的好处。

Polygon 2.0计划将 Polygon 生态从单链扩展到多个可以互通的L2链,例如Polygon POS将成为其中一个L2链。POL代币的设计目的是支持验证人在Polygon网络内扮演更多角色和参与更多链。持有POL的人可以将POL质押在中枢来验证任何L2链,同时也可以参与其他如生成证明等工作获得更高回报,而无需再次转让质押资产。POL在重新抵押方面有两个维度的创新:

1、POL支持封装再质押,避免依赖第三方;

2、POL不仅可用于确保链的安全,还可确保 Agg 层、DAC 等的安全。[2023/8/29 13:03:46]

在分布式系统中,特别是在区块链网络环境中,也和拜占庭将军的环境类似,有运行正常的服务器,还有故障的服务器,有破坏者的服务器,即拜占庭错误节点。共识算法的核心是在正常的节点间形成对网络状态的共识。

币安和相关实体2019年至今通过Silvergate和Signature转账约700亿美元:6月8日消息,据彭博社援引法院文件报道,从 2019 年到今年,币安和相关实体通过现已倒闭的 Silvergate Bank 和 Signature Bank 的账户转账了约 700 亿美元,包括大量资金在几天内流入和流出。其中 Silvergate 为币安相关方处理了超过 500 亿美元,而 Signature 处理了超过 190 亿美元,部分资金流向了外国实体,包括银行对账单、存款、作废的支票和电汇。[2023/6/8 21:23:30]

2.拜占庭容错共识算法的版本分类

拜占庭容错共识算法有3种版本,每种版本都具有各自的优缺点。这些版本分别是:

1)实用拜占庭容错

2)联邦拜占庭协议

3)授权拜占庭容错算法

3.各种拜占庭容错共识算法版本的优缺点

下面来看看它们的优缺点:

3.1实用拜占庭容错

Voyager今日转出3580万美元的加密货币:金色财经报道,据推特加密KOL@Bit余烬监测数据显示,Voyager今日转出价值3580万美元的加密货币,分别将7000枚ETH(约合1094万美元)、622万枚MATIC(约合703万美元)转入Coinbase,将7000枚ETH(约合1094万美元)、250万枚FTM(约合101万美元)、200万枚IOTA(约合42万美元)、40万枚ONT(约合9万美元)转入Binance US,将3000亿枚SHIB(约合333万美元)、1164枚ETH转入加密货币做市商Wintermute,将10万枚DYDX转入Kraken(约合22万美元)。不过Voyager资产目前的转出还在继续。

此前报道,法官批准Binance.US收购Voyager Digital资产,但交易仍需清除监管障碍。[2023/3/8 12:48:35]

优点:高速、可扩展。

缺点:通常用于私有网络和许可网络。

采用者:HyperledgerFabric、Ripple

CoinShares:上周数字资产投资产品净流入880万美元:12月12日消息,据CoinShares报告显示,上周数字资产投资产品净流出880万美元,其中比特币投资产品净流入1710万美元,以太坊投资产品净流出240万美元,做空比特币的投资产品净流出390万美元。此外,上周数字资产投资产品交易量为6.77亿美元,创下近两年新低。[2022/12/13 21:40:15]

实用拜占庭容错PBFT是首个解决拜占庭将军问题的方案,当前已被HyperledgerFabric采用。PBFT使用了较少的预选定将军数,因此运行非常高效。它的优点是高交易通量和吞吐量,但是不足之处在于是中心化的,并用于许可网络。使用拜占庭容错机制是一种采用“许可投票、少数服从多数”来选举领导者并进行记账的共识机制,该共识机制允许拜占庭容错,允许强监督节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错率为33%。换句话说,PBFT假设区块链上总的节点数是3f+1个,那么网络中可以容忍整个网络中最多f个节点出现拜占庭错误而不影响正确的共识。

新火科技(原称“火币科技”)宣布正式完成更名:11月4日消息,数字资产服务平台新火科技控股有限公司(“新火科技”或“公司”,股票代码:1611.HK)宣布,继公司于日前股东特别大会通过有关更改公司名称的特别决议案后,近日获英属处女群岛公司事务注册处发出的更改名称证明书,公司将正式更名为新火科技控股有限公司(“新火科技”,英文全称New Huo Technology Holdings Limited,简称“New Huo Tech”)。与此同时,新火科技旗下的全资附属公司及相关业务将同步更名。[2022/11/4 12:17:25]

这里简单对瑞波Ripple介绍一下:

在Ripple的共识算法中,将军是Ripple基金会预先选定的,即参与投票节点的身份是事先知道的,因此,算法的效率比PoW等匿名共识算法要高效,交易的确认时间只需几秒钟。当然,这点也决定了该共识算法只适合于权限链的场景。Ripple共识算法的拜占庭容错能力为/5,即可以容忍整个网络中20%的节点出现拜占庭错误而不影响正确的共识。

瑞波共识算法使一组节点能够基于特殊节点列表形成共识。初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由该俱乐部51%的会员投票通过。共识遵循这些核心成员的“51%权利”,外部人员则没有影响力。由于该俱乐部由中心化开始,它将一直是中心化的,而如果它开始腐化,股东们什么也做不了。与比特币及Peercoin一样,瑞波系统将股东们与其投票权隔开,因此,它比其他系统更中心化。

顺便提一下,EOS公链除了使用DPoS外,也使用了拜占庭容错来加速区块的确认。所以,在区块的确认时间上,EOS比起它的前身比特股要快很多,几秒内就可以完成区块的确认。

3.2联邦拜占庭协议

优点:吞吐量、低交易开销和网络扩展性

采用者:Stellar

另一类拜占庭将军问题的解决方案是FBA,已被Stellar等代币使用。FBA的通用理念是每个拜占庭将军负责自身的链、消息一旦到来,通过排序建立事实。在Stellar中,任何人都可以成为验证者,需要用户选择去相信哪个验证者

这里简单对恒星Stellar介绍一下:

恒星Stellar项目是使用恒星共识来实现的。恒星共识是基于联邦拜占庭共识。恒星共识协议提供了一种不依赖闭合系统实现准确记录金融交易而达成共识的方法。

恒星共识协议具有一组可验证的安全属性,这些属性根据如何安全地保持活力而做了优化。一旦出现分区或不当行为节点,它将会终止网络过程,直至达成共识。SCP同时具备四种属性:去中心控制、低延迟、灵活信任机制和渐进安全。

目前比较火的免费手机挖矿项目PiNetwork是基于恒星共识协议和联邦拜占庭协议的算法进行开发(官网minepi.com,邀请码powervip)。关于PiNetwork更多的资料可以私聊我

网上相关的资料不是很详实,根据网上查到的资料和我个人的理解,实用拜占庭容错和联邦拜占庭协议这2种共识算法的区别在于:

PBFT是单邦制,FBA是联邦制。

另外,PBFT的节点是预先选定或通过授权的,适用于私链和联盟链。FBA是一个完全可以自由加入成为节点或退出节点的共识方式,每个邦内的白名单中节点通过投票选举产生。因此,FBA比PBFT的去中心化程度更高,但是牺牲了一定的性能,适用于公链。

如果要进一步验证上面的观点,最好的方法还是去查阅官方的文档甚至是代码。

3.3授权拜占庭容错算法

优点:快速,可扩展。

缺点:每个人都争相成为根链。其中可能存在多个根链。

采用者:Neo

授权拜占庭容错算法,简称dBFT,是一种支持通过代理投票实现大规模参与共识的拜占庭容错共识算法。在国产第一条公链小蚁Neo中,令牌持有者可以通过投票选取其支持的bookkeeper。之后,选定的bookkeeper组采用BFT算法达成共识,并生成新区块。Neo网络中的投票是实时的,而非因人而异的。

dBFT可为具有个共识节点的共识系统提供f=n?13容错。这种容错也涵盖了安全性和可用性、不受将军和拜占庭错误影响,并且适合任何网络环境。dBFT具有很好的最终性,这意味着一旦最终确认,区块将不可分叉,交易将不可再撤销或是回滚。

Neo的dBFT机制生成一个区块需15到20秒钟。交易吞吐量测定约为1000TPS。这对于公共区块链而言,这是很好的性能。通过一定优化,dBFT具有达到一万TPSS的潜力,这样就可支持大规模的商业应用。

dBFT中加入了数字身份技术,这意味着bookkeeper可以是真实的个人,也可以是某些机构。因此,dBFT根据存在于其本身之中的司法判决,可以冻结、撤销、继承、检索和拥有代币兑换权。它有利于实现合规金融资产在Neo网络中的注册。Neo网络从设计上,就是在必要时为此提供支持。

同样是为了解决拜占庭将军问题,授权拜占庭容错机制,是一种在Neo区块链内部实现的保证容错的共识算法。

在这个机制当中,存在两个参与者,一个是专业记账的“记账节点”,一个是系统当中的普通用户。

普通用户基于持有权益的比例来投票决定记账节点,当需要通过一项共识时,在这些记账节点中随机推选出一名发言人拟定方案,然后由其他记账节点根据拜占庭容错算法,即少数服从多数的原则进行表态,如果超过66%的节点表示同意发言人方案,则共识达成;否则,重新推选发言人,重复投票过程。

所以说,dBFT机制实际使用了一种迭代共识的方法来保证系统达成一致决定。

这种机制的缺点在于,当系统中有超过三分之一的记账节点停止工作时,整个区块链网络将无法提供正常的服务;当超过三分之一的节点联合作恶时,区块链将有可能发生分叉。

----------------------------------------------------------------------------------

我是powervip,区块链程序员,公众号:区块链战斗机

原创作品,版权所有,侵权必究!商业转载请联系作者获得授权;非商业转载需保留作者署名信息,注明出处并保留原文链接。

如果你觉得这篇文章写得还可以,请帮忙点个赞,谢谢!

你的鼓励,我的动力!

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

地球链

[0:15ms0-0:524ms