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

我的网站

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

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

时间:2021-05-20 14:57来源:未知 作者:admin 点击:
理想情况下,我们希望采用一种分片形式,其验证方式能避免上文提到的51%信任假设,并保留传统区块链的高安全性,这种安全性只有在经过完全验证的情

理想情况下,我们希望采用一种分片形式,其验证方式能避免上文提到的51%信任假设,并保留传统区块链的高安全性,这种安全性只有在经过完全验证的情况下才能实现。而这正是我们过去几年的大部分研究成果。

可扩展计算验证

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

验证计算:检查某些计算是否正确完成,并假设你拥有完成该计算的所有输入数据

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

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

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

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

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

欺诈证明 (fraud proof) 是一个接受计算结果的系统,你可以要求有质押存款的人签署以下形式的消息:“我证明,如果使用输入X进行计算C,则会得到输出Y”。你会默认信任该消息,但其他有质押存款的人会有挑战计算结果的机会,他们可以签名一条消息,称“我不同意,输出结果应该为Z,而不是Y。”仅发起挑战后,所有节点才会进行运算。这两方中任何一方出错都会失去保证金,并且所有基于错误计算的运算都会重新进行。

ZK-SNARKs 是一种密码学证明形式,可以直接验证“输入X后,执行计算C,会输出Y”。在密码学层面,该验证机制是“可靠”的,因为如果输入X后,进行计算C,结果不等于Y,则无法通过计算生成有效性证明。即使运行计算C本身花费大量时间,该证明也可以很快得到验证。有关ZK-SNARK的更多数理解释,请参阅此文章。

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

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