为什么Polkadot的GRANDPA协议不够安全?

本文将讨论Polkadot为解决拜占庭容错问题而提出的共识协议——GRANDPA协议。在本文中,我们默认读者已经熟悉拜占庭容错问题,所以我们将直接介绍Polkadot的GRANDPA协议是如何解决拜占庭容错问题的。首先,我们将简洁明了地介绍GRANDPA协议的主要内容。然后,我们将讨论可能导致GRANDPA协议失效的攻击方式。最后,我们会就如何解决上述安全漏洞,提出可能的解决方法。

概率确定性与可证明确定性

经由Casper FFG(Friendly Finality Gadget)协议启发,GRANDPA是一种新的、拜占庭容错的(BFT)、确定性工具的(Finality Gadget)共识协议。确定性工具(Finality Gadget)是一套经由一定提议机制而最终确定一条区块链上内容的机制。由“确定性工具”最终确认的链上内容,具有最终性,即不可逆。

RIT Capital Partners已减持Animoca Brands、Kraken和Paxos的股份:金色财经报道,英国投资信托公司RIT Capital Partners Plc今年早些时候降低了对几家知名加密初创公司的投资价值。该信托基金由雅各布·罗斯柴尔德创立,自 2021 年以来已向加密公司投资数千万英镑,此外还支持众多科技初创公司。其2021 年年度报告显示,Animoca Brands、Kraken和Paxos的头寸分别为2780万英镑、3320万英镑和2080万英镑。在2月份公布的次年账目中,这些头寸缩减至1420万英镑、1620万英镑和1620万英镑。[2023/6/17 21:43:00]

正如Polkadot Wiki上所说:“那种运行纯粹中本聪式POW共识协议的区块链,只能达到概率确定性并完成最终共识。”与之相对,像GRANDPA或Casper FFG之类拥有确定性工具机制的协议,则可以为我们提供更强大的保证,称为可证明确定性。GRANDPA的确定性工具机制带来的可证明确定性,保证了经过一定共识机制运作之后,那些被最终确认的区块里的内容将永不可逆。

Base测试网出场不顺:凌晨发生故障,团队修改贡献承诺条款:2月24日消息,Coinbase在发布以太坊L2网络Base测试网的几个小时后,该网络就出现了故障,推特用户/img/2022811192624/1.jpg">

在第r轮,t + 1个投票者(所有t个恶意投票者+ 1个诚实投票者)投票给B,其余2t诚实投票者投票给C。因此,对每个投票者i,我们的g()函数都会从前一个回合的estimate,E_ {r-1,i} [ E_{r,v} 表示投票者v在r轮的一个estimate,这个estimate包含了所有本可以在r轮最终确定却实际上没有被最终确定的区块的信息,详见论文《Byzantine Finality Gadgets》] 中输出一个向B、C的一个祖块。相应地,每个参与者都预先承诺(pre-commit)该祖块。(值得注意的是,即使是网络上诚实的节点,也可能由于网络延迟或异步而出现这种分裂的投票结果。一个诚实节点可以首先接收到区块B,因此它投票给B。其他诚实节点首先接收到C,因此他们投票给C。)

现在,每个投票者i估计从第r-1轮的E_ {r-1,i}来的祖块可能是哪个块。由于C_ {r,i} [ C_ {r,i}表示参与者i在r轮收到的所有预先承诺(pre-commits)] 可能导致E_ {r,i}的任何子级得到多数投票,因此回合r无法完成,整个共识过程失败。

即使可以通过修正GRANDPA中的语义定义来解决此处讨论的问题,我们也可以类似地将在Tendermint协议的讨论中提到的那些攻击用于GRANDPA。最终,我们只能得出结论,GRANDPA协议在上述网络中不安全。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:15ms0-1:725ms