作者:Vitalik
编译:lenaxin,ChainCatcher
以太坊旨在成为世界账本:一个存储文明资产与记录的平台,是金融、治理、高价值数据认证等的基础层。这需要具备两个条件:可扩展性和韧性。Fusaka硬分叉旨在将二层(L2)数据的可用空间增加10倍,当前拟定的2026年路线图也提出对一层(L1)进行类似的大幅扩容。与此同时,以太坊完成合并升级至权益证明机制(Proof of Stake),其客户端多样性迅速提升,零知识证明(ZK Verifiability)可验证性以及抗量子计算能力方面的工作也在推进,各类应用也愈发稳健。
本文旨在聚焦于韧性(最终也会影响可扩展性)的一个方面,这一方面同样重要却容易被低估,即协议的简洁性。
比特币的一大优点在于其协议极为简洁优美。
区块链由一系列区块构成,每个区块通过哈希值与前一区块相连。区块的有效性通过工作量证明机制验证,即验证其哈希值的前几位是否为零。每个区块包含若干交易,这些交易消耗的币要么通过挖矿产生,要么来源于先前交易的输出。比特币协议的核心机制即在于此。即便是聪明的中学生也能完全理解这一协议,程序员甚至可以将其作为业余项目编写客户端。
保持协议的简洁性为比特币或以太坊成为全球公认的中立基础层提供了关键优势:
历史上,以太坊在协议设计上常未能贯彻简洁性原则(部分原因源于本人决策),这直接导致研发成本居高不下、安全隐患频发,以及研发文化的封闭性。这些问题的根源往往在于追逐被实践证明无效的短期收益。本文将阐述未来五年以太坊如何实现接近比特币的协议简洁性。
在3sf - mini(以太坊测试网络代号)中对三时隙最终性进行模拟
新版共识层方案(曾命名为“光束链”)旨在融合过去十年在共识理论、零知识证明(ZK-SNARK)、质押经济学等领域的研究成果,为以太坊构建面向长期发展的最优共识机制。相较于现有的信标链,该方案具备显著简化的特性,具体体现在以下方面:
以太坊虚拟机(EVM)的复杂性持续增长,其中许多复杂设计已被证明是不必要的(在很多情况下是我的决策失误):一个为特定加密算法过度优化的256位虚拟机,而这些算法如今已逐渐失去重要性;以及为单一使用场景过度设计的预编译合约,这些场景的实际使用率极低。
试图通过零散修补解决现存问题已不可行。移除SELFDESTRUCT操作码耗费巨大努力却仅获得有限收益,近期关于EOF的争论更凸显了对虚拟机进行渐进式修改的困难。
作为替代方案,我近期提出更激进的转型路径:与其对EVM进行中等规模(但仍具破坏性)的修改以换取1.5倍的性能提升,不如直接过渡到全新且显著更优的虚拟机架构,以实现百倍级的性能跃升。如同合并(The Merge)一样,我们通过减少破坏性变更次数,但提升每次变更的战略价值。具体而言,建议采用RISC-V架构或以太坊ZK证明程序所使用的虚拟机替代现有EVM。这一转型将带来:
主要挑战在于:不同于可立即实施的EOF方案,新虚拟机需要更长时间才能惠及开发者。可通过同步实施部分高价值的EVM改进(如提升合约代码大小限制、优化DUP/SWAP指令集)作为短期过渡方案。
这一转型将显著简化虚拟机架构。核心问题在于:如何妥善处理现有EVM生态?
简化(或优化而不增加复杂度)EVM任何部分的最大挑战在于,如何平衡实现预期目标与维护现有应用的向后兼容性。
首先需要明确的是:甚至对于单一客户端而言,界定何为"以太坊代码库"并不存在唯一标准。
目标是最小化绿色区域:即节点为参与以太坊共识所需运行的逻辑,包括计算当前状态、证明生成与验证、FOCIL(注:需确认是否为专业术语缩写)以及"基础"区块构建流程。
橙色区域无法缩减:若执行层功能(无论是虚拟机、预编译合约或其他机制)从协议规范中移除或其功能发生变更,需要处理历史区块的客户端必须保留该功能;但新客户端(包括ZK-EVM或形式化验证工具)可完全忽略此部分。
新增黄色区域:指对当前链上数据解析或最优区块构建极具价值,但不属于共识机制的代码。典型案例如Etherscan及部分区块构建器对ERC-4337用户操作的支持。若将以太坊核心功能(如外部账户EOA及其支持的各类旧式交易类型)替换为链上RISC-V实现,则共识代码将大幅简化,但专用节点可能仍需沿用原有代码进行解析处理。
橙色和黄色区域的复杂性属于封装性复杂度,任何希望理解协议的人员均可跳过这些部分,Ethereum实现方案也可自由选择忽略。此外,这些区域的代码缺陷不会引发共识风险。这意味着,相较于绿色区域的代码复杂度,橙色和黄色区域的复杂度对系统整体的负面影响显著更低。
将代码从绿色区域迁移至黄色区域的思路,类似于苹果公司通过Rosetta翻译层实现长期向后兼容的技术方案。
要求所有新开发的预编译合约必须包含规范的链上RISC-V实现。此步骤旨在推动生态逐步适应RISC-V虚拟机环境(以EVM向RISC-V迁移为例,该方案同样适用于EVM至Cairo或其他更优虚拟机的迁移):
通过共享协议组件实现简化
步骤四完成后,众多“EVM实现方案”仍将保留,并用于优化区块构建、开发者工具及链上数据分析等场景,但这些实现将不再属于核心共识规范的组成部分。届时,以太坊共识机制将“原生”仅支持RISC-V架构。
减少协议总体复杂度的第三种方法(也是最易被低估的方式)是尽可能在不同协议栈层级间共享统一标准。通常而言,在不同模块中采用不同协议实现相同功能既无必要也无收益,但此类设计模式仍普遍存在,主要原因在于协议路线图各部分之间缺乏有效协同。以下是可通过强化组件跨层复用来简化以太坊的具体场景示例。
纠删码的三类应用场景:
该设计显著降低单点数据丢失风险。
若在以下三个场景中采用相同的纠删码(如里德-所罗门码、随机线性码等),将带来显著优势:
若采用不同纠删码,需满足兼容性要求:例如,在数据可用性采样(DAS)分片中可同时使用横向里德-所罗门码与纵向随机线性码,但两种编码必须基于同一有限域进行运算。
当前以太坊的序列化格式尚处于半规范化状态——数据可被重新序列化为任意格式并进行传播,唯一的例外是交易签名哈希,该场景需采用规范格式以确保哈希一致性。然而未来,序列化格式的规范化程度将进一步强化,主要原因包括:
当上述转变发生时,我们可借此契机统一以太坊三个关键层级的序列化标准:(i)执行层(ii)共识层(iii)智能合约调用ABI
建议采用SSZ序列化格式,SSZ具备以下优势:
当前已有相关技术团队推进SSZ的全面迁移工作。建议在后续升级规划中延续这一技术路线,并基于现有成果进行扩展。
当从EVM迁移至RISC-V(或其他精简虚拟机架构)后,六叉Merkle Patricia树将成为区块执行证明的最大性能瓶颈(即使在常规场景下亦如此)。转向基于更优哈希函数的二叉树结构,将显著提升证明效率,并降低轻节点及其他应用场景的数据存储成本。
在实施该迁移时,应同步采用相同的树状结构实现共识层与执行层的统一。此举可确保以太坊全栈(包括共识层与执行层)均采用同一套代码逻辑进行数据访问与解析。
简洁性在诸多方面与去中心化具有相似性,二者均为实现系统韧性的基础前提。明确将简洁性作为核心价值需要文化层面的转变:其收益往往难以即时显现,而追求复杂功能带来的短期收益却显而易见。然而随着时间推移,简洁性的优势将愈发显著——比特币的发展历程便是这一观点的有力印证。
我提议以太坊协议设计参考TinyGrad项目的实践经验,为长期以太坊规范设定明确的代码行数上限目标,力求使以太坊共识关键代码的简洁程度接近比特币水平。具体而言,处理以太坊历史规则的相关代码可继续保留,但必须严格隔离于共识关键路径之外,确保其不对核心共识逻辑产生影响;同时在技术方案选择中应贯彻"优先选择更简单方案"的设计理念,优先封装复杂性而非扩散系统性复杂度,并确保所有设计决策都能提供清晰可验证的特性与保证,从而在整体上形成一种以简洁性为导向的技术文化。