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

我的网站

当前位置: 主页 > 竞争币 > 以太坊

技术解析分片的特定属性与权衡(5)

时间:2021-05-21 09:08来源:未知 作者:admin 点击:
对数据可用性进行可扩展性验证难度更高 欺诈证明不能用于验证数据可用性。运算的欺诈证明基于这样一种条件,即原始声明一旦提交,运算的输入数据

对数据可用性进行可扩展性验证难度更高

欺诈证明不能用于验证数据可用性。运算的欺诈证明基于这样一种条件,即原始声明一旦提交,运算的输入数据要在链上发布,因此,如果有人发起挑战,该挑战的执行与原始执行的「环境」完全一致。对于数据可用性检查,上述操作无法实现,因为如果要在链上发布,需要检查的数据量太多。因此,针对数据可用性,如何生成欺诈证明方案变成了一个关键问题,有人可以声称「数据 X 可用」,但不在链上发布,等待挑战者出现,发起挑战后,再向整个网络发布该数据,使得网络中的其他参与者认为挑战者是不正确的

下图的「渔夫困境」能够很好阐释其中道理:

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

「渔夫困境」的核心理念涉及到两种情况,一种情况是 V1 是恶意发布者,但 V2 是一个诚实挑战者,而另一种情况是 V1 是诚实发布者,而 V2 是恶意挑战者。两种情况对于当时未尝试下载该特定数据的任何人来说都没有区别。当然,在可扩展的去中心化区块链中,每个个人节点只期望下载一小部分数据,因此只有一小部分节点能够了解分歧之外的所有状况。

由于不可能辨识出哪一方是正确的,所以也无法为数据可用性生成有效的欺诈证明解决方案。

不幸的是,仅仅保证数据有效性还不足以维持区块链正常运行。原因是如果区块链能经过验证,但所有数据均不可用,则用户将无法更新数据,生成证明验证未来的区块。攻击者如果能生成一个区块,该区块虽然能够经过验证,但数据不可用,可以有效阻碍区块链运行。有的攻击者还可以不上传特定用户的帐户数据,直到该用户支付赎金为止,因此这不仅仅是一个活性问题。

有一些强有力的信息论观点认为这个问题是根本性问题,没有优良解决方案 (例如密码学累加器的应用)。有关详细信息,请参见本文。

关键的解决方案是一种称为数据可用性采样 (data availability sampling) 的技术。该技术的工作方式如下:

  • 通过纠删码工具,将具有 N 段的数据分成为 2N 段的数据,因此只需任意 N 个数据段都可以恢复整个数据。
  • 用户如果要检查可用性,无需下载全部数据,而是随机选择区块中的位置 (常数,例如 30),并且仅当在区块中找到所有选定位置的数据时,才接受这个区块。

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

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

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