GRANDPA

GRANDPA(GHOST-based Recursive ANcestor Deriving Prefix Agreement)是Polkadot中继链实现拜占庭最终性的工具。

GRANDPA在一个部分同步的网络模型中工作,只要 2/3 的节点是诚实的,并且能够在异步设置中处理 1/5 的拜占庭节点。

GRANDPA有一个像 BABE 一样的已知 weight 的权限集用来选取选民

GRANDPA 验证人在链上投票,而不是在区块上投票,也就是说,他们投票给一个他们认为“最好”的区块,并且他们的投票可以传递地应用到之前的所有区块。一旦超过三分之二的 GRANDPA 权限者投票支持某一特定区块,它就被认为是最终的。

具体流程

GRANDPA按轮次工作,每一轮都有一组3f+1名的合格选民,其中2f+1名被认为是诚实的。此外我们假设每一轮都有一个参与者被指定为主要参与者,并且所有参与者都同意投票集和主要参与者。我们可以从选民集中伪随机选择或轮换投票。在高层次上,每一轮都包含一个双回声协议,之后每一方都等待以检测我们是否可以在这一轮中敲定一个块。如果这一轮不成功,双方只需继续进行新的初选即可进行下一轮。当选择了一个好的主要参与者,预言将一致(所有诚实方返回相同的值),并且网络是同步的(在GST之后),一个新的块将被最终确定,它将传递地最终确定其所有祖先。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容