查看原文
其他

小学生也能看懂的零知识证明科普(3)zkSNARK、zkSTARK 都是什么? | ZKP101

曼达洛人 Manta Network Protocol 2022-11-25
在此前文章中,我们通过漫威英雄和数独游戏,通俗理解了零知识证明技术原理。

小学生也能看懂的零知识证明科普(1)零知识证明与交互式证明 | ZKP101
小学生也能看懂的零知识证明科普(2)虚拟机与非交互式证明 | ZKP101

本系列将试图用通俗的举例和语言,帮助大家理解复杂概念。本系列非学术论述,举例只为帮助大家通俗理解,或不严谨之处,请谅解。更严谨的表述,欢迎大家查看专业论文学习。

总结下前两篇内容,以小编个人经验,以下几个核心点比较重要:

1/ 基本原理
零知识证明验证过程,参与者证明者为(Prover)和验证者(Verifier)。

零知识证明是对计算本身的加密。加密后,会生成一个密码学证明。

证明者提交证明。验证者在不获取信息本身的前提下,验证信息为真。

2/ 零知识证明当前主要应用方向:隐私与扩容。
零知识证明是对计算本身进行加密。验证者在不获取信息本身的前提下,验证信息为真,从而实现隐私保护。

关于扩容。
以太坊交易成本高,经济学原因在于,共识是昂贵的,不贵的共识不可信。

假设有 10,000 个节点,每个节点做重复计算,结果就很可靠,不会因少部分节点不诚实而对共识结果产生影响。这也是为何区块链可以去中心化——通过算法的手段建立信任。

而共识成本在于 10,000 个节点重复计算,成本比在 1 个节点上贵 10,000 倍。

零知识证明可从本质上降低成本——可以在 1 个节点上运行计算,生成零知识证明,其它节点用密码学方法验证计算的可靠性,无需重复计算全部交易数据。这也是 zk-Rollup 的原理。

这里稍微展开下。

在 zk-Rollup 链上的交易,会附带零知识证明,由官方运行的定序器(Sequencer)打包压缩,上传至以太坊主网,再由主网全节点校验证明,确认交易。

此外,还可以将 Optimistic Rollup 与 zk-Rollup 结合,在 Rollup 链内打包交易,使用欺诈证明也就是 Optimistic Rollup 方式,提高效率,减小区块。

数据上传至以太坊主网时,使用零知识证明,生成证明,方便主网全节点校验数据。也可以节省 Rollup 链在主网部署的成本。

V神在波哥大还以《Hardening rollups with multi-proofs》为主题进行分享,即采用多证明机制,加强Rollup安全。

方案之一采用欺诈证明(Optimistic)加ZK证明,再加上治理小组,形成2/3 机制 (Two-provers plus governance tie break)。不必信任治理(不能与证明相矛盾)。

当一个证明系统出现漏洞,另一个系统不受影响。

之后的文章将对此进行通俗阐释。

什么是“ZK”?

零知识证明,英文为 Zero Knowledge Proofs,所以通常简写为 ZK 或 ZKP。

见到 zkXXX ,说明应用了零知识证明。如 zk-EVM,即采用零知识证明技术,兼容 EVM;

zk-Rollup 代表以零知识证明构建的 Rollup 执行层。

zk-SNARK 与 zk-STARK

zk-SNARK 和 zk-STARK,是零知识证明底层技术。二者都是非交互式证明。(还记得钢铁侠发明的验证机器嘛?)

zk-SNARK,全拼Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,即零知识简洁非交互证明。

2014年 Zcash 创立之时,便已进入探索阶段。2016年,随着 Zcash 主网启动,zk-SNARK 也正式迈入应用阶段。

该技术经过长时间验证,是目前零知识证明领域最主流技术之一,目前应用较多,包括摩根大通 JP Morgan 的 Chase 在内诸多项目正在使用。

zk-SNARK 使用椭圆曲线保证安全,且需要可信设置。关于可信设置,让我们回顾下上篇文章的内容。


实际操作中,zk-SNARK 初启动时,要创建证明和验证所需私钥,其中包含公共参考串。

可信设置,是以去中心化的方式,将公共参考串销毁,使网络安全可信。

zk-STARK,全拼Zero-Knowledge Scalable Transparent Argument of Knowledge,即零知识可扩展透明证明。

该技术目前主要是 StarkWare 在应用,目前仍有部分代码未开源。

两者直观的区别在于,zk-SNARK 需要可信设置,zk-STARK 不需要。

(图片来自Foresight Ventures,原文链接https://foresightnews.pro/article/detail/5364)

上图中,Proof Size为证明大小,Prover Time为证明速度,Verification Time验证速度。

zk-SNARK 研究和发展历经时间较长,基于该技术诞生了 Groth16、Sonic、Fractal、Halo、PLONK、Marlin等分支。

而实际上,零知识证明技术,要在证明速度、验证速度、整体大小之间做取舍。

零知识证明技术之间,很难说有特别本质上的差异,主要是在以上三方面的取舍不同,继而产生的用户体验不同。

Manta 采用 zk-SNARK、Groth16。Groth16是目前最快、数据量最小的 zk-SNARK。

Manta在经典的隐私技术,如椭圆曲线密码(FH-ECC)算法等基础上,进行优化升级,Manta零知识证明生成速度比Zcash快十倍。

此外,随着时间前行,市场会给出最合理的选择。无论是 zk-SNARK 还是 zk-STARK,其发展最终会反馈在开发者数量、生态项目活跃度、代码活跃度以及用户采用程度等指标上。

总结
本文主要通俗地解释 zk-SNARK 和 zk-STARK。

1/ 零知识证明技术,要在证明速度、验证速度、整体大小之间做取舍。
零知识证明技术之间,很难说有特别本质上的差异,主要是在以上三方面的取舍不同,继而产生的用户体验不同。

2/ zk-SNARK 诞生时间久,经过验证,应用比较成熟,并诞生了 Groth16 等多种技术分支。zk-STARK 相比之下,诞生时间较短,仍需时间验证和完善。

3/ Groth16是目前最快、数据量最小的 zk-SNARK。Manta在经典的隐私技术,如椭圆曲线密码(FH-ECC)算法等基础上,进行优化升级,Manta零知识证明生成速度比Zcash快十倍。

4/ 技术终究是要为用户体验服务的。用户的选择最终会说明一切。

欢迎关注Manta Network Protocol公众号,或关注推特@manta_china

获取更多关于零知识证明和 Manta Network 的资讯。


关于 Manta Network

Manta Network 致力于通过隐私保护构建一个更好的 Web3 世界。Manta 的产品设计从第一性原理出发,通过 zkSNARK 等领先的密码学架构为区块链用户提供端对端的隐私保护。在保障隐私的同时,Manta 兼具互操作性、便捷性、高性能以及可审计性,允许用户进行任意平行链资产间的隐私转账和交易。Manta 的愿景是为整个区块链世界提供更便捷的隐私保护服务。

Manta 的创始团队由多位加密货币资深人士,教授和学者组成,他们的经验包括哈佛大学,麻省理工学院和 Algorand。Manta 的投资机构包括 Polychain、ParaFi、Binance Labs、Multicoin、CoinFund、 Alameda、DeFiance 以及 Hypersphere 等。Manta 也是波卡官方 Web3 基金会资助获得者,Substrate Builder Program 成员,伯克利大学区块链加速器成员。

We're Hiring!
访问查看开放职位:https://jobs.lever.co/MantaNetwork

关注官方频道了解有关 Manta/Calamari 的更多信息:

Website:https://manta.network/
Github:https://github.com/Manta-Network
Twitter:https://twitter.com/MantaNetwork
Medium:https://mantanetwork.medium.co
Telegram:https://t.me/mantanetwork
Discord:https://discord.gg/ZtSuSKRy8X
Telegram中文:https://t.me/mantanetwork_zh
Twitter中文:https://twitter.com/manta_china

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存