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

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

Vitalik:从技术角度揭秘“分片”的优势(6)

时间:2021-05-20 14:57来源:未知 作者:admin 点击:
2. 用户如果要检查可用性,无需下载全部数据,而是 随机选择区块中的位置 (常数,例如30),并且仅当在区块中找到所有选定位置的数据时,才接受这个区

2.用户如果要检查可用性,无需下载全部数据,而是随机选择区块中的位置(常数,例如30),并且仅当在区块中找到所有选定位置的数据时,才接受这个区块。

通过纠删码,我们能够将问题从“检查100%数据可用性” (即保证每条数据均可用) 转变为“检查50%数据可用性” (即至少一半数据可用)。随机抽样则解决了50%可用性问题。如果可用数据量少于50%,那么这两种检查手段中至少一个不可行,并且如果至少50%的数据可用,那么,尽管某些节点可能无法得知一个区块的可用性,但只需要一个诚实节点运行纠删码重构程序,就能恢复剩余50%的区块数据。因此,为了检查1 MB区块的可用性,你无需下载1 MB数据,只需下载几KB。这样每个区块都能接受数据可用性检查。有关如何使用P2P子网有效进行数据检查,请参见这篇文章

通过ZK-SNARK证明,数据纠删码的正确性也能够得到验证,然后利用默克尔树的分支来验证各个数据块。另一种验证方式是使用多项式承诺 (polynomial commitment),例如 Kate commitments (KZG承诺),本质上,该承诺通过一个简单组件进行纠删编码,证明每个要素和正确性验证,这就是以太坊分片所使用的技术。

总结:如何保证所有数据的正确性?

假设有100个区块,并且你不想依赖委员会有效地验证所有区块的正确性。为了实现这个目标,我们需要进行以下措施:

➤ 每个客户端在每个区块上进行数据可用性采样,以验证每个区块中的数据是否可用,同时需要下载每个区块几KB的数据,即使区块的整体大小为MB或更大。仅在所有数据可用性挑战得到正确回应后,客户点才会接受区块。

➤ 数据可用性得到验证后,那么验证其正确性将变得更加容易。验证正确性要通过以下两种技术:

我们可以使用欺诈证明,一些质押了保证金的参与者可以提供签名,证明每个区块的正确性。其他挑战者或者是渔夫节点会进行随机检查,并尝试完整处理整个区块。因为数据可用性已经经过检查,所以其他节点始终可以下载数据,并对任何特定区块进完全处理。如果发现无效区块,节点会发布一个所有人都可以验证的挑战。如果该区块被证明是坏块,则基于这一区块的所有区块都需要重新经过运算。我们可以使用 ZK-SNARK 技术。这样每个区块的正确性都能得到这种技术的验证。

➤ 在以上两种情况中,无论区块有多大,每个客户端仅需要对区块进行少量验证工作。对于欺诈证明,区块偶尔需要在链上得到充分验证,但这种情况很少发生,因为就算发起一个挑战,成本也十分高昂。 (责任编辑:admin)

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