关键要点

  • 拜占庭容错(BFT)是一种特性,它使分布式系统(包括区块链)即使在某些节点失败或表现不诚实的情况下仍能继续运作。

  • 这个概念来自“拜占庭将军问题”——一个思想实验,用来说明独立行动者如何在部分参与者可能不可靠的情况下达成一致。

  • 大多数区块链使用诸如工作量证明(PoW)或权益证明(PoS)之类的共识算法来实现BFT并保障网络安全。

  • 通常,要让BFT成立,网络至少需要三分之二的参与者保持诚实。

Binance Academy courses banner

简介

自2008年比特币以点对点电子现金系统上线以来,区块链依赖一个关键特性:在不需要信任任何单个参与者的前提下,让众多独立参与者能够达成一致。这个问题比听起来更难,尤其是当部分参与者可能表现得不可预测或不诚实时。

用于解决这一挑战的概念称为拜占庭容错(Byzantine fault tolerance)。理解它有助于解释为何即使面对恶意参与者或硬件故障,区块链网络仍能安全运行。

什么是拜占庭将军问题(Byzantine Generals' Problem)?

拜占庭将军问题最早在1982年被提出。它使用军事思想实验来说明:在一些参与者无法被信任的情况下,分布式系统中达成一致有多困难。

想象一群将军:每位将军分别指挥一支独立的军队,围攻一座城市。他们必须就一个计划达成一致:一起进攻,或一起撤退。如果他们各自为政,就会失败。问题在于他们只能通过信使进行沟通,而其中一些将军可能是叛徒,会发送相互冲突或虚假的信息。

核心难题是:在无法识别谁在撒谎的情况下,忠诚的将军们如何就一个计划达成一致?在区块链语境中,每位将军代表一个网络节点,“进攻或撤退”的决定被替换为:就哪些交易是有效的达成一致。

原始研究得出的结论是:一个BFT系统至少需要三分之二的参与者诚实。如果三分之一或更多的参与者出现故障或恶意行为,就不可能达成可靠共识。

拜占庭容错(BFT)

拜占庭容错是指:当某些组件发生故障或表现恶意时,系统仍能继续正确运行。BFT系统能够在不损害整个网络完整性的前提下,容忍一定数量的故障节点。

在实践中,这意味着BFT区块链可以处理诸如节点崩溃、丢失连接、发送重复消息,或刻意试图操纵网络等场景。只要故障节点的比例保持在可接受阈值之下,系统就能得到正确结果。

构建BFT系统有多种方式。区块链采用哪一种方案取决于其设计优先级,比如速度、去中心化和安全性。这也推动了不同共识算法的发展。

区块链共识算法

共识算法是区块链用来对账本状态达成一致的机制。最常见的做法是工作量证明(PoW)和权益证明(PoS)。

比特币使用PoW。中本聪(Satoshi Nakamoto)将其改造为现在所说的“中本聪共识”(Nakamoto consensus)。在该模型下,节点竞争去解决一个计算成本高昂的谜题,以添加一个新区块。由于完成这项工作的成本很高,在没有控制超过全网算力一半的情况下,恶意参与者重写区块链在经济上并不划算。这类攻击被称为51%攻击。

PoW并非对拜占庭故障100%免疫,但挖矿成本以及区块链的密码学安全性使其在实践中高度可靠。

PoS以不同方式实现类似目标。验证者不进行计算工作,而是将加密货币作为抵押品。若验证者行为不诚实,可能会导致抵押被损失,从而形成强有力的经济激励,促使其诚实参与。 

以太坊在2022年切换到PoS,并且其最终性(finality)机制借鉴了Tendermint等协议中使用的BFT原则。这些协议允许网络在足够多验证者完成签署后将区块确认并视为最终,从而相比PoW链中的概率性最终性,在速度与安全性方面都有所提升。

常见问题

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

拜占庭容错(BFT)意味着:即使某些组件表现得不可预测或不诚实,系统仍能继续正确运作。在区块链中,这表示网络即便在部分节点发送虚假或相互冲突的信息的情况下,也能对有效交易达成共识。

为什么称为拜占庭容错(Byzantine fault tolerance)?

该名称来源于“拜占庭将军问题”(Byzantine Generals' Problem),这是1982年的一个思想实验:用军事将军的故事来描述在一些参与者无法被信任时,如何达成一致的挑战。在计算机领域,“拜占庭(Byzantine)”指的是任意或恶意的故障,而不是简单的崩溃(crash)。

要让BFT生效,网络中需要有多少参与者是诚实的?

通常,一个BFT系统至少需要有三分之二的参与者诚实。如果网络中有三分之一或更多的部分表现出恶意,或发生故障,大多数BFT协议就无法再保证得到正确的结果。这个阈值会因具体使用的共识协议而略有差异。

工作量证明(PoW)是拜占庭容错的吗?

工作量证明并非“完美”的拜占庭容错,但它通过挖矿的高成本实现了实际层面的强韧性。攻击者需要控制超过全网总算力的50%,才能持续操纵区块链,因此此类攻击会变得昂贵且难以长期维持。

收尾想法

拜占庭容错是区块链设计中的基础概念。它解释了为什么像比特币和以太坊这样的网络,即便参与者是匿名的、并且有人可能试图作弊,仍能可靠运行。无论是通过工作量证明(PoW)、权益证明(PoS),还是现代链中使用的更新型BFT协议,目标都是一致的:让彼此独立的节点能够在不需要彼此个体信任的情况下就“真相”达成一致。

延伸阅读

  • 什么是区块链共识算法?

  • 什么是工作量证明(PoW)?

  • 什么是权益证明(PoS)?

  • 什么是51%攻击?


免责声明:本内容仅以“现状”提供给您,用于一般信息与教育目的,不作任何形式的陈述或保证。不得将其理解为金融、法律或其他专业建议,也不意在推荐购买任何特定产品或服务。您应向相关合格的专业顾问寻求独立建议。如内容由第三方贡献者提供,请注意其表达的观点属于该第三方贡献者,并不一定反映币安学院(Binance Academy)的观点。数字资产价格可能波动。您的投资价值可能涨也可能跌,且您不一定能取回所投入的金额。您的投资决策完全由您自行负责,币安学院不对您可能产生的任何损失承担责任。欲了解更多信息,请参阅我们的使用条款(Terms of Use)、风险警示(Risk Warning)及币安学院条款(Binance Academy Terms)。