用一句话形容零知识(ZK)证明:ZK proof 是证明者说服验证者某些陈述是真实的,但除了陈述是真实的之外不透露其他信息的一种方式。ZK 是为匿名而设计的。想象一下,我们可以证明我们有一个有效的 ID,而无需验证者知道我们的真实姓名或 ID。
这里有一个更生动的例子。爱丽丝和鲍勃正在玩数独。爱丽丝想向鲍勃展示她找到了答案。但是,她不想透露任何关于答案的信息,因为 Bob 仍在研究它。你将如何设计这个证明?
答案很简单。我们把数独写成卡片,面朝下。鲍勃可以随机选择一列、一行或一个块。爱丽丝拿走那一列、那个行或那个块,然后洗牌。Bob 可以通过检查 1-9 的卡片来验证正确性。通过不断地执行这一步,鲍勃可以说爱丽丝知道答案,但鲍勃在验证后不知道答案。
如果您仍然无法理解,请观看此视频。UCLA CS 教授将在五个不同的层次上解释 ZK。你一定会理解它。
在全面检查 ZK 证明系统之前,请注意 ZK-SNARK 指的是一类方案的名称,而 ZK-STARK 是特定方案的名称。
让我们从 ZK-SNARK 开始。SNARK 代表简洁的非交互式知识论证。SNARK 不同于其他 ZK 证明系统,因为它的信任设置阶段,“N”代表了:
ZK-SNARK 的问题在于信任建立阶段。信任设置阶段生成一个参考字符串。如果参考字符串泄露,任何人都可以做假证明。此外,在多方之间协调这种信任建立阶段也很复杂。参考字符串只能在一个程序(电路)中使用。因此,不可能让 ZK-SNARK 具有用于一般计算的单一信任设置。另一个问题是参考字符串不可升级。如果我们升级程序,我们需要重新运行信任设置阶段。
为了解决这个问题,有两种方法:
业界常用的 ZK 证明系统如下:
这是基于这项研究的基准。CRS 是通用参考字符串。SRS 是在信任建立阶段生成的结构引用字符串。证明大小决定了基础层的存储成本——证明者和验证者的运行时间会影响计算资源。
来源:比较通用 zk-SNARKs
您可以在以下研究中找到更多基准:
总结一下,如果你看到一个新的零知识证明系统,你应该关心什么数字?
ZK 是近几年来应用的。ZK 的两个主要论点是 rollup,它提高了计算效率和隐私。对于私人观点,这是直观的,因为 ZK 除了语句本身之外,不与验证者共享任何知识。Rollup 论点在很大程度上依赖于 ZK 的两个特征:简洁和递归。简洁的特性有助于验证者节省许多计算资源,而不是重新运行整个程序。递归特性有助于节省存储空间。通过递归,区块链可以保持固定的大小。这也有利于去中心化,因为微小的区块链节点不需要高端硬件。
独立开发 ZK 应用,开发者需要具备以下研发技能:
有效的开发工具不仅可以加快开发过程,还可以降低复杂性。例如,像 Circom 这样的工具负责处理低级代数和证明系统。开发人员可以忽略代数和 ZK 证明系统,而专注于编程和应用程序开发。
rollup 的概念很简单。由于链上计算是扩展的,因此 rollup 将计算置于链下,并且只将结果存储在链上。
Merkle 树的状态根存储在 rollup 合约中。根可以用来验证叶子的存在。智能合约知道如何用信息批量更新状态,状态根切换到新的状态根。
资料来源:rollup 指南不完整 (vitalik.ca)
ZK rollup 批量使用 ZK proof 来验证新的状态根是否正确。ZK 证明可以用来验证批量执行 txs 后,我们可以批量获取新的状态根。验证者无需执行即可验证计算的正确性,验证者甚至不会知道执行了什么。简洁的特性有助于 ZKRU(ZK rollup)规模化。
Optimistic Rollup 不如 ZKRU 完美。例如,由于依赖欺诈证明,ORU 的 TPS 较少,提款期较长。因此,一些 ORU 正在将 ZK 集成到他们的解决方案中。通过这种方式,他们可以提高 TPS 并缩短提款期。例如,他们可以将 ZK 添加到状态转换中,以缩短防欺诈时间。
rollup 中包含三个角色:
资料来源:从第一原理理解 Rollup 经济学
对于 Layer2 的经济来说,最重要的是成本和收入。
对于 Layer2,我们可以将成本分解为以下内容:
网络的一项主要成本是数据存储。此图表说明了数据的存储方式。首先,用户将数据 (txs) 发送给汇总运营商。然后汇总操作员将大量数据(txs)打包成批次并发布到基础层。
资料来源:从第一原理理解 Rollup 经济学
此图表说明了 Rollup 为基础层支付的费用及其收入。
资料来源:L2 Fees.info,2022 年 3 月 28 日
Layer2 的共同收入是费用和 MEV 价值。费用因网络状态而异,MEV 因用户的交易而异。此外,Layer2 可能会发行新的代币。代币将成为 Rollup 运营商的奖励。
此图显示了不同 Layer2 的现状。Arbitrum 主导着整个市场。
来源:https://l2 beat.com/2022 年 3 月 28 日
该图说明了不同链使用的不同技术。这是一个简短的解释:
来源:https://l2 beat.com/2022 年 3 月 28 日
以下是 Ethhub 上列出的 ZKRU 的优缺点:
优点:
缺点:
目前,大多数可用的 ZK Layer2 仅具有有限的功能,例如支付。ZKSync 是 Gitcoin 使用的一种支付层。还有启用了自定义 VM 的 ZK Layer2。这些自定义 VM 与 EVM 不兼容,例如 (StarkEx + Cairo, zkSync 1.0 + Zinc)。
ZKEVM 是所有 ZKRU 的下一个里程碑。ZKEVM 解决方案分为三个级别:
在以太坊路线图中,以太坊将集成共识级别的 ZKEVM。
来自 EF 的 Justin Drake 预计会在 2022 年看到字节码级别的 ZKEVM,例如 Hermez 或 Scroll,但有一些限制:
为了进一步降低成本,一些 ZKRU 正在实施 Volition,改变它们的基础层。他们计划将数据存储在链下或链上。
市场上有 16 个 ZKRU,其中 7 个已经发布了代币。总市值为 $150 亿,约占整个加密市场的 0.67%。
Polygon 目前在 4 个 ZK 产品上工作:
zkSync 于 2019 年 12 月启动。zkSync 是由 Matter Labs 构建的 ZKRU。它基于 Plonk 和可信赖的。目前,它支持支付功能和有限的智能合约功能,使用定制的编程语言 Zinc。
zkSync 2.0 测试网于 2 月上线,特色 ZKEVM。Matter Labs 将大部分 OPCODE 制成电路以实现 EVM 兼容性。目前,它不支持 ADDMOD、SMOD、MULMOD、EXP、CREATE2 和 KECCAK256。在这种方法中,Solidity 将成为一等公民。
zkSync 2.0 中的 gas 将根据当前的 Layer1 gas 价格(Layer1 上的数据存储成本)和 ZK 证明生成成本而波动。
为了进一步提高 TPS 并降低成本,zkSync 将推出 ZKPorter。用户可以选择将他们的账户数据存储在 ZKPorter 上,这比基础层的成本要低得多。如果一个账户存储在 ZK Porter 上,它的所有 tx 只能存储在 ZKPorter 上。它们不能存储在以太坊上。ZKPorter 将由 zkSync 代币持有者保护。
资料来源:Dune,2022 年 3 月 28 日
Starkware 由 Zcash 的核心团队成员于 2018 年 5 月启动。
Starkware 有两种解决方案:StarkEx、StarkNet。
StarkEx 是一个 SaaS,为 dYdX、DeverseFi、Immutable、Sorare 等项目设计 ZKRU。dYdX 相当成功。以下是一些关于 dYdX 的指标。它每周有大约 4,000 名活跃交易者。
来源:Layer 2 公共仪表板・Metabase (dydx.exchange)
StarkNet 是无需许可的版本。StarkNet 不兼容 EVM。它使用 Cairo 编写智能合约。
Starkware 也在开发 ZKEVM。但是,他们有不同的方法。他们使用 Warp 将 Solidity 编写的智能合约转译到 StarkNet 上的 Cairo。这种方法不如 zkSync。
与 EVM 兼容的 StarkNet Alpha 版于 2021 年 11 月推出。目前,每日交易数为 1033(数据来自 Explorer)。
同样,Starkware 也在研究链下存储。用户可以选择在以太坊或链下处理他们的交易。
Loopring 是一个 ZKRU DEX,支持低费用的现货交易,具有 2000 TPS。
Loopring 于 2018 年发行了其代币 LRC。目前,Loopring 的市值为 13 亿美元。Loopring 共有 65000 用户,每天增加 167 个独立用户,每天有 10896 笔交易(数据来自浏览器)。
dYdX 是 Loopring 的强大竞争对手。未来,当 ZKEVM 流行起来时,会有更多的竞争者加入这个市场,因为在 ZKEVM 上的开发比开发新的 Layer2 DEX 更快。
区块链空间已进入多链时代。不同的链有不同的重点,各有特点,不光是纸上谈兵。我们在过去看到了许多具有高 TPS 的新链。现在,这些链拥有强大的生态系统和特色应用。由于开发工具,创建具有高 TPS 的新链比以前更容易。因此,现在我们更强调特色应用程序,而不是纸质数字。
Moonbeam 就是一个很好的例子。它具有某种类似 Polkadot 的基础层 和高 TPS。这看起来与大多数 Layer2 相似。在发布之前,moonbeam 与许多项目合作,比如寿司。它以完整的生态系统启动,如顶级 DEX、借贷和跨链桥,但缺乏重点和特色应用程序。
资料来源:Defillama,2022 年 3 月 29 日
因此,layer2 需要具有与其他高 TPS 链竞争的特性。在 layer2 生态系统中会有几个潜在的机会:
资料来源:Defillama dYdX,2022 年 3 月 29 日
ZK 已经在许多隐私项目中使用。例如,Tornado cash、Zcash、黑暗森林。
隐私项目分为三个阶段:
隐私项目的总市值约为 100 亿美元,约占整个加密市场的 0.45%。每日交易量约为 $10 亿美元。
Tornado Cash 是一种基于智能合约的隐私交易工具。它用于隐藏现金流。它现在支持 Ethereum、BSC、Polygon、Optimism、Arbitrum、Gnosis 和 Avalanche。
为了可用性,它实现了隐私。充值、等待、提现,用户可以拿到干净的钱。
ZK 用于用户的存款和取款过程。
资料来源:Dune,2022 年 3 月 28 日
资料来源:Trading View 2022 年 3 月 28 日
Zcash 是使用 zk-SNARK 实现私密交易的区块链。与 Tornado Cash 不同,Zcash 自定义区块链以实现隐私交易。
资料来源:2022 年 3 月 28 日 Zcash 交易图表
资料来源:Trading View 2022 年 3 月 28 日
Zecrey 是一款支持 Ethereum、Polygon、BSC、Near 和 Avalanche 的隐私支付应用程序。它处于隐私的第一层,交易隐私。Zecrey 提供了一个浏览器钱包来帮助用户私下转移和交换代币。要私下交换和转移,用户需要将代币存入由 Plonk 提供支持的 Zecrey layer2。layer2 中发生的一切都可以是私有的。Zecrey layer2 也支持跨链交换。
资料来源:Zecrey
目前,Zecrey 每天大约有 10 笔交易(数据来自资源管理器)
Suterusu 是一款支持 Ethereum、BSC、Fantom 和 Polygon 的私人支付应用程序。它使用 layer2 来保护用户的交易隐私。它还有一个跨链桥,可以在 ETH 和 BSC 之间转移 $SUTER。
资料来源:Suterusu
Suterusu 共有 15000 位用户和 24000 美元存款。用户增量停滞不前。它的市值约为 1000 万美元。
黑暗森林是一款 MMO。玩家需要向其他星球发送能量来占领它们。行星的位置是保密的。玩家需要自己找到这些行星(哈希碰撞)。ZK 用于证明位置相关的操作:
v0.6 第一轮,1700 名玩家加入游戏,700 人进入下一轮。在这一轮中,玩家完成了 200 万笔交易,花费了大约 1.5 万亿的 gas。假设它在以太坊上,按 80 gwei 的价格。所以总 gas 将花费 120 ETH。
Stealth AirDrop 允许用户匿名获得空投。用户首先使用他们的空投钱包来生成证明。然后他们可以使用其他钱包来获取带有证明的空投代币。
A16 z 也实现了类似的东西 a16z/zkp-merkle-airdrop-contracts (GitHub.com)。
这个例子展示了 ZK 在投票中的应用。
资料来源:nalinbhardwaj/stealthdrop:使用 ZK-SNARKs 的匿名空投(GitHub.com)
该项目在 ETHDanver 上亮相。用户可以生成 ZK 证明来证明他们有一个 buffiness,而不需要透露除用户的 Buffiness 之外的任何关于他们自己的信息。
这是 ZK 在 Identity 中的一个应用。
来源:zkPoB
ZKRepel 出现在第 13 轮 Gitcoin 捐赠计划 GR13 并获得了 5000 美元。这是 ZK 生态的在线游乐场。开发人员无需设置本地开发环境,即可在 ZKRepel 中快速编写和测试电路。它类似于混音。
我们看到了从本地开发到基于云的开发的范式转变。有 Codesandbox、Codepen、Codespaces 等著名产品。有了这些产品,开发人员可以随时随地持续工作,快速搭建新的开发环境。开发环境作为基础设施是当今大趋势。这是 GitHub 提出的,GitHub 用 Codespaces 实践了它。
没有关于 ZK 开发者的明确统计数据。但是,从 GitHub 上的数据来看,它比 Solidity 开发者少 500 多倍。
资料来源:ZKRepel
资料来源:如何资助你的 ZK 项目?
这里有一些专注于 ZK 项目的 VC 或赠款:
ZK 是一项非常有前途的技术,可以将不可能的事情变为可能。近年来,这里发生了很多突破。这些突破,如更强的性能、可升级性和无需信任设置,将 ZK 推向了应用阶段。因此,如果我们要查看 ZK 项目,我们需要关心这些理论数字:
ZKEVM 是 ZKRU 的下一个里程碑。ZKEVM 分为三个阶段:
ZK 刚刚进入应用阶段。生态系统仍然是空的。并非 ZK 的每一个特性都被很好地使用并应用于新产品。人们仍然可以从这一前沿理论中获得灵感。以下方向最能从 ZK 技术中受益:
应用 ZK 有两个主要论点:Rollup 和 隐私。Rollup 比隐私更有希望。隐私没有意义,因为它被设计为透明的。隐私文化与透明精神背道而驰。此外,隐私可能存在合规问题。Web2 时代,我们看不到隐私应用的繁荣。在同一品类中,顶级产品并没有高度关注隐私,尽管越来越多的机构改进了他们的隐私保护。隐私确实需要权衡。大多数时候是可用性,这是用户的关键。
在查看 ZK 应用程序时,以下几点很重要: