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

我的网站

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

Vitalik Buterin:技术解析分片的特定属性与权衡 (6)

时间:2021-05-21 09:07来源:未知 作者:admin 点击:
通过纠删码,我们能够将问题从「检查 100% 数据可用性」 (即保证每条数据均可用) 转变为「检查 50% 数据可用性」 (即至少一半数据可用)。随机抽样则解决

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

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

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

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

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

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

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

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

以上就是全文的总结!就以太坊分片而言,短期计划是让分片中的区块只包含数据。也就是说,这些分片的作用纯粹是「数据可用性引擎」,Layer2 rollup 的工作则是使用安全的数据空间,另外还会利用欺诈证明或 ZK-SNARK 技术,实现高交易吞吐量,同时维持安全性。但是,我们还可以创建一个内部系统,「原地」实现高吞吐执行,这是完全有可能实现的。 (责任编辑:admin)

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