# 十六秒只是容易的部分：以太坊的 zkEVM

> 以太坊的实时证明目标在以太坊基金会自己给出的数据上已经达成。更难的问题在于，底层的一些安全假设本来就是错的。

- Source: https://www.steadyrain.xyz/zh/articles/ethereum-l1-zkevm-realtime-proving/
- Publisher: Steady Rain
- Author: 0xYatha
- Published: 2026-10-28T04:25:00.719Z
- Categories: DeFi
- Language: zh

## 引言

以太坊基金会在2025年12月18日发布的关于zkEVM安全基础的文章，在同一份文档里做了两件事。它宣布实时证明的目标已经达成：证明延迟从16分钟降到16秒，成本降低约45倍，zkVM在成本低于10万美元的硬件上，能为99%的主网区块在10秒内生成证明。但接着它又承认，支撑基于STARK的证明系统的一些数学猜想已被证伪，这意味着一个宣称达到100比特安全性的zkEVM，实际提供的可能更接近80比特。

这两个说法属于不同的范畴。第一个是工程成果，自行披露，并在公开看板上可见。第二个是对行业此前已在宣传材料和审计摘要中宣称的说法的撤回。性能数字提升了，安全数字之前是错的。

这个先后顺序才是有意思的地方。对一个被内化（enshrined）到L1的zkEVM来说，吞吐量从来不是约束瓶颈。一个需要16分钟才能证明一个12秒区块的证明系统，对共识毫无用处，所以延迟必须先降下来，zkVM团队也确实很快把它降了下来。但一旦以太坊验证者停止重新执行交易、转而接受证明，证明系统就变成了决定"什么是真实"的东西。在这个世界里，活性失败意味着错过一个slot。而可靠性（soundness）失败意味着共识接受了一个从未真实发生过的状态转换：代币凭空铸造、余额被篡改、桥被抽干资金，而且下面没有重新执行层来兜底发现问题。

所以基金会的2026年路线图是一次安全冲刺，而不是性能冲刺。交付物包括一个叫soundcalc的评分工具，要在Glamsterdam分叉前实现100比特可证明安全性且证明小于600 KiB，到2026年底实现128比特安全性且证明小于300 KiB，并附带一个形式化的可靠性论证。这里分量最重的词是"可证明的（provable）"，与"猜想的（conjectured）"相对，这个区分之所以关键，正是因为那些猜想已经失败过一次。

## 实时证明要跨越的门槛

*[Figure: img1]*

开启这一项目的2025年7月10日基金会文章，将实时证明定义为一组硬性数字，而不是一个前进方向。为99%的主网区块在10秒内生成证明。本地部署的资本支出低于10万美元。功耗低于10 kW。证明大小低于300 KiB。安全性至少达到128比特，短期内以100比特作为底线。没有可信设置，且代码完全开源。

每一条约束都对应着最终状态的某个属性。10秒的延迟预算之所以存在，是因为以太坊的slot时间不允许证明在下一个区块之后才到达。10万美元和10 kW的上限之所以存在，是因为基金会希望证明工作对非超大规模运营商也保持可及性，他们将此视为一种抗审查保障：如果只有少数几个工业级设施能及时产生证明，这些设施就有能力拒绝证明某个区块。证明大小的限制很重要，因为网络上每个验证者都要下载证明，一个600 KiB的对象在一个slot内传播给每个节点，与50 KiB的对象是完全不同量级的带宽问题。没有可信设置则消除了一类仪式性风险，这类风险是日后再多审计都无法弥补的。

所有这一切服务的机制是**无状态验证（stateless validation）**。今天，以太坊验证者持有完整状态，并重新执行区块中的每一笔交易，以确认提议者所声称的后置状态根。这种重新执行正是节点硬件要求与gas上限挂钩的原因，也是提高gas上限会引发争议的原因。在无状态验证下，验证者不持有任何状态。它接收到一个区块、一个简洁证明——证明针对前置状态根执行区块中的交易会得到所声称的后置状态根——然后验证该证明。验证的成本很低，且大致与所证明计算的规模无关。而生成证明的成本很高，且随计算规模扩大。

这种不对称正是gas上限扩容论点的全部来源。如果验证者是验证而不是重新执行，那么验证一个大10倍的区块的成本，对他们而言不会随之增长10倍。成本会转嫁给证明的生产者。基金会的推进顺序正是由此而来：验证者先可选地运行无状态ZK客户端，与正常的重新执行并行；一旦超级多数的质押方对此感到放心，gas上限就提升到只有通过验证证明才能跟上的水平；一旦所有验证者都转为验证证明，这些证明就可以输入一个`EXECUTE`预编译合约，将同一套机制扩展到rollup上。

Ethproofs是生态用来衡量这一进程的公开追踪器，它将路径分为五个阶段：性能冲刺、安全冲刺、延迟证明、强制证明、内化证明（enshrined proofs）。截至本分析所依据的快照时刻，性能冲刺已标记为完成，安全冲刺是当前阶段，正朝着100比特和600 KiB这一里程碑推进。最后三个阶段尚未开始。

## "99%区块"的宣称与追踪数据之间的距离

*[Figure: img2]*

基金会所说的"99%的区块在10秒内完成"，和Ethproofs群组数据，是从不同角度描述同一个系统，而两者之间的差距，正是剩余工程工作所在之处。

根据Ethproofs的汇总数据，在被追踪的502,520个区块slot中，证明者在10秒内生成证明的比例是70.2%。这勉强达到了所声明的70%临时门槛，但达到得并不轻松。剩余的部分大多不是证明速度慢，而是证明缺席：26.2%的slot中记录到证明者处于离线状态，3.36%处于"呆滞（stunned）"状态，0.22%处于"瘫痪（paralyzed）"状态。若以"证明确实被完成"为条件，95.4%的证明落在了合格的时间窗口内。

这两个数字——无条件的70.2%和有条件的95.4%——说明了一件具体的事情：证明系统本身很快，但它周边的运营还不够可靠。一个在GPU集群上运行实验性zkVM的研究群组出现宕机是正常的，没人应该把四分之一的slot离线解读为对底层密码学的质疑。但基金会的路线图最终会走到强制证明阶段，那时一个缺失的证明将是一个与共识相关的事件，而不是看板上的一个空白。在那个阶段变得可信之前，必须趋近于零的变量是离线率，而这正是性能冲刺的标题数字没有涉及的变量。

证明者多样性呈现出同样的形态。在实时证明群组评估的十个证明者中，只有三个达到了每周合格门槛：Zisk为69%，Axiom为58%，zkDTVM为8%。其余的，包括Pico、Airbender的各个变体、Succinct和Ziren，都是0%。这是一个移动目标的快照，其中几个团队很可能在几周内就能越过门槛。但这仍是网络今天所处的配置，而且它对下一节很重要，因为基金会针对可靠性失败所提出的防御手段就是多样性。

与此同时，成本已经低到两年前几乎没人能猜到的水平。领先的证明者报告的单次证明成本在0.0031美元到0.0063美元之间，这是在4到16块NVIDIA 5090 GPU组成的集群上实现的。用三分之一美分证明一个以太坊区块，相对区块奖励而言不是一个舍入误差，而是完全不值一提的数字。这个价格能否经受住一个纳入全成本电费、折旧、冗余和运营商利润的竞争性市场的考验，是另一个问题，研究群组的经济账不等于市场经济账。

## 为什么可靠性失败是另一类问题

每个分布式系统都会区分活性和安全性，而这种区分通常会演变为一种权衡：多接受一点某一方，就要少一点另一方。而一个内化到L1的zkEVM，让这种权衡变得极度不对称。

证明层的活性失败意味着某个区块在slot内没有收到任何有效证明。在提议的设计下，这是可以承受的。网络可以在可选和延迟阶段回退到重新执行，验证者可以拒绝在未经证明的区块上构建，而针对应当生产证明却未能生产的一方，也可以设置惩罚使重复失败代价高昂。损害体现为错过的slot和延迟的最终确定性。

可靠性失败则意味着证明系统接受了一个针对虚假状态转换的证明。如果验证者已经停止重新执行，栈中没有其他任何东西在检查。基金会自己的表述说得很直白，这会允许什么：铸造代币、篡改状态、窃取资金。这里没有类似链停摆这种能在过程中捕捉到问题的机制，因为从共识的角度看，没有发生任何异常。被伪造的状态就是规范状态。

这正是为什么提议的推出方案从不把信任放在单一一个zkVM身上。基金会设计中的无状态ZK客户端会验证来自多个独立实现的zkVM的证明，每个zkVM针对不同的EVM实现进行证明，示例数字是三个。验证者只有在全部通过验证时才接受该区块。这个类比很明确：这就是把客户端多样性往下应用了一层。单个zkVM中的可靠性漏洞会变成一个活性问题，而不是一次盗窃，因为其他验证器会拒绝伪造的证明，该区块不会被验证通过。

这个论证的薄弱之处，和困扰客户端多样性本身的薄弱之处一样。纵深防御只有在各实现独立失败的前提下才有效。如果两个zkVM建立在相同的多项式承诺方案之上，依赖相同的可靠性猜想，通过有重叠的工具链编译，针对同一个EVM规范，那它们提供的并不是三次独立的纠错机会，而是一次机会打扮成三次。群组数据让这一点变得具体：如果在任一时刻只有三个实现足够快到符合资格，那么验证者实际可用的多样性就是恰好这三个实现，而这几个实现之间的相关性结构，Ethproofs看板并没有衡量。

名义上的多样性在换了个标签之后复现出集中化，这是这里值得警惕的失败模式，而这不是靠在追踪器上多加几个条目就能解决的。

## 可证明比特数与猜想比特数

*[Figure: img3]*

基金会对可靠性问题给出的答案，是停止接受自我申报的安全等级，转而用一个统一标准来评分。这个标准就是**soundcalc**，一个根据当前密码学界限和证明系统参数来估算zkVM安全比特数的工具。各参与团队的集成工作目标定在2026年2月底完成，评分将与性能、活性和成本一起发布在Ethproofs上。

之所以需要一个工具而不是一个披露要求，是因为STARK的安全性论证经常是基于猜想来设定参数的。证明系统的设计者选定一组参数，如果某个关于底层代码或承诺方案行为的特定猜想成立，这组参数就能达到目标安全等级，设计者据此发布这个目标数字，然后这个数字就开始流通。"在猜想C成立的条件下是安全的"和"是安全的"之间的差距，在一句话的100比特声明里是看不见的。

根据12月那篇文章，这些基础猜想中至少有一个已被数学上证伪。这个后果不是学术层面的。一个在已被证伪的猜想下宣称达到100比特的系统，用已被真正证明的部分来评分，可能只有接近80比特。80比特的可靠性并不会立刻被一个带着GPU的攻击者攻破，但它是一个错误的数字，不该用来保护一个结算层，更不该是在声明已经做出之后才被发现的错误数字。

随后的路线图是具体的。到2026年5月底的Glamsterdam分叉前，参与的zkVM应达到100比特可证明安全性，证明不超过600 KiB。到2026年底，在代号H-star下，目标是128比特，证明小于300 KiB，并附带形式化的可靠性论证。

这两个目标彼此牵制。STARK的安全冗余在很大程度上来自重复，而重复会让证明体积膨胀。从100比特/600 KiB做到128比特/300 KiB，意味着要提升构造本身的"每字节安全性"，这正是那篇文章提到更新技术的原因：作为承诺方案的WHIR、JaggedPCS，以及重构的递归架构——改变在执行轨迹和验证者最终下载的那个对象之间，叠加了多少层证明压缩。这些都是活跃的研究方向，附带研究阶段固有的风险，而这份时间表假设它们都能落地。

### 比特数无法覆盖的部分

描述soundcalc的资料说明了它估算什么，却没有说明它遗漏了什么，而这个遗漏清单，恰恰是这个领域历史上真正造成损害的地方。

一个基于密码学界限和证明系统参数得出的可靠性评分，是对协议理论层面的陈述。它说的是：一个无法破解底层困难性假设的攻击者，伪造一个针对虚假命题的证明的概率不会超过某个界限。但根据现有资料，它并不涉及电路是否忠实编码了EVM的语义，是否存在约束系统欠约束、导致无效的witness也能满足约束，witness生成器产生的值是否是约束系统未能确定的，或者将高层电路描述翻译成约束的编译器是否引入了偏差。

这些正是实际导致过真实zkEVM事故的漏洞类别。一个系统可以拥有数学上无懈可击的128比特可靠性论证，却仍然接受一个伪造的证明，原因仅仅是某个操作码的约束集放行了一个本应被禁止的值。基金会7月的文章承认了这个更广泛的需求，将形式化验证、审计和漏洞赏金列为长期必要的手段，这意味着它自己也不认为比特数就足够了。但公开评分板展示的将是一个以比特为单位的数字，而看板上的数字往往会变成人们引用的那个东西。

从现有资料中，我们无法确定soundcalc的覆盖范围是否打算延伸到实现层面的正确性，也无法确定是否有一个单独的验证轨道来覆盖它。在这些评分变成阶段切换的门槛标准之前，这个空白值得先厘清。

## EXECUTE与原生rollup路径

*[Figure: img4]*

这个项目的第三条线是一个设计提案，而不是一个已上线的系统。Justin Drake于2025年1月发布在ethresear.ch上的原生rollup文章，描述了一个`EXECUTE`预编译合约，它会把L1执行验证作为一个原语，开放给任何合约调用。

这个预编译合约接受一个前置状态根、一个后置状态根、一笔交易轨迹和一个gas量，返回在gas上限内针对前置状态执行该轨迹是否能得到后置状态。验证者如何确信这个答案，在共识层被刻意留白。验证者可以直接重新执行这条轨迹，也可以验证一个证明相同命题的SNARK。没有哪种证明系统被内化进协议。质押运营商可以像今天选择执行客户端一样，自行选择zkEL验证客户端，这是一个主观的本地决策，而不是协议常量。

gas计费设计让这个原语可计量。调用成本是一个固定的`EXECUTE_GAS_COST`，加上内部执行所消耗的gas乘以一个专门针对`EXECUTE`、采用EIP-1559式动态定价机制的费率，并对一个区块内所有此类调用设有独立的累计上限和目标值。即使调用返回false，gas也会被全额扣除，这消除了廉价提交无效轨迹进行攻击的明显空子。

**原生rollup**由此变成一个把`EXECUTE`包裹在派生函数中的合约：处理排序、桥接、强制纳入和治理的逻辑。rollup状态转换的正确性，不再是rollup自己向自己证明的东西，而是L1验证者在验证L1区块的过程中一并检查的东西。这从rollup的攻击面中去除的内容相当可观：不再需要一个容易出错的定制SNARK电路，不再需要带着挑战窗口和保证金假设的欺诈证明博弈，也不再需要安全委员会作为两者出bug时的兜底方案来持有升级密钥。rollup在结构上保持与EVM等效，并自动继承L1的硬分叉，因为`EXECUTE`所强制的语义，就是L1执行在那一时刻的语义。

时序机制是最微妙的部分。该提案勾勒了一种延迟一个slot的执行方式：在区块n+1正在构建的同时，给证明者一整个slot去生产区块n的证明，验证者对区块n+1的验证以区块n的证明是否可用为前提。错过slot的惩罚示例定在约1 ETH。轻客户端的活性依赖于一个"利他少数派证明者"假设，即这个设计预期至少有一些证明者会在边际经济效益微薄的情况下仍然生产证明。

Drake的文章还指出，一个乐观型原生rollup的gas上限可以远高于`EXECUTE_CUMULATIVE_GAS_LIMIT`，因为在乐观方案中，`EXECUTE`只在需要就一小段有争议的内容裁决挑战时才被调用，而不是用于验证每一个区块。这对吞吐量很重要：ZK路径的成本受限于L1愿意计量的上限，而乐观路径把`EXECUTE`当作一个只在争议发生时才付费的结算预言机来使用。

这一切目前都还没有上线。这篇文章是2025年1月的一个设计草案，带有示例性参数，惩罚额度、延迟结构和gas常量都是占位值。有关这一路线图的讨论中提到，一次概念验证演示发生在2026年3月；现有资料没有记录其范围或结果，我们将其视为未经证实的信息。一个预编译合约的可用演示，距离共识层集成、费用市场校准，以及一个能在一个slot内验证相关证明的客户端生态，还有很长的路要走。

## L2技术栈中留存下来的部分

如果原生rollup真正落地投产，它淘汰的是rollup技术栈中的特定一层，而不是作为一个类别的rollup本身。

消失的是那套定制的安全装置。一个把状态转换路由通过`EXECUTE`的rollup，不再需要维护自己的证明者、自己的电路、自己的验证合约，也不需要那套为了在这些东西出问题时打补丁而存在的治理结构。安全委员会——实际上是"证明系统出bug时该怎么办"这个问题的现实答案——失去了持有密钥的理由。对于那些以EVM等效性加更低费用作为差异化卖点的团队来说，这占据了他们大部分的工程预算，以及他们目前要求用户接受的大部分信任假设。

不会消失的是状态转换函数之上的一切。总得有人来排序交易，而排序权今天仍是大多数rollup的主要收入来源。总得有人来发布数据，而blob费用是一项`EXECUTE`完全无法降低的真实成本。派生函数仍然必须正确处理强制纳入，这正是rollup的抗审查性真正所在之处，处理不当仍然是丢失用户资金的一种方式。桥接逻辑仍然必须被编写出来，而且必须正确。

而且原生rollup按定义是EVM等效的，这限定了它能服务的对象。一个运行非EVM虚拟机、修改过gas计价规则、带有不同语义的原生账户抽象，或任何其他偏离L1执行方式的rollup，无法通过一个强制执行L1执行语义的预编译合约来路由。对这些系统来说，`EXECUTE`不是一条升级路径，而是在两者重叠的那个细分领域里，一个拥有更好安全叙事的竞争对手。

关于L2治理代币，诚实的立场是：支撑本分析的资料中没有任何市场、治理或代币经济数据，任何关于估值后果的说法都将是凭空编造。能从结构上说的东西范围更窄：一个主要功能是任命并约束安全委员会的治理代币，是对一个决策过程的权利主张，而原生rollup正是设计来消除这个决策过程所要解决的那些决策的。而那些功能是排序权、费用捕获或生态协调的代币，依附的是`EXECUTE`不触及的功能。这两种情形之间的区分才是值得关注的点，它因每个技术栈而异，而不是这个类别的共性。

迁移也不是免费的。一个桥接了数十亿资产的活跃rollup迁移到新的状态转换验证路径，本质上是在执行一次桥升级，而这是这个行业里风险最高的操作。团队会在不迁移就显得难堪的时候才会迁移，而不是因为设计优雅就去迁移。

## 证明集中化与自营验证者

*[Figure: img5]*

2025年7月那篇文章里的抗审查性论点，依赖于自营证明（home proving）保持可行，这正是为什么10万美元和10 kW这两个目标会存在。一个只有工业级运营商才能进入的证明市场，就是一个少数几方可以拒绝证明某个区块的市场，而在强制证明阶段，这就变成了一种否决权。

有必要把两个被混为一谈的角色区分开来。验证是廉价的：一个检查三个证明的无状态验证者并不需要GPU集群，而且在无状态验证下，自营验证者的硬件负担很可能比今天更低，因为持有完整状态并重新执行才是昂贵的那部分。证明才是集中化风险所在之处。目前的成本数字，每个证明三分之一美分到六成美分，是在4到16块高端GPU组成的集群上实现的。这对一个资金充裕的个人来说是可以达到的，对一家公司来说更是轻而易举，但它不是一台笔记本电脑就能做到的事，这个"每证明不到一美分"的数字之所以亮眼，只是因为背后的资本投入够大。

群组构成也印证了这一点。十个被评估的证明者里只有三个合格，这不是一个市场，而是一个研究小组。这个比例究竟反映的是一个还在孵化、有七个团队正处于优化中期的阶段，还是反映证明业务存在规模经济、天然挤压小型运营商的结构性结果，单凭一个时点快照是无法回答的。两种解读都和数据相符。合格运营商的硬件供应链、电费成本敞口和地理分布，我们没能找到任何地方对此进行追踪。

同样的不确定性也适用于gas上限这个论点，这是目前提供的最具体、对用户最直接的好处。该计划要在超级多数质押方都能顺利运行ZK客户端之后，才提升L1的gas上限。如果无状态验证真的能把验证者成本和gas上限脱钩，那将是一个巨大且持久的胜利。但该提案假设证明能力能以可承受的成本随gas上限一起扩展，而证明成本确实会随所证明的计算量扩大。gas上限提高10倍，意味着要在同一个slot内证明大10倍的轨迹。目前的成本数字是在今天的gas上限下测得的。

## 什么需要变得可观察

性能冲刺拿出的数字，是第三方可以在公开看板上核实的，这比大多数基础设施路线图所能提供的要多。安全冲刺从外部审视起来则更难，因为一个"可证明安全性"评分是对一个大多数读者无法自行评估其正确性的证明所做的陈述，而且最危险的那类漏洞，看起来恰恰是这个评分覆盖不到的。

有几件事，如果发生，将比再一次的延迟提升更能提升这个项目的可信度。

- 在Ethproofs上发布每个证明者的soundcalc评分，并明确说明每个系统依赖、以及不依赖哪些猜想，这样读者才能判断三个合格的证明者代表的是三种独立的失败模式，还是一种。
- 被追踪slot中的离线率，从目前约26%降到一个能在强制证明阶段生效后依然可以承受的水平，在那个阶段，证明缺失是与共识相关的事件，而不是看板上的空白。
- 为每一次阶段转换发布一个公开的、量化的门槛。从延迟证明到强制证明再到内化证明的推进顺序，目前只是用阶段名称来描述，而没有说明推进所需的质押比例、独立且经过验证的实现数量，或持续可靠性指标。
- 对一个已被内化的系统发生可靠性失败之后会怎样，给出一个答案。如果一个伪造的证明铸造了代币且共识接受了它，恢复路径就是社会层面的分叉，这和以太坊一直以来的答案一样，但当触发因素是一个密码学漏洞而不是一次可见的攻击利用时，这个答案会让人舒服得多。

2026年的几个里程碑——2月完成soundcalc集成，5月Glamsterdam时达到100比特/600 KiB，年底达到128比特/300 KiB并附带形式化可靠性论证——都是基金会为自己设定的目标，而Ethproofs的阶段指示器仍显示安全冲刺为当前阶段，是这里唯一能拿到的独立状态信号。这些日期是否真的兑现了，支撑本分析的资料并未给出定论。

能确定的是难度的先后次序。从十六分钟到十六秒，花了团队十八个月的集中工程投入，他们有明确的指标和公开的排行榜。而从一个猜想出来的100比特，走到一个被证明的128比特，需要新的密码学真正奏效，需要新的约束系统真正正确，还需要一个衡量标准能够覆盖那些历史上真正造成过失败的漏洞类型，而不只是最容易量化的那些。

## 参考资料

- [Shipping an L1 zkEVM #1: Realtime Proving](https://blog.ethereum.org/en/2025/07/10/realtime-proving)，以太坊基金会，2025年7月
- [Shipping an L1 zkEVM #2: The Security Foundations](https://blog.ethereum.org/2025/12/18/zkevm-security-foundations)，以太坊基金会，2025年12月
- [Ethproofs](https://ethproofs.org/)，实时证明者追踪器
- [Native rollups: superpowers from L1 execution](https://ethresear.ch/t/native-rollups-superpowers-from-l1-execution/21517)，Justin Drake，ethresear.ch，2025年1月
