原文标题:《 Foresight Ventures: 解读 zk, zkVM, zkEVM 及其未来 》

原文作者:Suning Yao @ Foresight Ventures

TL; DR

零知识证明技术, 可以保证计算的完整性、正确性和隐私, 在区块链扩容和隐私中有应用.

zk-SNARK 和 zk-STARK 各有优点, 而它们的合理结合更加有潜力.

zkVM 能赋予应用零知识证明能力, zkVM 分为使用主流、EVM 或全新指令集.

EVM 的适配包括 EVM 兼容性、等同性和 Specification 上的适配.

zkEVM 是兼容 EVM 而又零知识证明友好的环境, 主要分为原生和编译流派.

基于原生的 zkEVM 是以太坊和区块链的未来.

支持 Solidity 生态的通用 zkVM 是 Web3 的未来.

0. 零知识证明

不严谨但简单易懂地来介绍一下零知识证明:

你在上小学. 老师是验证者, 你作为学生是证明者. 你如何证明你掌握了一元二次方程的求解公式呢? 那就需要数学考试.

老师会随机出 10 道相关的题目, 而你如果掌握了, 则可以把他们都做出来. 在这个过程中, 你没有背诵或者默写求解公式的具体内容, 但是老师却可以很简单地验证你的知识掌握程度.

https://image.theblockbeats.info/upload/2022-05-25/0b0df2838ee59a03c66e0ee5e27c9da0a3ab8299.png?x-oss-process=image/quality,q_50/format,webp

其实这就是 Tartaglia 与 Cardano (对的, 就是这个名字) 争夺谁是一元三次方程发现者时所采用的方法. 他们都不想告诉对方自己公式的内容, 但是通过做题, 就可以很容易地验证且过程中不透露知识地, 判断他们是否掌握了这一知识.

零知识证明有什么用呢? 用处就是, 整个过程可以节省计算算力和压缩链上空间, 同时也可以对隐私有保护, 符合区块链去信任的特点以及密码学的基因.

1. SNARK 和 STARK

区块链领域中所用到或者提到的「zk」通常不是真正的零知识证明, 而经常是 Validity Proof. 由于相关词汇的混乱, 所以本文中的某些地方会延续这些「误用」.

https://image.theblockbeats.info/upload/2022-05-25/3461b10891f1c07369bc332d8f0641b9b3b0a03c.png?x-oss-process=image/quality,q_50/format,webp