📖 术语 🔰 新手

🧾 zkEVM zero-knowledge Ethereum Virtual Machine

一台在主链之外运行以太坊智能合约的引擎,跑完之后递给以太坊一份简短的证明,说明这批活算得没错。以太坊只核验这份小小的证明,而不必把每笔交易重新跑一遍——ZK-rollup 正是靠这一招把交易做得更便宜。

💡
常见误解 — 「零知识」是不是说 zkEVM 会把你的交易藏起来?通常不是!这份证明的作用是表明这批活算得没错,而且以太坊能快速核验。大多数 zkEVM rollup 照样会把交易数据公开发布。
📥链下运行处理这批交易🧾新状态 + 证明一份简短的有效性证明以太坊核验核验这份小小的证明
📥 大量交易在链下跑 → 🧾 跑出一个新状态加一份简短证明 → ✅ 以太坊核验这份证明,而不必把活重做一遍。

🧮 通俗来说 — 一张盖了章的收据

想象一位靠得住的会计,把一大摞账目搬到一旁慢慢算清,再递给你一张盖了章的简短收据,证明账目对得上。你只看那个章,而不必把每一行重新核一遍。zkEVM 也是这个路数:它把一批 以太坊智能合约交易拿到主链之外去跑,再生成一份精简的零知识证明,证明这批计算没算错。以太坊核验这一份小证明就够了,不用把所有交易重新执行一遍。

⚙️ 它到底做了什么,一步步看

收据这个比方背后,机器走的是一条清楚的路。它拿一个起始状态,把交易跑一遍,产出两样东西:新状态,以及一份证明,说明这批活做对了。

步骤发生了什么
1️⃣ 取起始状态从当前的余额和合约数据出发
2️⃣ 跑交易把这批交易在链下执行,又快又省
3️⃣ 输出状态 + 证明产出一个新状态,外加一份简短的零知识证明,证明计算无误
4️⃣ 以太坊核验链上的验证合约核对这份小证明,确认无误后接受结果

🚀 新手为什么会听说它 — ZK-rollup 背后的引擎

zkEVM 是 ZK-rollup 内部的引擎,而 ZK-rollup 是一种架在以太坊之上的 Layer 2 网络。rollup 把交易拿到链下去跑,再把压缩后的数据连同那一份证明送回以太坊。好处是:吞吐量更高、手续费更低,同时又继承了以太坊的安全性,因为最后还是由以太坊亲自核验那份证明。早期的 ZK-rollup 只能处理简单的代币转账;zkEVM 把它们的能力扩展到完整的智能合约和 dApp——开发者无需懂底层那套密码学,就能把现成的 Solidity 应用搬过来。

🪜 四种「类型」(维塔利克·布特林,2022 年)

以太坊联合创始人维塔利克·布特林把 zkEVM 分成了四种类型。背后的取舍始终如一:越贴近以太坊,出证就越慢、越费钱。

类型含义
1️⃣ Type 1与以太坊完全等价、不做任何改动——出证最慢
2️⃣ Type 2保持 EVM 等价,内部做些小调整以加快出证
3️⃣ Type 3为了提速舍弃部分 EVM 特性——有些应用得改写
4️⃣ Type 4把高级代码编译成专为出证优化的字节码——最快,但最不容易直接搬迁

📊 这些标签会随时间变化,项目也会在各类型之间升级。把一个项目的「类型」当成一张快照看,而不是一块永久标牌。

🔍 你会在哪儿遇到它

多数情况下,你遇到 zkEVM 是把它当作某个 Layer 2 背后的技术名字——你为了更便宜的交易,把资金跨链桥过去的那个 Layer 2。现实中的例子有 zkSync Era(Matter Labs)、Polygon zkEVM、ScrollLinea。它们在证明系统、以及与以太坊的贴近程度上各有不同,但追的都是同一个目标:便宜、快速、又能让以太坊核验的交易。

🚨 新手须知

  • 🔓 默认并不匿名 — 证明针对的是「算得对不对」,不是藏起你的活动;大多数 zkEVM rollup 都会公开发布数据
  • 🌉 跨链要当心 — 资金往返 L2 都得走跨链桥;用官方那条,并反复核对地址
  • 🏷️ 类型会变 — 一个网络的 zkEVM「类型」会随升级而改变,别把那个标签当成铁板钉钉
  • 🧪 比以太坊年轻 — 这些都是年轻的系统;它们的合约和跨链桥所带的技术风险,比以太坊本身更高

❓ 常见问题

zkEVM 里的「零知识」是不是说我的交易是匿名的?
通常不是。zkEVM 里的证明是用一种简短、能快速核验的方式说明这批活算得没错,并不是为了隐藏你的活动。大多数 zkEVM rollup 仍会把交易数据公开发布,所以它们并不是隐私链。
zkEVM 的四种「类型」分别指什么?
这是维塔利克·布特林在 2022 年提出的分类。Type 1 与以太坊完全等价(出证最慢),Type 2 在保持 EVM 等价的前提下做了些小调整,Type 3 为了加速舍弃了部分 EVM 特性,Type 4 则把应用编译成专为出证优化的代码(最快,但最不容易直接搬迁)。取舍始终是兼容性与出证速度之间的权衡。
开发者要会密码学才能在 zkEVM 上做开发吗?
一般不用。zkEVM 的意义就在于现成的以太坊应用和 Solidity 合约能直接跑在上面,而零知识出证在底层默默完成。开发者无需自己学零知识那套数学,就能把应用搬过来。

🔗 相关术语 · 币种