主页 > imtoken.im官网 > 从0到1理解拜占庭容错共识机制

从0到1理解拜占庭容错共识机制

imtoken.im官网 2023-10-02 05:08:44

共识机制是区块链的核心。 我们知道EOS、Hyperledger、Stellar等知名项目都采用了BFT(拜占庭容错)共识机制。 那么,BFT到底是什么? 与其他共识机制相比,有哪些优势和特点?

1、什么是共识机制?

所谓共识机制就是区块链中的节点,包括诚实节点和恶意节点比特币共识机制是什么,就如何写入区块达成共识。

我们以大家最熟悉的比特币为例。 因为比特币的奖励,矿工每十分钟就会争夺一次预定权。 平心而论,比特币采用PoW(工作量)证明的共识机制,即通过增加算力来增加获得记账权的概率。

PoW 的容错率为 50%,这意味着只要半数以上的节点是诚实的,就可以保证区块链数据的有效性。 但是,PoW 存在出块速度慢、吞吐量低、功耗高等局限性。 因此,PoS、BFT等共识机制也正在被广泛使用。

2.拜占庭原理

接下来,让我们回到中世纪的西方世界。 想象一下,强大的拜占庭帝国的几支军队在敌方城市外扎营,每支军队都由自己的将军指挥,他们之间只能通过信使交流。 在观察敌人之后,他们必须决定一个共同的行动计划。 然而,其中一些将军可能是叛徒,试图阻止忠诚的将军达成交易。 将军必须决定何时攻城,但他们需要大部分军队同时进攻才有可能取胜。

比特币共识机制是什么_比特币挖矿机制pow_简述比特币发行机制

比特币共识机制是什么_简述比特币发行机制_比特币挖矿机制pow

联攻必胜,不联攻必败

为了赢得战斗,将军们必须有一个算法来确保:

(a) 所有忠诚的将军都采取相同的行动计划;

(b) 少数叛徒不能使忠诚的将军采取错误的计划。

忠诚的将军会按照算法说的去做,但叛徒可以为所欲为。 无论叛徒做什么,算法都必须保证上述条件(a)。 忠诚的将军们不仅应该就协议达成一致,还应该就合理的计划达成一致。

比特币共识机制是什么_简述比特币发行机制_比特币挖矿机制pow

这里我们把这个寓言放到区块链中:故事中的“将军”就是参与运行区块链分布式网络(数据库)的各方,他们来回沟通的使者就是他们跨网络沟通的方式。 “忠义将军”的共同目标是擒敌——写下大家公认的区块记录。

在我们的寓言中,有效信息将是决定支持攻击的正确机会。 对于忠实的区块链参与者,他们感兴趣的是确保区块链(数据库)的完整性,以便只接收到正确的信息。 另一方面,一个叛逆的将军是任何试图伪造区块链(数据库)信息的人,其潜在动机有多种:可能是试图花费他实际上并不拥有的数字货币,或者不想履行先前已签署和提交的智能合约等中规定的义务。

区块链的强大之处在于它需要在可能存在或必然存在“恶意节点”的分布式网络中达成正确的共识——就像拜占庭将军一样。

各种计算机科学家从寓言中概述了拜占庭将军问题的一些潜在解决方案,而用于在区块链系统中建立共识的实用拜占庭容错算法(PBFT)就是这些潜在解决方案之一。 简单地说,PBFT 的工作原理如下:每个“将军”都维护一个内部状态(持久化的特定信息或状态),当“将军”收到一条消息时,他们使用该消息结合他们的内部状态来运行计算或操作. 这种计算反过来又告诉“将军”如何思考这些信息。 然后,在对新消息做出个人决定后,这个“将军”与系统中的所有其他“将军”共享该决定,最后根据所有将军提交的所有决定确定一个共识决定。

该算法的研究结果表明,当“叛将”少于将军总数的三分之一时,“忠臣”将能够做出正确的决策并达成共识。

让我们看看下面的这个例子。 一共有三个将军,其中一个是统帅将军A,另外两个是普通将军B和C。当A告诉B进攻,C撤退时,B和C互相发消息,因为他们是既忠诚又会忠实地转发A的信息。 这样 B 和 C 都无法确定谁是叛徒 - 因为不确定 A 是否是叛徒,或者是否有另一名普通将军伪造了据称来自 A 的信息。可以证明,如果 n 是总数将军的数量,t是其中叛徒的数量,那么拜占庭将军问题只有在n>3t且通信是同步的情况下才能解决。

比特币挖矿机制pow_比特币共识机制是什么_简述比特币发行机制

3.结论

与最传统的PoW共识机制相比,PBFT具有以下优势:

1、效率高

PBFT需要所有节点之间进行二对二通信,所以这种通信机制要求节点数量不能太多,通常是几十个。 在这种模式下,节点达成共识的速度更快,延迟更低。

2. 高吞吐量

节点数量的控制避免了PBFT网络像大型PoW网络一样局限于处理能力最低的节点; 因此,整个网络的吞吐量大大提高。

比特币挖矿机制pow_简述比特币发行机制_比特币共识机制是什么

3、节能

无需使用工作量证明的耗电模式,更加节能环保。

所谓得与失,相对而言,PBFT有以下缺点:

1.可扩展性和分散性弱

由于节点数量的限制,可扩展性较弱; 同时,节点需要选举或许可比特币共识机制是什么,不像 PoW 节点可以自由加入,去中心化程度较弱。

2.容错性低

比特币挖矿机制pow_简述比特币发行机制_比特币共识机制是什么

PoW网络的容错率为50%,即必须防止51%的攻击; 而PBFT的容错能力只有三分之一,即34%的恶意节点可以发起攻击。

简述比特币发行机制_比特币共识机制是什么_比特币挖矿机制pow

表共识算法对比 来源:中国信息通信研究院,2018年8月

最后附上目前业界主流共识算法的对比表。 由于写的仓促,难免有不全之处,欢迎大家留言讨论。 如果大家感兴趣,后续会继续推出更深入的解析。

祝您国庆假期愉快!

参考:

本文首发于:币投财经