原文:https://wiki.polkadot.network/docs/en/learn-availability
翻译:PolkaWorld
Polkadot的可用性和有效性协议使整个网络能在平行链之间有效地分片,同时有着强大的安全性保证。
AnV协议的阶段
可用性和有效性协议分为六个阶段。
平行链阶段
中继链提交阶段
可用性和不可用性子协议
二级GRANDPA批准有效性检查
钓鱼人反对程序
调用拜占庭式容错最终性小工具来巩固链
平行链阶段
AnV协议的平行链阶段是平行链的收集人向当前分配给平行链的验证人提议候选块的时候。
新加坡区块链验证技术解决方案Accredify完成700万美元A轮融资:金色财经报道,总部位于新加坡的区块链验证技术解决方案Accredify宣布完成700万美元A轮融资,iGlobe Partners和SIG Venture Capital共同领投,此前曾投资过该公司的Pavilion Capital和Qualgro参投。Accredify利用区块链技术的底层使用可确保共享或接收的文件的真实性,防止欺诈和伪造,比如验证假学位和假证书等,该公司还可以帮助企业在区块链(目前主要在以太坊)上创建客户身份、以及钱包或文件存储,确保业务资料可验证。[2023/4/20 14:16:41]
候选块是来自平行链收集人的新块,它可能是有效的也可能不是有效的,并且必须经过有效性检查才能包含在中继链中。
中继链提交阶段
声音 | Swift高管:Swift不打算直接利用DLT技术解决银行间转账问题:据dailyhodl报道,Swift亚太区总经理Lisa O'Connor在接受CNBC的采访时表示,其部分成员正在使用分类账技术(DLT)支持其基础设施,但Swift并不打算直接利用该技术来解决银行间转账问题。当被问及Swift是否担心Ripple和XRP会挑战其在金融领域的主导地位时,O'Connor表示,跨境支付的许多问题已经被克服,过去需要花费数天的时间来进行跨境支付的情况已不复存在。[2019/3/12]
验证人接下来会对照该平行链的注册代码所提供的验证功能来检查候选块。如果验证成功,则验证人会将候选块传递给八卦网络中的其他验证人。但是,如果验证失败,则验证人立即将候选块视为无效。
当超过一半的平行链验证人同意特定的平行链候选区块是有效的状态转换时,他们会准备候选者收据。候选收据将最终包含在中继链状态中。这包括:
现场 | 甜甜圈Idonut创始人:用区块链技术解决餐饮行业乱象:金色财经现场报道,在8月16日的WMIC2018世界移动互联网大会上,甜甜圈Idonut创始人、CEO王进表示,虽然目前人们的生活已经通过互联网电商变得足够便利,但痛点显而易见,商家与用户之间缺乏紧密的联系,首先商家与用户之间的联系需要通过第三方中心化平台,缺乏价值交换的媒介;其次,商家刷好评、刷销量、加收服务费、黑心作坊、食品安全危机等问题频发。“甜甜圈”则是一个以餐饮为核心的非中心化超级区块链网络集群新型社区,通政经济新时代下,消费者、供应链社、商家社区共同创造价值,按贡献与重要程度分享社区品牌价值,避免中心利用垄断地位过度掠夺生产者利益,间接侵害消费者利益。[2018/8/16]
平行链ID
收集人的ID和签名
桑坦德银行将使用瑞波区块链技术解决方案:据cryptonews消息,桑坦德银行的巴西个人理财主管称,该银行将开始使用一种区块驱动的解决方案,该方案使用瑞波技术开发,旨在使客户能够用欧元和美元进行国际转账。该银行还承诺,将在2018年底前推出第二套区块链驱动的解决方案。[2018/6/14]
父区块的候选收据的哈希值
块的擦除编码片段的Merkle根
任何发出信息的Merkle根
块的哈希
区块执行之前,平行链的状态根
区块执行后,平行链的状态根
以上信息都是恒定的,但平行链的实际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个cloudinstance就足以开始使用。
注意:Kusama或Polkadot网络中现在尚无钓鱼人!一旦有可能,本文内容将通过设置指南进行更新。
更多资源
LifeofaParachainBlock:由Parity分析师JoePetrowski撰写的文章,详细说明了平行链区块必须通过以进行平行链验证的有效性检查。https://polkadot.network/the-path-of-a-parachain-block/
AvailabilityandValidity:W3F研究团队的论文,详细说明了可用性和有效性协议。https://github.com/w3f/research/tree/85cd4adfccb7d435f21cd9fd249cd1b7f5167537/docs/papers/AnV
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。