区块见闻 区块见闻
Ctrl+D收藏区块见闻

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

作者:

时间:

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

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

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

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

Polkadot的GRANDPA

Polkadot,是通过一个提名权益证明(NPoS)系统,将BABE用作其区块生成机制的(BABE,即著名的Blind Assignment for Blockchain Extension,即区块链扩展盲分配)。这个系统使用提名权益证明机制(NPoS),顾名思义,这个系统会通过一个提名过程选出验证者。在这个区块链系统中,为了从一个普通的参与者变成一个提名者,参与者需要先将其代币作为抵押品。这之后,这个升级为提名者的参与者,就可以提名他/她认可的节点作为验证者了。当被他/她提名的验证者偏离协议,他/她抵押的权益就将被削减,作为惩罚;相反,当被他/她提名的验证者遵守协议时,他/她也会获得报酬,作为奖励。另外值得一提的是,在这个区块链系统中,当选了的验证者在共识协议中的投票权是同等的。

印度马德拉斯理工学院加入Hedera管理委员会以推动新区块链用例的研发:9月14日消息,印度马德拉斯理工学院(IITM)加入Hedera管理委员会,以扩大其在分布式账本技术方面的研究足迹。IITM还将使用其在Hedera委员会的任期来加强其在DLT领域的研发工作,测试利用关键服务的用例,例如Hedera共识服务和Hedera令牌服务。HederaHashgraph是用于去中心化经济的最常用、可持续的企业级公共网络。(prnewswire)[2021/9/14 23:24:01]

有了GRANDPA(GHOST-based Recursive Ancestor Deriving Prefix Agreement)作为它的确定性工具机制,Polkadot的中继链包含两个不同的协议,分别对应两种不同类型的网络。我们要讨论的是第一个协议。这个协议对应的网络,是部分同步的,并且最多可以有1/3的参与者是恶意的。我们生活中遇到的网络,通常都是部分同步的。这是一个分布式系统的专业术语,简而言之,是指:网络在大多数情况下是同步的,当网络不同步时,经过一定时间,也会回到同步的状态(同步也是分布式系统的专业术语,这个可以暂时理解成日常用语里的“同步”)。

关于GRANDPA,值得注意的是:1)只有被确定性工具机制最终确认的区块能影响区块的生成  2)可以同时为不同高度的多个区块投票,这与Casper FFG不同。

本文只讨论Polkadot的第一个协议。它专为部分同步网络设计,不能容忍网络分区或DoS攻击。另外值得注意的一点是,该协议假定在未知时间GST之后,网络变为同步。

每个参与者都存储一个由BABE产生的区块树,这个区块树的根区块是创世块。参与者可以对树上的一个区块投票。如果一个区块B获得X票,X票包括了B自己和B的子孙节点的所有票。然后,?-GHOST函数g(S)返回获得票仓S里绝对多数的区块中区块高度最大的那个区块,记作B。

然后,区块作者着手确定这个区块B在票仓S中获得绝对多数的可能性。GRANDPA协议的论文《Byzantine Finality Gadgets》这样定义:“我们说,如果至少有2t + 1张票是超额投票(即一个投票者投了多于一张票)或者投给了除B子孙区块的其他区块,那么区块B在票仓S中占据大多数是不可能的;否则,区块B在票仓S中获得绝对多数是可能的。”此外,论文还指出,“一个区块B在一个票仓S里获得绝对多数是可能的,当且仅当存在一个容错票仓T,T是票仓S的子集,并且区块B在票仓T中占绝对多数。”

这个协议在实践中会出现以下的几个问题:

如果我们假设区块B和C不一致,而t个恶意投票者加1个诚实投票者投票给了B,2t个诚实投票人投给了C,那么根据上述定义,B得到绝对多数是可能的。然而,因为诚实的投票人不会超额投票,所以票仓S里不总是有一个子票仓T使得T里有绝对多数。这就使得GRANDPA无法实现活跃性保证。接下来,我们将详细介绍这种情况。

假设我们保持相同的情况,以B和C作为在某个回合r中产生的两个子区块-也就是说,BABE在此回合经历一个分叉,并且结果产生了两个子块B和C。

在第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协议在上述网络中不安全。

标签:ANDRANGRANDBOOPINKPANDA价格GranX ChainGRAND价格BOOK价格

以太坊最新价格热门资讯
CME董事会候选人表示 芝商所应涉足比特币挖矿业务

芝商所集团是比特币期货合约的最大机构提供商。但是最近,根据即将举行的董事会候选人透露,该公司还应专注于其他业务,包括比特币挖矿和其他业务,以为其利益相关者创造更多价值。 芝商所应该开始比特币挖矿 丹特·费德里希(Dante Federighi)是芝商所即将举行的董事会候选人之一。

金色硬核 | 从欧洲宗教改革看比特币(上)

金色财经近期推出金色硬核(Hardcore)栏目,为读者提供热门项目介绍或者深度解读。 如果要在当代世界和古代世界之间找一个分界点,很多历史学家想必都会选择宗教改革。16世纪发生在欧洲的宗教改革最终完成了政教分离,人们从黑暗的宗教统治中走出来,现代科学才得以诞生。这想必也是东方和西方彻底分野的地方。

亿万富翁要求Facebook披露谁在利用他的身份推销比特币广告

珍妮特?杰克逊的亿万富翁前夫维萨姆?阿尔?马纳(Wissam Al-Mana)要求Facebook披露谁是该平台上利用其形象宣传加密货币欺诈广告的幕后黑手。 这起案件源于今年2月底,阿尔?马纳(Al-Mana)向这家社交媒体巨头提起诉讼,指控其利用自己的名字在中东地区推销一个加密货币局。

北京将政务服务引入区块链技术 办事更高效

近日,北京市西城区率先完成北京区级政务服务领域区块链应用试点工作,通过区块链技术实现了数据材料共享、业务流程优化,让政府办事效率更高,也让居民和企业办事更便利。 3月26日,记者在西城区政务服务中心的办事大厅看到,区块链服务窗口已经开始正式受理包括企业注销、城乡最低生活保障认定、内地居民婚姻登记证件核验、电子证照核验等项业务。

金色前哨丨投资人“不耐烦” TON或抛弃Telegram?

金色财经 区块链3月26日讯   美国法院已经下令禁止Telegram推出其区块链TON,但这并不意味着其他人不能继续推动TON上线。

注意 这道多头支撑决不能失守

大帝怎么看? BTC: 技术上看,比特币4小时K线图沿着布林下轨和中轨运行,K线反弹至中轨附近、呈十字星,上涨有所放缓。附图指标,MACD零轴以下运行,有低位金叉趋势,成交量(VOL)小幅放大,CCI数值-21从超卖趋势向上拐头。综合来看,BTC经过前期回落后,今日出现反弹走势,从4小时整体走势看趋势偏向下。