本文将讨论Polkadot为解决拜占庭容错问题而提出的共识协议——GRANDPA协议。在本文中,我们默认读者已经熟悉拜占庭容错问题,所以我们将直接介绍Polkadot的GRANDPA协议是如何解决拜占庭容错问题的。首先,我们将简洁明了地介绍GRANDPA协议的主要内容。然后,我们将讨论可能导致GRANDPA协议失效的攻击方式。最后,我们会就如何解决上述安全漏洞,提出可能的解决方法。
概率确定性与可证明确定性
经由Casper FFG(Friendly Finality Gadget)协议启发,GRANDPA是一种新的、拜占庭容错的(BFT)、确定性工具的(Finality Gadget)共识协议。确定性工具(Finality Gadget)是一套经由一定提议机制而最终确定一条区块链上内容的机制。由“确定性工具”最终确认的链上内容,具有最终性,即不可逆。
英伟达宣布生成式AI引擎DGX GH200已投入量产,可支持万亿参数AI大模型训练:5月29日消息,美东时间5月28日,英伟达创始人兼CEO黄仁勋在NVIDIA Computex 2023演讲中宣布,生成式AI引擎NVIDIA DGX GH200现已投入量产。
英伟达官网显示,NVIDIA DGX GH200是将256个NVIDIA Grace Hopper超级芯片完全连接到单个GPU中的新型AI超级计算机,支持万亿参数AI大模型训练。能够处理大规模推荐系统、生成式人工智能和图形分析,并为巨型人工智能模型提供线性可扩展性。[2023/5/30 9:49:41]
正如Polkadot Wiki上所说:“那种运行纯粹中本聪式POW共识协议的区块链,只能达到概率确定性并完成最终共识。”与之相对,像GRANDPA或Casper FFG之类拥有确定性工具机制的协议,则可以为我们提供更强大的保证,称为可证明确定性。GRANDPA的确定性工具机制带来的可证明确定性,保证了经过一定共识机制运作之后,那些被最终确认的区块里的内容将永不可逆。
多链NFT市场NFTrade新增跨链购买功能:金色财经报道,根据5月23日官方公告,多链NFT市场NFTrade新增允许收藏家在一个网络上购买物品,同时在另一个网络上付款的功能。该功能是通过与跨链消息传递协议Rarimo的集成创建的,使用NFTrade的跨链购买功能适用于Ethereum、Polygon、Avalanche和BNB Chain。[2023/5/24 15:23:01]
Polkadot的GRANDPA
Polkadot,是通过一个提名权益证明(NPoS)系统,将BABE用作其区块生成机制的(BABE,即著名的Blind Assignment for Blockchain Extension,即区块链扩展盲分配)。这个系统使用提名权益证明机制(NPoS),顾名思义,这个系统会通过一个提名过程选出验证者。在这个区块链系统中,为了从一个普通的参与者变成一个提名者,参与者需要先将其代币作为抵押品。这之后,这个升级为提名者的参与者,就可以提名他/她认可的节点作为验证者了。当被他/她提名的验证者偏离协议,他/她抵押的权益就将被削减,作为惩罚;相反,当被他/她提名的验证者遵守协议时,他/她也会获得报酬,作为奖励。另外值得一提的是,在这个区块链系统中,当选了的验证者在共识协议中的投票权是同等的。
安全团队:CETS ON KREK项目Discord服务器遭攻击:金色财经报道,据安全团队CertiK监测,CETS ON KREK项目Discord服务器遭到攻击。请社区用户不要点击、铸造或批准任何交易。[2022/8/22 12:39:07]
有了GRANDPA(GHOST-based Recursive Ancestor Deriving Prefix Agreement)作为它的确定性工具机制,Polkadot的中继链包含两个不同的协议,分别对应两种不同类型的网络。我们要讨论的是第一个协议。这个协议对应的网络,是部分同步的,并且最多可以有1/3的参与者是恶意的。我们生活中遇到的网络,通常都是部分同步的。这是一个分布式系统的专业术语,简而言之,是指:网络在大多数情况下是同步的,当网络不同步时,经过一定时间,也会回到同步的状态(同步也是分布式系统的专业术语,这个可以暂时理解成日常用语里的“同步”)。
《雪崩》作者尼尔·斯蒂芬森和虚拟货币先驱彼得·维塞内斯发布Lamina1:据官方消息,6月8日,加密货币先驱彼得·维塞内斯和未来学家尼尔·斯蒂芬森宣布推出Lamina1,一种遵循web3原则,并专门为元宇宙设计的新Layer-1区块链技术。联合创始人维塞内斯和斯蒂芬森分别担任Lamina1的发布首席执行官和董事长。今年晚些时候,该公司将推出一个验证网络和随后的公测网络。在2022年之后,两位联合创始人计划推出一个新的沉浸式3D虚拟元宇宙环境,其灵感来自斯蒂芬森的百万畅销小说《雪崩》。
Lamina1是第1层区块链,目的旨在为开放的元宇宙赋能。它是世界上第一个可验证的低碳区块链。(Businesswire)[2022/6/9 4:11:32]
关于GRANDPA,值得注意的是:1)只有被确定性工具机制最终确认的区块能影响区块的生成 2)可以同时为不同高度的多个区块投票,这与Casper FFG不同。
NBA球星杜兰特提交26项元宇宙与NFT商标申请:金色财经报道,美国国家篮球协会(NBA)布鲁克林网队的职业篮球运动员凯文·杜兰特与他的风险投资公司Thirty Five Ventures LLC一起,于5月19日向美国专利和商标局(USPTO)提交了多达26项元宇宙与NFT商标申请。(finbold)[2022/5/24 3:38:46]
本文只讨论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协议在上述网络中不安全。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。