[论文解读] GRANDPA: a Byzantine Finality Gadget
本文提出了 GRANDPA,一种拜占庭最终性机制,它在区块链系统中将活性与安全性解耦,实现可证明最终性的乐观交易执行。证明了在完全异步环境下确定性最终性是不可能的,但提出了 GRANDPA——一种部分同步协议,用于保护 Polkadot,可在最多 1/3 拜占庭故障下实现快速最终性,支持在网络不稳定时恢复,同时保持安全性。
Classic Byzantine fault-tolerant consensus protocols forfeit liveness in the face of asynchrony in order to preserve safety, whereas most deployed blockchain protocols forfeit safety in order to remain live. In this work, we achieve the best of both worlds by proposing a novel abstractions called the finality gadget. A finality gadget allows for transactions to always optimistically commit but informs the clients that these transactions might be unsafe. As a result, a blockchain can execute transactions optimistically and only commit them after they have been sufficiently and provably audited. In this work, we formally model the finality gadget abstraction, prove that it is impossible to solve it deterministically in full asynchrony (even though it is stronger than consensus) and provide a partially synchronous protocol which is currently securing a major blockchain. This way we show that the protocol designer can decouple safety and liveness in order to speed up recovery from failures. We believe that there can be other types of finality gadgets that provide weaker safety (e.g., probabilistic) in order to gain more efficiency and this can depend on the probability that the network is not in synchrony.
研究动机与目标
- 通过引入最终性机制抽象,解决区块链共识中活性与安全性之间的权衡。
- 将“懒惰最终性”形式化为一种机制,允许在最终化之前乐观提交区块。
- 证明即使最终性机制比共识更强,确定性最终性在完全异步环境下也是不可能的,原因在于异步环境下共识本身即不可能。
- 设计并验证 GRANDPA,一种部分同步的最终性机制,实现具有拜占庭容错能力的快速、可证明最终性。
- 实现部署灵活性,包括逐步采用以及在多链生态系统中支持异构轻客户端。
提出的方法
- 将最终性机制抽象为子协议,增强任何最终一致性区块链的可证明最终性。
- 使用最多 1/3 拜占庭验证者部分同步网络模型对机制进行形式化。
- 定义关键组件:Pre-vote、Pre-commit,以及基于对链头的超多数投票的最终化逻辑。
- 使用引理证明,在网络同步条件下,诚实参与者最终将正确链头最终化。
- 设计基于轮次的 GRANDPA 协议,其中诚实主节点广播最佳链,诚实投票者对具有超多数支持的最高链头进行预投票。
- 证明在存在诚实主节点且网络同步的情况下,所有诚实参与者将在全局稳定时间(GST)后 6T 时间单位内最终化正确区块。
实验结果
研究问题
- RQ1能否设计一种最终性机制,使区块链系统中的活性与安全性解耦?
- RQ2在完全异步网络模型下,确定性最终性是否可实现?
- RQ3如何使最终性机制在保留安全性的前提下,实现从网络异步状态的快速恢复?
- RQ4实现具有拜占庭容错能力的可证明最终性,最终性机制所需的最小假设(如部分同步模型)是什么?
- RQ5最终性机制是否可逐步部署,并支持异构轻客户端行为?
主要发现
- 在存在诚实主节点且最多 1/3 拜占庭验证者的情况下,GRANDPA 被证明在全局稳定时间(GST)后 6T 时间单位内最终化正确区块。
- 即使最终性机制比共识更强,确定性最终性在完全异步环境下仍不可能实现,原因在于异步环境下共识本身即不可能。
- 该协议支持乐观执行:区块可在最终化前添加到链上,从而在网络安全不稳定时提升活性。
- GRANDPA 通过在同步恢复后允许进展,支持从网络分区中快速恢复,即使最终化被延迟。
- 该协议允许轻客户端选择信任最终性机制或遵循最长链规则,从而在多链系统中实现客户端异构性与可扩展性。
- 近期有效性引理表明,若某个区块在一段时间内未被诚实参与者在最佳链中看到即被最终化,则必须存在多个连续轮次的拜占庭主节点,从而提供一定程度的可问责性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。