什么是拜占庭容错(BFT)?

中级Apr 05, 2023
拜占庭容错(BFT)是在区块链网络中使用的一种容错共识机制,可让验证者之间快速达成安全可靠的协议。
什么是拜占庭容错(BFT)?

加密货币是在点对点网络上运行的去中心化数字资产,即系统的安全性和完整性由网络中的节点负责维护。这些网络面临的主要挑战之一是共识问题,即如何确保所有节点就系统状态达成共识。拜占庭容错(BFT)共识机制能帮助应对这一挑战。在本文中,我们将讨论什么是BFT、它是如何工作的以及它的优势。

什么是共识?

共识,尤其是在加密货币中,是去中心化网络的重要组成部分。简单来说,共识是指网络中由个人或节点组成的一个群体就特定决策或交易达成一致的过程。在加密货币中,共识十分重要,因为它负责确保所有节点都同意系统状态,并且没有恶意行为者可以篡改网络。

由于种种原因,在去中心化网络中达成共识是一件不容易的事情。首先,去中心化网络中没有中央组织机构或决策者,因此节点之间很难建立信任。其次,网络中的节点可能在全球不同的地方并且具有不同的利益,因此很难就特定决策达成一致。最后,网络将容易受恶意行为者的攻击,他们破坏共识过程并操纵系统以谋取利益。

在去中心化网络中达成共识,面临的关键挑战之一是“拜占庭将军”问题。“拜占庭将军”是一个假设场景,其中一组将军必须就特定行动方案达成协议,但一些将军可能是背叛该团体的叛徒。在这种情况下,就必须确保所有忠诚的将军都同意采取一致的行动,以防止叛徒破坏系统。

在去中心化网络中,拜占庭将军问题被称为拜占庭容错(BFT)问题。BFT是指去中心化网络在存在恶意节点或故障的情况下仍能达成共识的能力,是区块链技术的重要组成部分,可确保所有节点就系统状态达成共识并确保交易的安全。

为能在去中心化网络中达成共识,人们已开发了不同的共识机制,其中包括工作证明 (PoW)、权益证明 (PoS) 和委托权益证明 (DPoS)。每种机制都各有利弊,能适用于不同的区块链应用程序。

在PoW中,矿工竞相解决复杂的数学问题,以验证交易并向区块链添加新区块。第一个解决问题的矿工能获得奖励,并可将区块添加到链中。然而,PoW需要大量的计算能力,因此耗能大且速度慢。

在PoS中,网络根据其持有的代币数量来选择验证者。这些验证着负责验证交易并向链中添加新块。与PoW相比,PoS能耗更低、速度更快,但容易受到持有大量代币的恶意行为者的攻击。

DPoS类似于PoS,但其负责验证交易并向链中添加新区块的验证者由持币者选举产生。DPoS比 PoW和PoS更快、更节能,但容易受到验证者之间串通舞弊的影响。

虽然这些共识机制各有优势,但它们可能不适合所有区块链应用程序,尤其是不适用于那些需要高级别安全性和可靠性的应用程序。此时,BFT就派上用场了,它提供了一种更强大、更安全的机制,能在去中心化网络中达成共识。

什么是拜占庭容错(BFT)?

拜占庭容错(BFT)是一种共识机制,能使去中心化网络在存在故障或恶意节点的情况下达成共识。 1982年,Leslie Lamport、Robert Shostak和Marshall Pease在他们题为《拜占庭将军问题》的论文中首次提出BFT。他们因拜占庭将军问题有感而作此论文。拜占庭将军是一种假设情况,假设将军们必须就特定的行动方案达成共识,但一些将军可能是背叛该组织的叛徒。

BFT的工作原理是,在特定决定或交易被视为有效之前,确保网络中的所有节点就该决定或交易达成共识。在基于BFT的系统中,所有节点相互通信并交换消息以达成协议。每个节点都有区块链或分类帐的副本,并在将交易添加到链之前验证交易。

为保证网络能够抵住故障或恶意节点,BFT需要一定数量的节点在决定或交易被视有效之前就其达成共识。这个数量被称为拜占庭容错阈值,会根据网络的大小和复杂性变化。例如,在具有3个节点的网络中,阈值可能是2,也即这两个节点必须就一项决定或交易达成一致才能被视为有效。

BFT可通过实用拜占庭容错(PBFT)、联邦拜占庭协议(FBA)和ByzCoin等多种方式实现。PBFT是一种基于BFT的共识机制,在许可区块链网络中获得广泛运用。PBFT的工作原理是,将节点划分为主节点、备份节点和副本节点等不同的角色。主节点负责收集交易请求并排序,然后发送给备份节点进行验证。备份节点验证交易后就会将交易的批准发送回主节点,然后主节点将批准的交易广播到副本节点以供执行。

FBA是一种基于BFT的共识机制,在去中心化系统(如Stellar和Ripple)中获得广泛运用。其工作原理是,允许节点对特定决策或交易进行投票。一旦一定数量的节点同意该决定,则该决定被视为是有效的。

ByzCoin也是一种基于BFT的共识机制,用于ByzCoin区块链网络。它的工作原理是,允许节点对特定交易或决策进行投票。一旦一定数量的节点就交易达成共识,则该交易被视为有效并被添加到区块链中。

拜占庭容错是如何工作的?

在拜占庭容错(BFT)系统中,验证器在确保网络达成共识方面发挥着至关重要的作用。在将交易和区块添加到区块链之前,验证者负责对其进行验证。这些验证器是根据某些标准(如网络中的声誉或权益)从网络节点中选出的。

选择出验证器后,块验证过程就开始了。在BFT中,块通过多步骤过程进行验证。首先,验证者提出一个区块,然后将其广播给其他验证者进行验证。每个验证者验证该块并将其验证的结果(批准或拒绝)广播给其他验证者。

为达成共识,一定数量的验证者必须批准该区块。该数量通常设置为网络中验证者总数的三分之二。若达到这个数量,该块将立即被视为有效并添加到区块链中。

BFT中的块验证过程具有容错能力,也即是说它能抵住错误或恶意验证器的存在。如果发现验证者是恶意的,则可将其从网络中删除,并选择新的验证者来替换它。

BFT提供的主要好处之一是最终性,即一旦某个块被添加到区块链中,它就不能被删除或更改。在其他共识机制(如POW)中,一旦以一定的置信度将块添加到链中,这些块就被视为是有效的;但如果恶意行为者获得了对网络的控制权,那么块就有可能被删除或更改,虽然这种可能性很小。然而,BFT消除了这中种可能性,旦某个块被添加到链中,它就是最终的并且不能更改。

为了在拜占庭容错中实现最终性,一个区块必须得到一定数量验证者的确认。区块被确认后,它就立即被视为是最终的并且不能更改。这为网络提供了高级别的安全性,让网络能适用于需要高级别信任和安全性的应用程序。

拜占庭容错有什么优点?

与其他共识机制相比,拜占庭容错(BFT)有多项优势,最显著之一是它能够快速可靠地达成共识。这使其能适用于需要快速交易处理时间和高可靠性的应用程序,例如金融交易和供应链管理。

BFT的另一个优势是它能够抵御恶意行为者的攻击。 BFT具有容错性,这意味着即使一定数量的验证者受到损害,它也可以继续运行。这赋予其高度安全性和抗攻击性,受到了需要高安全级别应用程序的欢迎。

BFT还具有高度可扩展性,即它能处理大量交易和用户。这是通过使用并行处理和分片技术实现的,这些技术允许网络同时处理多个事务。

BFT在现实世界中的用例有Ripple协议和Tendermint共识算法。Ripple使用BFT的一种变体,称为 Ripple协议共识算法(RPCA),以在其验证者之间达成共识。因此,Ripple每秒可处理数千笔交易,成为了世界上最快、最可靠的支付网络之一。

Tendermint是基于BFT的共识算法的另一个用例,被运用于多个区块链网络,包括Cosmos和Binance Smart Chain。Tendermint具有高度可扩展性,每秒能够处理数千个事务,因此适合在高流量应用程序中使用。

BFT还有一个实际用例,即Hyperledger Fabric区块链平台。Hyperledger Fabric使用BFT的修改版本——称为实用拜占庭容错 (PBFT)——来在其验证器之间达成共识。因此,Hyperledger Fabric成为需要高级别安全性和可扩展性的企业应用程序的热门选择。

总结

拜占庭容错是一种重要的共识机制,能帮助确保去中心化网络的安全性和完整性。在去中心化系统中,它具有处理拜占庭故障和达成共识的能力,是许多区块链的热门选择。随着加密货币的不断发展,拜占庭容错很可能仍然作为共识机制发展的重要组成部分存在。

作者: Matheus
译者: cedar
文章审校: Matheus、Edward
* 投资有风险,入市须谨慎。本文不作为Gate.io提供的投资理财建议或其他任何类型的建议。
* 在未提及Gate.io的情况下,复制、传播或抄袭本文将违反《版权法》,Gate.io有权追究其法律责任。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
立即注册