LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 聚合Filecoin的SNARK证明来降低成本?

聚合Filecoin的SNARK证明来降低成本?

2021-06-02 容显科技 来源:区块链网络

SNARK是简洁的非交互式知识论证:简言之,它们允许一个人以简洁的方式向验证者证明,他们使用正确的输入正确地执行了计算。它们打开了许多以前不可行的用例,如匿名交易(Zcash)、快速轻客户端/紧凑型区块链(Celo、Mina)和可证明的分散存储(Filecoin),从而对区块链世界产生了巨大影响。

在生产中部署的最突出的SNARK系统,是由Jens Groth在2016年Eurocrypt中提出的,他展示了如何通过有效验证器为任何算术电路获得简洁的知识证明。请注意,这个证明系统需要一个结构化的引用字符串:一个专为特定计算而精心制作的元素载体。

为了生成SRS,我们需要运行一个可信的设置,一个由多个用户运行的复杂设置程序,以生成验证程序和验证器需要的密钥。Groth16系统已在多个框架和编程语言中实现,是目前使用最多的SNAR系统。了解更多加 FILkefu,为了给出一个比例感,Filecoin网络每天验证超过200万个Groth16 SNARK!

由于SNARK快速和大规模采用,使用SNARK的系统面临着与以太坊目前面临的问题,可扩展性挑战。原因是,网络中的所有节点必须单独处理每个证明才能就最终状态达成一致,这就强制了一个隐含的限制,即网络每天可以验证多少个证明。


目前,已开发出多种解决方案,以应对SNARK方面的这一挑战。最新和有效的是基于证明携带数据的概念,这是完全递归的证明系统:一个证明可以验证另一个证明,并且递归的级别是无限的。这是Mina协议和Halo2(来自Zcash)目前正在采用的方法。不幸的是,这种方法需要一个完整的新的证明系统,这是不符合目前的Groth16证明系统的。理想情况下,我们希望能够扩展我们目前在生产中拥有的当前证明。

幸运的是,2019年Bünz、Maller、Mishra、Tyagi和Vesely展示了一个相当优雅的解决方案,将Groth16证明聚合在一起,生成一个对数大小的证明,并且不需要对证明系统本身进行任何更改!换句话说,可以聚合当前证明,并在不发生重大更改的情况下为当前系统带来可扩展性!

在发现这篇论文之后,我们开始研究它是否可以应用于Filecoin。我们对它可能带来的潜在可扩展性感到非常兴奋。

Filecoin矿工需要证明他们已经正确编码了32 GiB存储扇区,即他们保留了32 GiB的存储空间。这样,他们才可以参与共识和区块。为此,矿工需要运行一个特殊的编码功能(复制证明),连续工作步骤。每一步,矿工使用来自前一层的节点和来自同一层的节点来编码由2个节点组成的层,每个节点为32 GiB。在每一步之后,它都会生成一个包含所有这些节点的Merkle树。最后,验证者必须创建一个证明,证明他们通过给每个层中的随机节点提供Merkle路径,从而正确执行了所有这些计算。

问题是,一个图层中有许多节点。为了实用,我们的可信设置只能增加到2??个,了解更多加 FILkefu,因此我们不得不将复制证明SNARK分为10个较小的SNARK。幸运的是,我们可以使用批量验证来验证SNARK。并且,目前我们可以通过能够聚合10个SNARK来显著降低一个证明的成本。

—-

编译者/作者:容显科技

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...