零知识证明挖矿
Fox 视界
2022-06-20 18:00
订阅此专栏
收藏此文章
本文内容转载自6block《零知识证明挖矿》。
更多Web3内容,请关注Fox 视界公众号。

背景

ZKP(零知识证明)
ZKP 的定义非常广泛。根据“Why and How zk-SNARK Works” 一文,一个证明者想要让验证者相信某些陈述是正确的,ZKP 协议应该满足三个属性:


完整性——如果陈述是真的,那么证明者可以说服验证者
可靠性——作弊证明者无法说服验证者做出虚假陈述
零知识性——交互只揭示一个陈述是否是真的,不揭露其他信息
图一:ZKP 协议

例如,Alice 想要让 Bob 相信她知道 Carol 的电话号码。她打电话给Carol, 然后 Carol 的电话响了,显示是 Alice 打来的。通过这种方式,Alice在不透露电话号码的情况下向Bob证明了她知道Carol的电话号码, 这就是一个 ZKP 协议。


当我们在区块链的背景下谈论 ZKP 时,它通常指的是定义中的特定算法分支。这些算法在大多数情况下被称为 zkSNARKs(零知识简洁非交互式知识论证),并具有以下属性:


1.非交互式证明过程。证明过程只需要证明者向验证者发送证明即可。
2.简洁的证明。证明体积小,验证者可以快速验证。
3.可编程语句。该算法可以将任何语句转换为 QAP(Quadratic Arithmetic Program)进行证明。


关于区块链中使用的详细 ZKP 算法,可以参考“Awesome zero knowledge proofs”一文。它的发展遵循这样一个趋势:计算速度越来越快,对“可信设置”的依赖越来越低,证明规模越来越小。下面列出了一些算法及其相关项目:


1.Pinocchio(ZCash Sprout 版):最早将 ZKP 引入区块链。
2.Groth16(ZCash Sapling 版本,Filecoin):比 Pinocchio 更快。
3.ZK-STARKs (StarkWare):没有可信的设置。
4.PLONK (zkSync)、Marlin (Aleo):通用可信设置
5.Halo 2(ZCash NU5 版本):无可信设置,递归


ZKP 具有适用于区块链的属性。首先,与默克尔证明和数字签名等其他证明系统相比,ZKP能够证明任何语句,为链上逻辑带来多样性。其次,它的证明简洁,在链上验证时消耗更少的gas费。


ZKP 最早的使用强调其零知识的特性,在不泄露任何交易信息的情况下证明交易的有效性,例如 ZCash。后来,ZKP 经历了瓶颈期,人们发现对区块链隐私的需求并不强烈,ZKP因为需要很长的时间来进行计算而对用户并不友好。


最近,ZKP 因其在区块链可扩展性方面的应用而重新引起人们的关注,通过证明大量数据的有效性,ZKP 扩展了区块链的计算和存储能力。一些经过验证的数据及其相关项目:


1.L2 交易:zk-Rollup项目,如 zkSync、StarkWare
2.L1 交易:Mina
3.链下数据:Filecoin


这几天关于 ZKP 的讨论非常热闹。Paradigm 分析了 ZKP 的硬件加速,认为 FPGA 优于 GPU 和 ASIC;a16z 总结了关于ZKP 的相关概述—— 零知识证明阿姆斯特丹峰会 (Zero Knowledge Summit Amsterdam)上也提供了许多关于ZKP 的见解和新想法。


矿业

今年以太坊将从PoW转向PoS,区块链挖矿市场将大幅萎缩。虽然近年来出现了存储挖矿,包括 Filecoin、Chia、Arweave 等,但仍然无法满足以太坊退出带来的市场空缺。


但另一方面,ZKP 也在区块链挖矿中有一些早期的应用。例如市场上有矿工为Mina提交他们生成的零识证明来赚取代币。在 Filecoin 中,矿工需要为存储在链下的每个数据扇区生成 ZKP,从而获得存储能力。


图二:Mina ZKP marketplace


我们可以看到,传统的哈希挖矿也存在诸多关于能源浪费、无意义计算的争议。因此,区块链领域正在努力寻找一种有意义的挖矿方式。ZKP的特性(证明任意语句复杂证明但简单验证)为区块链挖矿市场提供了更多可能性。


机会

今年我们会专注于一些零知识证明挖矿项目。

Filecoin
Filecoin 利用 ZKP 通过名为复制证明和时空证明的算法来证明链下数据。我们认为今年 Filecoin 挖矿将继续流行,原因有以下三个:


1.由于其经济模型,算力质押成本在过去一年中从 0.25 降至0.16 FIL。
2.FIL 的价格大幅下跌,进一步降低了其挖矿成本。
3.FVM智能合约的路线图为项目带来了积极的信号。
图三:Sector Initial Pledge Variations (FIL/32GiB)

Aleo
Aleo 启动了第一个“ZKP 证明”挖矿模式,在该模式下,矿工的计算能力取决于每单位时间可以计算多少个证明。该挖掘算法被命名为PoSW(Proof of Succinct Work),简述如下:
pseudo_random(zk_prove(nonce)) < target_difficulty
zk_prove()是用  nonce  作为输入来生成“包含其交易的当前块”的证明。target_difficulty根据全网算力调整。可以看到PoSW 和 PoW 基本相同,唯一的区别是 PoW 计算哈希,而 PoSW 计算 ZKP。


此外,Aleo 还开发了第一个“隐私智能合约”Leo。虽然还有其他基于 ZKP 的智能合约,如 zkSync 的 zkEVM、StarkWare 的Cairo 和 Mina 的 zkApps,但它们都不支持隐私。


去中心化 ZK-Rollups
目前 ZK-Rollups 的设计是中心化的:只有特定的operator才能向 L1 提交交易批次和有效性证明。Vitalik 给出了一些使operator去中心化的建议,例如排序拍卖、PoS 集合中随机选择和 DPoS 投票。 zkSync StarkNet 都有明确的去中心化 ZK-Rollups 路线图。还有一些前沿研究,如 Polygon HermesStarkNetPoVPtaikocha.in


去中心化的 ZK-Rollups 带来了一种新的挖矿模式:矿工可以提交他们生成的证明,从而获得奖励,类似于Mina 的 ZKP交易市场。但是交易市场并不是最好的解决方案,因为证明会被浪费若无人购买。我们需要一个 ZKP 的并行计算架构来聚合所有矿工的力量。


挑战

Paradigm 的文章中有详细说明,ZKP 挖矿的第一个挑战是加速。Paradigm 假设 FPGA 在硬件加速方面优于 GPU 和 ASIC,但我们有一些不同的看法。我们认为,在可预见的未来,GPU 仍将是 ZKP 计算的主流硬件,原因在于:


1.ZKP 算法在未来会频繁变化,GPU 是对程序员最友好的硬件。
2.矿工持有大量 GPU,尤其是对于以太坊挖矿。当以太坊最终切换到 PoS 时,这些 GPU 将可用于ZKP 挖矿。

第二个挑战是 ZKP 在分布式硬件上的并行计算。目前,解决方案分为三种:


1.如果每个证明只需要一点点计算,比如 Aleo,传统的矿池适合将计算任务分配给分布式硬件。
2.有时我们可以将单个证明分成多个证明,例如 zkSyncFilecoin。在这种情况下,分离的证明可以并行计算,然后聚合成一个。
3.DIZK是一种能够以分布式方式计算单个证明的架构。

附:
1、Why and How zk-SNARK Works:https://arxiv.org/abs/1906.07221
2、QAP(Quadratic Arithmetic Program):https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649
3、Awesome zero knowledge proofs:https://github.com/matte
4、可设置性:https://vitalik.ca/general/2022/03/14/trustedsetup.html
5、零知识证明阿姆斯特丹峰会:https://www.youtube.com/watch?v=SCIuwh9ya8U
6、FVM:https://fvm.filecoin.io
7、Paradigm Hardware Acceleration for Zero Knowledge Proofs:https://www.paradigm.xyz/2022/04/zk-hardware
8、DIZK:https://github.com/scipr-lab/dizk



可点击下方“阅读原文”查看原文内容。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

相关Wiki
Fox 视界
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开