Vitalik Buterin拥有 建议的 以太坊的执行环境进行了长期大修,以替换以太坊虚拟机用 RISC-V, 标准化且可扩展的指令集体系结构。
该提案在4月20日在以太坊魔术师论坛上共享,概述了一个多相的转变,以提高证明效率并简化执行层,而无需更改核心抽象,例如帐户,存储或交叉合同呼叫。
更改将保留 坚固 和Vyper作为主要开发语言,这将适应 RISC-V。
根据Buterin在技术上直接写合同是可能的,但可读性问题和开发人员对现有语言的熟悉表明Rust不会取代应用层的固体性。现有的EVM合同将继续与新的基于RISC-V的合同完全互动,并保留向后兼容性。
执行瓶颈和长期缩放
Buterin确定执行是以太坊的最终长期瓶颈之一,在近期问题被EIPS减轻之后,例如延迟执行,块级访问列表和分布式历史存储。
特别是,他指出了证明成本 ZK-Evms 作为未来可扩展性的关键限制。简洁的ZK-EVM分析表明,仅块执行仅占所有供款周期的一半,而其余的则由证人数据处理和状态树操作消耗。
虽然可以通过从基于Keccak的Patricia树转移到具有供诗意优化的哈希函数(例如Poseidon)的二进制树来减少与状态相关的开销,但除非直接解决EVM,否则块执行效率将保持限制。
Buterin指出,ZK-EVM已经在引擎盖下已编译为RISC-V,这表明将RISC-V作为主要VM的曝光可以消除抽象层和产生效率提高。据报道,一些测试方案通过完全绕过EVM翻译来表明卖出性能提高了100倍。
共存,迁移和简化路径
正在考虑多个实施途径。最保守的人将允许对EVM和RISC-V合同双重支持,维护可互操作的呼叫并共享对持久状态的访问。 EVM合同将继续运行,可以通过映射到传统opcodes(例如Call,Sload和Sstore)的系统呼叫来打电话或通过RISC-V合同来调用或调用。
一种更具侵略性的方法涉及将现有的EVM合同转换为包装纸,将执行权委托给RISC-V中写的EVM口译员。在此模型下,合同的字节码将被逻辑替换为逻辑,该逻辑将呼叫和执行参数路由到指定的RISC-V解释器合同,接收返回值,并将其转发给呼叫者。
中间策略提出了对虚拟机解释器的协议级支持,并列出了此委托过程,并启用多个执行格式以共存。虽然EVM将是该模型下支持的第一个VM,但包括Move在内的其他VM将来会添加。
每种方法都试图在兼容性与长期简化之间取得平衡。根据Buterin的说法,由于复杂的边缘案例和遗产行为,对EVM的增量简化(例如去除自我毁灭)被证明很困难。
向RISC-V的完整过渡可以启用具有最小的执行逻辑的更可维护的基础层,与执行严格代码库限制的TinyGrad这样的项目的紧凑性相当。
更广泛的设计理念和与光束链的对齐
该提案与诸如Beam Chain Initiative之类的持续努力保持一致,该计划旨在简化以太坊的共识机制。 RISC-V计划将为执行层带来并行的改进,使网络能够追求模块化并降低两个域的复杂性。
正如以太坊魔术师发布的那样,布特林将该提案描述为实现长期L1效率和简单性的根本但可能是必要的一步。尽管活跃的EIP和无国籍框架解决了短期和中期可扩展性的改进,但以太坊作为表现和可持续协议的未来可能会取决于这种规模的建筑变化。
任何实施阶段尚未宣布时间表。预计以太坊社区将进行进一步的讨论,以评估较长审议周期的一部分,以评估权衡折衷,工具影响和开发人员迁移路径。
该提案仍然是探索性的,旨在在未来几年就以太坊执行环境的方向进行更广泛的对话。
社区回应
一些社区成员对Buterin的提议提出了战略和技术保留。亚当·科克伦(Adam Cochran)以L2支持的潜在费用质疑L1效率的优先级,这表明RISC-V范围可能会缩小以太坊的模块化路线图。
他强调了诸如递归证明聚合,无状态承诺根源和BLS签名统一等替代建议,这些提案可能会提供更广泛的系统性收益,而实施成本较少。
其他人,包括Ben A Adams,Illyriad Games的联合创始人和CTO,以及Web3开发人员LEVS57指出了性能权衡,尤其是围绕硬件兼容性以及预编译的持续作用。
担忧包括将低级RISC-V指令优化为有效的256位操作的困难,以及对当前ZK-RISC-V系统是否足够成熟或可审核以证明基础转移合理的疑问。
Buterin响应响应了EVM的256位单词尺寸约束执行程度,并指出实际上大多数值较小,通常是U32,U64或U128,这些值可以有效地将其映射到RISC-V指令。
他重申,今天的ZK-EVM已经作为RISC-V环境嵌入EVM解释器,将RISC-V的直接暴露作为去除冗余层的一种方式。在承认堆栈管理和跳跃是潜在的摩擦点的同时,他坚持认为,消除解释性的间接费用仍然是净收益。