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

我的网站

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

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

时间:2021-05-21 09:07来源:未知 作者:admin 点击:
可扩展计算验证 我们可以将能够抵御 51% 攻击的可扩展验证问题分为两种情况: 验证计算:检查某些计算是否正确完成,并假设你拥有完成该计算的所有

可扩展计算验证

我们可以将能够抵御 51% 攻击的可扩展验证问题分为两种情况:

  • 验证计算:检查某些计算是否正确完成,并假设你拥有完成该计算的所有输入数据
  • 验证数据的可用性:检查计算本身输入的数据是否以某种形式存储,在必要情况下以供下载;执行此检查时,无需实际下载所有输入数据,因为数据可能太大,无法每个区块都进行下载。

区块链中的区块验证同时涉及计算和数据可用性检查,即你需要确信区块中的交易有效,并且区块中的新状态根哈希是执行这些交易的正确执行结果,但是你还需要确信该区块中有足够多的数据实际得到发布,这样下载数据的用户可以计算状态,继续处理区块。第二点关系到一个非常微妙但重要的概念,即数据可用性问题 (data availability problem)。下文会对这个问题进行探讨。

可扩展计算验证相对容易实现,其中会运用两类技术:欺诈证明及 ZK-SNARKs

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

欺诈证明能够验证计算的同时,保证扩展性

以下是对两类技术的简单介绍:

  • 欺诈证明 (fraud proof) 是一个接受计算结果的系统,你可以要求有质押存款的人签署以下形式的消息:「我证明,如果使用输入 X 进行计算 C,则会得到输出 Y」。你会默认信任该消息,但其他有质押存款的人会有挑战计算结果的机会,他们可以签名一条消息,称「我不同意,输出结果应该为 Z,而不是 Y。」仅发起挑战后,所有节点才会进行运算。这两方中任何一方出错都会失去保证金,并且所有基于错误计算的运算都会重新进行。
  • ZK-SNARKs 是一种密码学证明形式,可以直接验证「输入 X 后,执行计算 C,会输出 Y」。在密码学层面,该验证机制是「可靠」的,因为如果输入 X 后,进行计算 C,结果不等于 Y,则无法通过计算生成有效性证明。即使运行计算 C 本身花费大量时间,该证明也可以很快得到验证。有关 ZK-SNARK 的更多数理解释,请参阅此文章。

基于欺诈证明的计算之所以具有扩展性,是因为在「通常情况下」,你不用运行复杂计算,只需验证单个签名。在特殊情况下,挑战出现后,你必须在链上验证计算,但是特殊情况很少发生,因为触发这种情况的成本非常昂贵,因为最初的声明者或挑战者之一会失去大量保证金。ZK-SNARKs 概念更简单,它们只是通过成本更低的证明进行验证,从而代替计算,但其背后的数学原理却要复杂得多。

有一种半可扩展系统,它能以可扩展的形式验证计算,但需要每个节点验证所有数据。该系统若能通过一系列压缩技术,通过运算替换大部分数据,效率便可大大提高。这便是 Rollup 所做的事。 (责任编辑:admin)

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