Vitalik Buterin提议用RISC-V取代以太坊EVM以提升验证效率
以太坊联合创始人Vitalik Buterin为网络执行层规划了一条新路径,建议将以太坊从现有的以太坊虚拟机(EVM)架构转向RISC-V。该计划旨在简化操作、提升可扩展性并降低未来成本。
向RISC-V过渡:以太坊核心执行层的转变
Vitalik Buterin在一篇深度博客文章中提出了这一概念,解释了为何EVM应被RISC-V取代。在他看来,这一转变将有助于解决以太坊执行层中的一些严重瓶颈,同时不影响合约的已知特性。
在这一提议的模型中,账户、存储访问和合约调用等核心抽象将保持不变。SLOAD、SSTORE、BALANCE和CALL等操作码将在RISC-V下转换为系统调用。这种设置确保了开发者的连续性和易适应性。
Buterin指出,尽管智能合约可以用Rust编写,但大多数开发者可能会继续使用Solidity或Vyper。这些语言将集成RISC-V作为后端,允许在不改变开发者工作流程的情况下实现平滑过渡。现有的EVM合约将保持功能,并与新的RISC-V合约互操作。
通过架构改革提升ZK-EVM效率
提议这一转变的一个关键原因在于当前ZK-EVM证明系统中的低效性。Buterin提供的数据显示,很大一部分证明周期被用于区块执行、状态根计算和见证处理。
他强调,通过优化以太坊状态树的结构,可以减少许多这些周期。通过从基于Keccak的Merkle Patricia树切换到使用Poseidon等证明友好哈希函数的二叉树,证明速度可以显著提高。值得注意的是,Poseidon在标准硬件上的哈希速度高达每秒200万次,而Keccak仅为1.5万次。
仅此优化还不够。区块执行仍占证明周期总数的大约一半。Buterin认为,让开发者直接访问RISC-V虚拟机,绕过EVM解释的需求,可以在特定场景下实现100倍的效率提升。
兼容性措施与开发者体验
为了保持兼容性,该提议概述了几种方法。最保守的方法同时支持EVM和RISC-V合约,使它们之间能够无缝通信。为EVM编写的合约仍将通过与RISC-V对应的系统调用来运行和交互。
更激进的方法是用RISC-V解释器包装遗留的EVM合约。在这种情况下,原始的EVM代码将由基于RISC-V的解释器合约处理。对遗留合约的调用将通过解释器重定向,保持预期的功能。
中间选项将引入一个新的协议功能,允许多个虚拟机解释器。虽然EVM将是默认的解释器,但该结构以后可以容纳其他虚拟机,如Move。所有实现都将用RISC-V编写,进一步统一执行层。
简化执行层规范
Buterin指出,以太坊的挑战之一是其执行层的复杂性。之前移除SELF DESTRUCT等功能的努力已被证明是困难的。他提议,将执行逻辑简化为紧凑、一致的RISC-V模型,可以大大简化协议。
这一想法与以太坊发展路线图中的更广泛目标一致,包括旨在简化共识的Beam链。这种新的执行模型可以在计算方面实现类似的结果。简化系统还可以随着时间的推移提高可维护性和安全性。
Buterin引用了Tinygrad项目来说明极简主义的价值,该项目强制执行严格的代码库限制。他认为,以太坊可以从类似的原则中受益,减少其核心系统的代码复杂性。
以太坊的Pectra升级与路线图背景
提议向RISC-V转变与以太坊正在进行的其他改进相一致,包括计划于5月进行的Pectra升级。该升级预计将在区块层面带来可扩展性和效率的提升。
Buterin将RISC-V的想法置于以太坊的长期目标中。短期扩展将依赖于区块级访问列表和EIP-4444等EIP。中期改进与无状态性和ZK-EVM开发相关。从长远来看,执行层将成为进展的主要领域,而RISC-V可能发挥核心作用。
网络旨在保持竞争性的区块生产市场并提升零知识证明能力,这使得RISC-V转变成为一个及时的考虑。通过将gas计划与证明复杂性对齐,网络可以远离昂贵的预编译,转向更高效的智能合约结构。
以太坊继续探索增强其基础设施的途径,同时保留核心开发者体验。采用RISC-V的提议标志着这一演变中的重大潜在步骤,平衡了创新与向后兼容性。