MonadBFT:下一代拜占庭容错共识协议

  • DAIC
  • 发布于 5天前
  • 阅读 6

本文深入探讨了 MonadBFT,这是一种下一代拜占庭容错(BFT)协议,它比现有解决方案提供更快的最终性、更高的吞吐量和更强的安全性。MonadBFT 通过线性通信复杂性、推测最终性和流水线处理等创新,解决了传统 BFT 共识机制的基本限制,实现了高吞吐量、低延迟和增强的安全属性。

共识是任何区块链的基础,即使在存在错误或恶意参与者的情况下,也能确保所有参与者就单一的事实来源达成一致。MonadBFT 引入了下一代拜占庭容错 (Byzantine Fault Tolerant, BFT) 协议,与许多现有解决方案相比,它具有更快的最终性、更高的吞吐量和更强的安全性。本文探讨了它的设计、创新和性能优势。

主要内容

  • 快速高效的最终性——单轮推测性最终性和仅两轮的完全最终性。

  • 具有流水线共识的高吞吐量——重叠的轮次使区块生产保持连续性。

  • 可扩展的验证器参与——线性通信复杂度支持大型验证器集。

  • 强大的安全性和活跃性——超时证书 (Timeout Certificates, TCs) 和 无认可证书 (No-Endorsement Certificates, NECs) 可防止尾部分叉并确保故障恢复。

  • 抗 MEV 且可问责——该设计减少了 MEV 漏洞并加强了验证器的可问责性。

在快速发展的分布式系统和区块链技术领域,共识机制是支撑网络中独立的节点就单一、一致的状态达成一致的支柱。该领域最关键的挑战之一是实现拜占庭容错 (Byzantine Fault Tolerance, BFT) ——即使在某些参与者失败或恶意行为时也能保持系统完整性的能力。

BFT 的重要性在去中心化网络中怎么强调都不为过。拜占庭 fault 是指向不同观察者呈现不同症状的任何 fault,因此检测和处理起来特别具有挑战性。BFT 的理论基础源于拜占庭将军问题,即多个将军必须协调一次攻击,尽管他们中的一些人可能是试图破坏任务的叛徒。

传统的 BFT 解决方案虽然在数学上是合理的,但在实践中却面临着包括可扩展性、延迟以及容易受到特定攻击媒介的影响等限制。MonadBFT 代表了该领域的重大进步,它将理论上的严谨性与实践上的优化相结合,从而提供了一种共识机制,该机制支持高吞吐量、低延迟和增强的安全性。

理解拜占庭容错

在深入研究 MonadBFT 的创新之前,必须了解拜占庭容错的基本原则。拜占庭容错是容错分布式计算机系统抵御组件故障的能力,其中这些故障可以表现为任意或恶意行为,而不是简单的崩溃故障。

BFT 系统的核心挑战在于,当多达三分之一的网络参与者可能不诚实地行为时,如何达成共识。Leslie Lamport 证明,如果我们有 3m+1 个正常工作的处理器,那么如果最多有 m 个处理器出现故障,就可以达成共识,这意味着严格超过三分之二的处理器应该是诚实的。这一数学约束构成了所有实际 BFT 实现的基础。

来源: https://www.mdpi.com/2079-9292/12/18/3801来源: https://www.mdpi.com/2079-9292/12/18/3801

传统的 BFT 共识机制,如 Castro 和 Liskov 在 1999 年提出的实用拜占庭容错 (Practical Byzantine Fault Tolerance, pBFT),为现代区块链共识奠定了基础。PBFT 基于基于领导者的投票协议运行。在该算法中,指定的领导者节点(称为主节点)提议一个区块,其他节点(称为副本)执行一个三阶段投票过程,包括预准备、准备和提交阶段。

然而,传统的 BFT 实现面临着一些限制,这些限制在大规模、高性能网络中变得尤为明显。这些限制包括二次通信复杂度、容易受到基于领导者的攻击以及在网络分区下维持安全性和活跃性方面的挑战。

MonadBFT:一种革命性的方法

MonadBFT 的出现是为了解决传统 BFT 共识机制的根本局限性。MonadBFT 代表了拜占庭容错共识的重大飞跃。它负责确保 Monad 网络高效、安全地对齐有效的拟议区块,同时支持 10,000+ tx/s 和亚秒级的最终确认时间,同时还支持大型共识节点集。

关键创新和架构

MonadBFT 引入了几个革命性的概念,使其与传统的 BFT 协议区分开来:

线性通信复杂度:与需要全互联通信(二次复杂度)的传统 BFT 系统不同,每一轮都遵循扇出 - 扇入模式。领导者使用 RaptorCast 将他们的提案发送给每个验证者以进行高效广播。验证者评估提案,并将签名的投票直接发送给下一个领导者。这种线性通信机制与其他依赖全互联(二次)通信的协议形成对比;它允许共识集进行扩展。

推测性最终性:MonadBFT 最令人印象深刻的特性之一是它能够在单轮中实现推测性最终性,在两轮中实现完全最终性。这意味着可以比传统系统更快地认为交易已完成,从而显着改善用户体验。

流水线处理:MonadBFT 作为流水线协议运行,其中多个共识轮次同时进行。每一轮,都会共享一个新的 payload 和关于先前提案的新 QC,从而允许推测性地最终确定父提案,并完全最终确定祖父提案。

快乐路径协议

MonadBFT 的正常运行遵循所谓的“快乐路径”——即所有领导者都是诚实的且网络状况良好的最佳情况。该协议通过一系列轮次运行,每一轮都有一个指定的领导者负责提议区块。

在一个典型的三轮序列中,该协议实现了卓越的效率:

  1. K 轮:Alice(领导者)提议一个新区块并将其广播给所有验证者
  2. K+1 轮:Bob 将上一轮的投票聚合到法定人数证书 (Quorum Certificate, QC) 中,并提出自己的区块
  3. K+2 轮:Charlie 执行相同的操作,此时 Alice 的区块变为最终确定

这种流水线方法确保验证者可以交错地将区块标记为已提议、已投票和已最终确定,从而实现连续的吞吐量。

来源: https://docs.monad.xyz/monad-arch/consensus/monad-bft#protocol-updates来源: https://docs.monad.xyz/monad-arch/consensus/monad-bft#protocol-updates

容错和恢复

MonadBFT 最重要的创新在于它如何处理“不快乐路径”——即领导者失败或恶意行为的情况。传统的流水线 BFT 协议遭受“尾部分叉”的困扰,即失败的领导者可能导致先前领导者的区块被丢弃,从而为最大可提取价值 (Maximal Extractable Value, MEV) 攻击创造机会。

MonadBFT 通过以下几种机制解决了这个问题:

超时证书 (TCs):当领导者失败时,验证者会发送包含其当前网络状态视图的超时消息。TC 包含来自所有贡献超时消息的验证者的所有提示信息。还会计算最高提示。

重新提议机制:当下一个领导者收到 TC 时,他们有义务重新提议超时中引用的最高有效区块,从而确保诚实的提案不会被任意丢弃。

无认可证书 (NECs):只有当大多数验证者证明他们没有看到特定区块时,领导者才能跳过重新提议,从而防止恶意领导者审查有效交易。

尾部分叉抵抗

MonadBFT 结合了所有这些特性,同时还能够抵抗尾部分叉,这是基于流水线领导者的 BFT 协议的一个关键弱点,即领导者可以分叉其前任的区块。这种抵抗对于维护交易顺序的完整性以及防止复杂的 MEV 攻击至关重要。

该协议通过其复杂的超时处理机制来实现这一点。MonadBFT No-Tail-Forking 属性的关键在于对错过 slot 情况的处理。直观地说,在 MonadBFT 中,TC 携带足够的信息来传播 Alice 的区块存在的知识,即使 Bob 将关于它的所有投票都列入黑名单。

CometBFT:已建立的标准

为了充分理解 MonadBFT 的创新,必须了解 CometBFT(以前称为 Tendermint),它是生产区块链系统中采用最广泛的 BFT 共识机制之一。CometBFT 是一种用于在多台机器上安全且一致地复制应用程序的软件。通过安全地,我们的意思是只要少于 1/3 的机器以任意方式发生故障,CometBFT 就可以工作。

在我们的博客文章中查找有关 CometBFT 的更多信息:加粗 “CometBFT:为多链世界提供动力的引擎”

CometBFT 架构

CometBFT 遵循更传统的 BFT 共识方法,建立在 Tendermint 共识算法之上。基于 Tendermint 共识算法的共识引擎确保在每台机器上以相同的顺序记录相同的交易。

该协议通过具有以下状态机特征运行:

两阶段投票:成功提交一个区块需要两个阶段的投票;我们称它们为 pre-vote 和 pre-commit。这里有一张情侣跳波尔卡舞的照片,因为验证者正在做类似于波尔卡舞的事情。当超过三分之二的验证者 pre-vote 同一个区块时,我们称之为 polka。

基于轮次的进展:CometBFT 通过轮次推进,验证者轮流提议区块。算法的参与者称为验证者;他们轮流提议交易区块并对其进行投票。区块以链的形式提交,每个高度一个区块。

应用接口:CometBFT 的主要优势之一是其模块化设计。应用接口,称为应用区块链接口 (Application BlockChain Interface, ABCI),将交易传递给应用程序进行处理,允许开发人员在利用经过验证的共识的同时构建自定义区块链应用程序。

来源: https://docs.cometbft.com/v1.0/explanation/introduction/来源: https://docs.cometbft.com/v1.0/explanation/introduction/

CometBFT 的局限性

虽然 CometBFT 已被证明在生产中是可靠的,但与 MonadBFT 等较新的协议相比,它面临着一些明显的限制:

通信复杂度:传统的基于 Tendermint 的系统需要更多的通信轮次和消息才能实现最终性,从而限制了吞吐量并增加了延迟。

区块时间限制:与更现代的协议相比,CometBFT 的安全机制通常会导致更长的区块时间,从而影响整体网络性能。

有限的可扩展性:随着验证者集的增长,CometBFT 中的通信开销显着增加,使其不太适合大规模网络。

对比分析:MonadBFT 与 CometBFT

MonadBFT 和 CometBFT 之间的差异突出了 BFT 共识机制的演变以及其设计中涉及的权衡。

性能指标

吞吐量:MonadBFT 的配置展示了卓越的性能,具有 10,000+ tx/s 的能力,而由于通信开销,传统的 CometBFT 实现通常实现较低的吞吐量。

最终确定时间:MonadBFT 在 2 个 slot (800 毫秒) 内实现最终确定,推测性最终性只能在特殊情况下恢复。这代表着比 CometBFT 的典型最终确定时间有了显着改进。

区块时间:MonadBFT 以 400 毫秒的最小区块时间运行,从而能够实现高频交易处理,这对于现代 DeFi 应用程序至关重要。

架构差异

通信模式:最重要的架构差异在于通信复杂度。与 CometBFT 更传统的方法相比,MonadBFT 的线性通信模式允许更好的可扩展性,CometBFT 更传统的方法可能会遭受二次通信开销。

流水线:MonadBFT 的流水线架构允许多个共识实例同时进行,从而最大限度地提高了吞吐量。CometBFT 遵循更顺序的方法,虽然更容易理解和实现,但会牺牲性能。

故障恢复:MonadBFT 复杂的故障恢复机制,包括超时证书和重新提议义务,提供了更强的保护,可防止可能影响传统协议的尾部分叉攻击。

安全考虑

两种协议都保持了 BFT 的基本安全保证,即容忍多达三分之一的拜占庭节点。但是,MonadBFT 提供了额外的安全特性:

MEV 抵抗:MonadBFT 的尾部分叉抵抗直接解决了可能在传统流水线 BFT 协议中利用的 MEV 攻击媒介。

可问责性:MonadBFT 的设计包括用于检测和归因不当行为的机制,从而能够实现更复杂的 slashing 和惩罚系统。

活跃性保证:MonadBFT 的乐观响应能力确保协议可以在无需等待最坏情况的网络延迟的情况下取得进展,从而在不同的网络条件下提供更好的活跃性。

结论

MonadBFT 代表了 BFT 共识技术的重大进步,解决了限制了前几代性能和可扩展性的根本局限性。它在线性通信、推测性最终性和尾部分叉抵抗方面的创新表明,区块链网络可以实现高性能和强大的安全保证的未来。

随着区块链行业不断成熟,对高性能去中心化应用程序的需求不断增长,MonadBFT 等创新变得越来越重要。该协议实现没有其他流水线、基于领导者的 BFT 协议能够结合所有这些特性——高吞吐量、低延迟、大型验证者集和强大的安全保证——使其成为对分布式共识领域的重大贡献。

DAIC 提供的信息,包括但不限于研究、分析、数据或其他内容,仅供参考,不构成投资建议、财务建议、交易建议或任何其他类型的建议。DAIC 不建议购买、出售或持有任何加密货币或其他投资。

  • 原文链接: daic.capital/blog/monadb...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
DAIC
DAIC
We Invest In The Future Of Digital Assets. Web3 Infrastructure Provider & Community Validator