金店

Vitalik博文:如何让5年后的以太坊变得像比特币一样简单

字号+ 作者:孔夫子旧书网 来源:基金专题 2025-05-22 15:51:21 我要评论(0)

摘要以太坊旨在成为全球账本,需要可扩展性和韧性。本文聚焦协议简单性的重要性,提出通过简化共识层(3-slot最终性、STARK聚合)和执行层(替换EVM为RISC-V或类似虚拟机)大幅降低复杂性,减少


摘要


以太坊旨在成为全球账本,需要可扩展性和韧性。本文聚焦协议简单性的重要性,提出通过简化共识层(3-slot 最终性、STARK 聚合)和执行层(替换 EVM 为 RISC-V 或类似虚拟机)大幅降低复杂性,减少开发成本、错误风险和攻击面。建议通过向后兼容策略(如链上 EVM 解释器)平滑过渡,并统一纠删码、序列化格式(SSZ)和树结构以进一步简化。目标是让以太坊共识关键代码接近比特币的简单性,提升韧性和参与度,需文化上重视简单性并设定最大代码行数目标。


以太坊的目标是成为全球账本:存储人类文明资产与记录的平台,服务于金融、治理、高价值数据认证等领域。这需要两方面的支持:可扩展性与韧性。Fusaka 硬分叉计划将 L2 数据的可用空间增加 10 倍,而当前提议的 2026 年路线图也计划为 L1 层带来类似的大幅提升。与此同时,以太坊已完成向权益证明(PoS)的过渡,客户端多样性迅速提升,零知识(ZK)验证、量子抗性研究也在稳步推进,应用生态日益稳健。


本文旨在聚焦一个同样重要却易被低估的韧性(乃至可扩展性)要素:协议的简单性。


比特币协议最令人赞叹之处在于其优雅的简洁性:



1. 存在一条由区块组成的链,每个区块通过哈希与前一区块相连。

2. 区块的有效性通过工作量证明(PoW)验证,即检查哈希值的前几位是否为零。

3. 每个区块包含交易,交易花费的币要么来自挖矿奖励,要么来自之前的交易输出。


仅此而已!即便是一个聪明的高中生也能完全理解比特币协议的运作,而一个程序员甚至可以将其作为业余项目编写一个客户端。协议的简单性为比特币(以及以太坊)成为可信、中立的全球基础层带来了诸多关键优势:


1. 易于理解:降低协议的复杂性,让更多人能够参与协议研究、开发和治理,减少技术精英阶层主导的风险。

2. 降低开发成本:简化协议大幅降低创建新基础设施(如新客户端、证明器、开发者工具等)的成本。

3. 减少维护负担:降低长期协议维护的成本。

4. 减少错误风险:降低协议规范及实现中发生灾难性错误的可能性,同时便于验证不存在此类错误。

5. 缩小攻击面:减少协议的复杂组件,降低被特殊利益集团攻击的风险。


历史上,以太坊(有时因我个人的决策)常常未能保持简单,导致开发成本过高、安全风险增加以及研发文化的封闭性,而这些复杂性追求的收益往往被证明是虚幻的。本文将探讨五年后的以太坊如何接近比特币的简单性。


简化共识层



新的共识层设计(历史上称为「信标链」)旨在利用过去十年在共识理论、ZK-SNARK 开发、质押经济等领域的经验,构建一个长期最优且更简单的共识层。相比现有信标链,新设计显著简化:


1. 3-slot 最终性设计:移除槽(slot)、周期(epoch)、委员会重组等概念,以及相关的高效处理机制(如同步委员会)。3-slot 最终性的基本实现仅需约 200 行代码,且相比 Gasper,安全性接近最优。


2. 减少活跃验证者数量:允许使用更简单的分叉选择规则实现,增强安全性。


3. 基于 STARK 的聚合协议:任何人都可成为聚合者,无需信任聚合者或为重复位域支付高昂费用。聚合密码学的复杂性较高,但其复杂性被高度封装,系统性风险较低。


4. 简化 P2P 架构:上述因素可能支持更简单、更稳健的点对点网络架构。


5. 重新设计验证者机制:包括进入、退出、提款、密钥转换、 inactivity leak 等机制,简化代码行数并提供更清晰的保证(如弱主观性周期)。


共识层的优势在于其与 EVM 执行层相对独立,因此有较大空间持续改进。更大的挑战在于如何在执行层实现类似简化。


简化执行层


EVM 的复杂性日益增加,且许多复杂性被证明无必要(部分因我个人决策失误):256 位虚拟机过度优化了如今已逐渐过时的特定密码学形式,预编译(precompiles)为单一用例优化却鲜被使用。


逐一解决这些问题效果有限。例如,移除 SELFDESTRUCT 操作码耗费巨大努力,却仅带来较小收益。近期关于 EOF(EVM Object Format)的争论也显示出类似挑战。


我最近提出一个更激进的方案:与其对 EVM 进行中等规模(但仍具破坏性)的更改以换取 1.5 倍的收益,不如向一个更优、更简单的虚拟机过渡,以实现 100 倍的收益。类似于「合并」(The Merge),我们减少破坏性变更的次数,但使每次变更更具意义。具体而言,我建议将 EVM 替换为 RISC-V,或以太坊 ZK 证明器使用的另一种虚拟机。这将带来:


1. 效率大幅提升:智能合约执行(在证明器中)无需解释器开销,直接运行。Succinct 的数据显示在许多场景下性能可提升 100 倍以上。

2. 简单性大幅改进:RISC-V 规范相比 EVM 极其简单,替代方案(如 Cairo)同样简洁。

3. 支持 EOF 的动机:如代码分区、更友好的静态分析、更大代码大小限制等。

4. 更多开发者选择:Solidity 和 Vyper 可添加后端以编译到新虚拟机。若选择 RISC-V,主流语言开发者也能轻松将代码移植到该虚拟机。

5. 移除大部分预编译:可能仅保留高度优化的椭圆曲线操作(量子计算机普及后连这些也将消失)。


主要缺点是,与已准备就绪的 EOF 不同,新虚拟机的收益需较长时间惠及开发者。我们可通过短期实施高价值的 EVM 改进(如增加合约代码大小限制、支持 DUP/SWAP17–32)来缓解这一问题。


这将带来更简单的虚拟机。核心挑战在于:如何处理现有的 EVM?


虚拟机过渡的向后兼容策略


简化(或在不增加复杂性的前提下改进)EVM 的最大挑战在于如何平衡目标实现与现有应用的向后兼容性。


· 首先需要明确:以太坊代码库(即使在单一客户端内)并非只有一种定义方式。



· 目标是尽量缩小绿色区域:节点参与以太坊共识所需的逻辑,包括计算当前状态、证明、验证、FOCIL(分叉选择规则)及「普通」区块构建。


· 橙色区域无法减少:若协议规范移除或更改某执行层功能(如虚拟机、预编译等),处理历史区块的客户端仍需保留相关代码。但新客户端、ZK-EVM 或形式化证明器可完全忽略橙色区域。


· 新增的黄色区域:对理解当前链或优化区块构建非常有价值,但不属于共识逻辑。例如,Etherscan 及部分区块构建者支持 ERC-4337 用户操作。若我们用链上 RISC-V 实现替换某些以太坊功能(如 EOA 及其支持的旧交易类型),共识代码将显著简化,但专用节点可能继续使用原有代码进行解析。


· 橙色和黄色区域的复杂性是封装复杂性,理解协议的人可跳过这些部分,以太坊实现可忽略它们,这些区域的错误不会引发共识风险。因此,橙色和黄色区域的代码复杂性远比绿色区域的复杂性危害小。


将代码从绿色区域移至黄色区域的思路,类似于苹果通过 Rosetta 翻译层确保长期向后兼容的策略。受 Ipsilon 团队近期文章启发,我提出以下虚拟机变更流程(以 EVM 到 RISC-V 为例,但也可用于 EVM 到 Cairo 或 RISC-V 到更优虚拟机):


1. 要求新预编译提供链上 RISC-V 实现:让生态系统逐步适应 RISC-V 虚拟机。


2. 引入 RISC-V 作为开发者选项:协议同时支持 RISC-V 和 EVM,两种虚拟机的合约可自由交互。


3. 替换大部分预编译:除椭圆曲线操作和 KECCAK(因需极致速度)外,用 RISC-V 实现替换其他预编译。通过硬分叉移除预编译,同时将该地址的代码(类似 DAO 分叉)从空更改为 RISC-V 实现。RISC-V 虚拟机极其简单,即使在此止步也净简化协议。


4. 在 RISC-V 中实现 EVM 解释器:作为智能合约上链(因 ZK 证明器需要已进行)。在初始发布数年后,现有 EVM 合约通过该解释器运行。



完成第 4 步后,许多「EVM 实现」仍将用于优化区块构建、开发者工具和链分析,但不再是关键共识规范的一部分。以太坊共识将「原生地」仅理解 RISC-V。


通过共享协议组件简化


降低协议总复杂度的第三种方式(也最易被低估)是尽可能在协议栈的不同部分共享统一标准。不同协议在不同场景下做相同的事情通常毫无益处,但这种模式仍常出现,主要是因为协议路线图的不同部分缺乏沟通。以下是几个通过共享组件简化以太坊的具体示例。


统一纠删码



我们在三个场景中需要纠删码:


1. 数据可用性采样:客户端验证区块已发布。

2. 更快的 P2P 广播:节点接收 n/2 个片段后即可接受区块,在延迟与冗余间取得平衡。

3. 分布式历史存储:以太坊历史数据分片存储,每组 n/2 个片段可恢复其余片段,降低单一片段丢失风险。


若在三种场景中使用同一纠删码(无论是 Reed-Solomon、随机线性码等),将获得以下优势:


1. 最小化代码量:减少总代码行数。

2. 提高效率:若节点为某场景下载部分片段,这些数据可用于其他场景。

3. 确保可验证性:所有场景的片段均可根据根验证。


若使用不同纠删码,至少应确保兼容性,例如数据可用性采样的水平 Reed-Solomon 码与垂直随机线性码在同一域操作。


统一序列化格式



以太坊的序列化格式目前仅部分固化,因数据可按任意格式重新序列化和广播。例外是交易签名哈希,需规范格式进行哈希。未来,序列化格式的固化程度将因以下原因进一步提高:


1. 完全账户抽象(EIP-7701):交易完整内容对虚拟机可见。

2. 更高的 Gas 限制:执行层数据需放入数据块(blobs)。


届时,我们有机会统一以太坊三个层级的序列化格式:执行层、共识层、智能合约调用 ABI。


我提议使用 SSZ,因为 SSZ:


1. 易于解码:包括在智能合约内(因其基于 4 字节的设计和较少的边缘情况)。

2. 已在共识层广泛使用。

3. 与现有 ABI 高度相似:工具适配相对简单。


已有向 SSZ 全面迁移的努力,我们应在规划未来升级时考虑并延续这些努力。


统一树结构



若从 EVM 迁移到 RISC-V(或其他可选的最小虚拟机),十六进制 Merkle Patricia 树将成为证明区块执行的最大瓶颈,即使在平均情况下也是如此。迁移到基于更优哈希函数的二叉树将显著提升证明器效率,同时降低轻客户端等场景的数据成本。迁移时,应确保共识层使用相同的树结构。这将使以太坊的共识层与执行层可通过相同代码访问和解析。


从现在到未来


简单性在许多方面类似于去中心化,二者均为韧性目标的上游。明确重视简单性需要一定的文化转变。其收益往往难以量化,而额外努力和放弃某些耀眼功能的成本却立竿见影。然而,随着时间推移,收益将愈发显著 — —比特币本身就是绝佳例证。


我提议效仿 tinygrad,为以太坊长期规范设定明确的最大代码行数目标,使以太坊共识关键代码接近比特币的简单性。处理以太坊历史规则的代码将继续存在,但应置于共识关键路径之外。同时,我们应秉持选择更简单方案的理念,优先选择封装复杂性而非系统性复杂性,并做出提供清晰属性和保证的设计选择。


原文链接

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 如何价税分离

    如何价税分离

    2025-05-22 16:48

  • 比特币矿业股是否被错误定价?链上数据揭示投资机会

    比特币矿业股是否被错误定价?链上数据揭示投资机会

    2025-05-22 16:10

  • 增值税小规模申报表如何填写

    增值税小规模申报表如何填写

    2025-05-22 15:21

  • The mayor of New York, who once strongly supported cryptocurrency, has been charged by prosecutors on suspicion of corruption

    The mayor of New York, who once strongly supported cryptocurrency, has been charged by prosecutors on suspicion of corruption

    2025-05-22 15:06

网友点评