ADO:波卡如何在平行链之间进行有效的分片?

Polkadot 的可用性和有效性(AnV:Availability and Validity)协议使整个网络能在平行链之间有效地分片,同时有着强大的安全性保证。

AnV 协议的阶段

可用性和有效性协议(AnV 协议)分为六个阶段。

平行链阶段

中继链提交阶段

可用性和不可用性子协议

二级 GRANDPA 批准有效性检查

钓鱼人反对程序

调用拜占庭式容错最终性小工具来巩固链

平行链阶段

AnV 协议的平行链阶段是平行链的收集人向当前分配给平行链的验证人提议候选块的时候。

候选块是来自平行链收集人的新块,它可能是有效的也可能不是有效的,并且必须经过有效性检查才能包含在中继链中。

Nodle赢得波卡Polkadot第11次平行链插槽拍卖:3月10日,据波卡Polkadot官方消息,Polkadot网络第11次平行链插槽拍卖的蜡烛期于3月10日22时14分结束。整个蜡烛期内,Nodle领先了87.74%的区块,Equilibrium领先了12.22%的区块。在经历了1小时22分钟的「摇骰子」时间,在23时35分,Nodle以锁定2,475,500DOT赢得Polkadot第11次平行链插槽拍卖,第12次插槽拍卖预计在3月13日凌晨2时3分开启。

据悉,这是Polkadot第二批最后一次拍卖,第二批一共进行了6次拍卖,获胜者分别是Efinity、Centrifuge、Composable Finance、HydraDX、Interlay和Nodle,它们将在2022年3月12日早上7时23分接入Polkadot中继链并上线主网。目前包括已经完成的和正在进行的Crowdloan,一共有129,607,700DOT被锁定,约占总量11%。[2022/3/11 13:50:11]

验证人接下来会对照该平行链的注册代码所提供的验证功能来检查候选块。如果验证成功,则验证人会将候选块传递给八卦网络(gossip network)中的其他验证人。但是,如果验证失败,则验证人立即将候选块视为无效。

波卡生态项目Acala推出去中心化多抵押稳定币aUSD:2月12日,据官方消息,波卡生态项目Acala宣布推出去中心化多抵押稳定币AcalaDollar(aUSD),aUSD将成为Acala生态DeFi经济的核心并作为支持波卡生态的去中心化稳定币,目前首批接受用于铸造aUSD的抵押品是DOT和LCDOT,这些抵押品可用于开设抵押债务头寸(CDP)以铸造aUSD。

在推出aUSD的同时,LCDOT/aUSD交易对目前也已经上线,这也是aUSD第一个交易对。在开发了aUSD机制之后,Acala将着手构建一个特定于应用程序的区块链来支持和发展aUSD,并以aUSD为中心打造一个蓬勃发展的DeFi生态系统,该生态系统包括为支持和运营稳定币而构建的DApp,AcalaSwap去中心化交易所和用于DOT流动性质押的Homa协议。[2022/2/12 9:47:12]

当超过一半的平行链验证人同意特定的平行链候选区块是有效的状态转换时,他们会准备候选者收据。候选收据将最终包含在中继链状态中。这包括:

波卡生态概念板块今日平均涨幅为3.99%:金色财经行情显示,波卡生态概念板块今日平均涨幅为3.99%。26个币种中17个上涨,9个下跌,其中领涨币种为:CRU(+39.17%)、PHA(+27.29%)、AKRO(+20.05%)。领跌币种为:CHI(-13.41%)、INSTAR(-11.86%)、LINK(-7.96%)。[2021/1/17 16:23:30]

平行链 ID

收集人的 ID 和签名

父区块的候选收据的哈希值

块的擦除编码片段的 Merkle 根

任何发出信息的 Merkle 根

块的哈希

区块执行之前,平行链的状态根

区块执行后,平行链的状态根

波卡生态概念板块今日平均跌幅为5.07%:金色财经行情显示,波卡生态概念板块今日平均跌幅为5.07%。26个币种中2个上涨,24个下跌,其中领涨币种为:MATH(+0.59%)。领跌币种为:EDG(-18.00%)、AKRO(-15.63%)、MXC(-7.87%)。[2020/12/8 14:36:26]

以上信息都是恒定的,但平行链的实际 PoV 块是可变长度的,对于任何获得完整 PoV 块的人来说,这都是足够的信息,可以验证其中包含的状态转换。

在可用性和不可用性子协议阶段,验证人会在网络中流传擦除编码片段。至少 1/3 + 1 个验证人必须报告他们拥有自己的代码字段。一旦达到验证人的阈值,网络便可以考虑使用平行链的 PoV 块。

擦除编码

擦除编码将消息转换为更长的代码,从而可以从代码的子集中恢复原始消息,而无需代码的某些部分。代码是原始消息,上面填充了一些额外的数据,从而可以在擦除的情况下重建代码。

Polkadot 的可用性方案使用的擦除代码类型为 Reed-Solomon 代码,该代码已在区块链行业以外的技术中经受了久经考验的应用。在光盘行业中可以找到一个例子。CD 使用 Reed-Solomon 代码来纠正由于磁盘表面不一致(例如灰尘颗粒或划痕)而导致的任何丢失的数据。

在 Polkadot 中,擦除代码用于保持系统可用的平行链状态,而无需所有验证人在所有平行链上保留制表符。取而代之的是,验证人共享较小的数据,并可以在 1/3 + 1 的验证人可以提供其各自的数据的假设下,稍后重建整个数据。

注意:为了构造完整的平行链状态数据而必须响应的验证人的 1/3 + 1 阈值对应于 Polkadot 关于拜占庭节点的安全性假设。

钓鱼人

钓鱼人是平行链的完整节点,与收集人相似,但在与 Polkadot 网络的关系中扮演不同的角色。钓鱼人将观察整个过程并确保不包括无效的状态转换,而不必像收集人那样打包状态转换并产生下一个平行链区块。钓鱼人需要适度质押一部分代币在中继链上,这与不要求在中继链上必须要有筹码的收集人不同。如果发现平行链生产过程中发生了不当行为,钓鱼人将提交无效报告。如果对举报的不当行为被证明是正确的,他们将得到丰厚的回报,但如果被证明是错误的,则可能会失去质押部分权益。因此,钓鱼人类似于赏金猎人,他们在完成一项工作时会获得丰厚的报酬,否则就没有稳定的报酬。

如何运行一个钓鱼人节点

预计与验证人节点的质押要求相比,运行钓鱼人节点的要求会相对适中。在中继链上注册“钓鱼”状态将需要一定数量的代币。如果钓鱼人提交了不正确的无效报告,则协议可能会大幅 Slash 这些代币。Slash 风险的存在是为了防止钓鱼人向网络发送垃圾邮件,因为重新建立平行链状态对于中继链来说是昂贵的处理过程。

在需求的硬件方面,功能适中的机器理论上就能够运行一个或多个平行链的完整节点。最大的需求可能是存储每个被钓鱼的平行链的数据。但是,诸如 prunning 之类的改进意味着,维持一个平行链的完整节点所需的最终存储大小将稳定在一个非常高的水平。对 RAM 和 CPU 的需求可能会随着所钓鱼的平行链的数量而扩展,那么对于钓鱼一条平行链并且之后会随之增加钓鱼数量,需要一个最低起步配置。每月 10或20个 cloud instance 就足以开始使用。

注意:Kusama 或 Polkadot 网络中现在尚无钓鱼人!一旦有可能,本文内容将通过设置指南进行更新。

更多资源

Life of a Parachain Block:由 Parity分析师 Joe Petrowski 撰写的文章,详细说明了平行链区块必须通过以进行平行链验证的有效性检查。https://polkadot.network/the-path-of-a-parachain-block/

Availability and Validity:W3F研究团队的论文,详细说明了可用性和有效性协议。https://github.com/w3f/research/tree/85cd4adfccb7d435f21cd9fd249cd1b7f5167537/docs/papers/AnV

原文:https://wiki.polkadot.network/docs/en/learn-availability

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

金星链

[0:15ms0-1:108ms