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

在此前文章中,我们通过漫威英雄和数独游戏,通俗理解了零知识证明技术原理。

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

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

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 的愿景是为整个区块链世界提供更便捷的隐私保护服务。

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

扫一扫手机访问

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

发表评论