织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

了解夜影协议:突破限制的NEAR分片设计(5)

时间:2021-09-19 13:23来源:未知 作者:admin 点击:
当主链的出块者收到块时,会检查是否已经收到了块中所有chunks的onepart消息,如果没有则需要等待全部消息接受完成后再继续处理。 等到主链出块者确定


当主链的出块者收到块时,会检查是否已经收到了块中所有chunks的onepart消息,如果没有则需要等待全部消息接受完成后再继续处理。


等到主链出块者确定每个chunks都收到了对应的onepart消息之后,就会向peers请求每个chunks其余的擦除码碎片,并重新构建chunks。


如果出块者无法成功构建chunks, 或者无法获取某个chunk的onepart消息的话,就会停止处理该块。


反之,如果出块者能够成功的构建出完整的chunks的话,则可以确定chunks的完整内容的确被发布了,Chunk header如果包含了非法状态,那么任何节点都可以对其生成挑战证明。



但是当前的协议仍有一个问题,主链出块者有可能在收集完所有的onepart消息之前就进行了签名。


这样出块者仍会收到出块奖励,但不会受到任何惩罚,当大多数节点采取了这种策略时,数据可见性就无法得到保证了。


为了解决这个问题,chunk出块者需要对每个擦除码碎片分配颜色(红色或蓝色),并且将颜色保存为bitmask与chunk的内容一起编码成擦除码。


当chunk出块者发送onepart消息时同时也会附上碎片的颜色,并且擦除码碎片的merkle root也会同颜色一起计算。


主链出块者对块签名时,需要在签名中包含所有红色的chunks碎片组成的bitmask。


因为完整的bitmask只存在于擦除码中,主链的出块者只有通过擦除码重新构造chunk内容和bitmask才能获取正确的颜色。


因此,主链出块者必须确保自己接收到了所有的onepart消息,且能正确构造所有chunks内容,才可以确保签名是正确的。


如果出块者没有收到某个onepart消息却仍然签名,则有50%的概率猜错颜色从而被惩罚。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容