找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3948

积分

0

好友

544

主题
发表于 15 小时前 | 查看: 3| 回复: 0

现在,执行层的变更正成为一个热点话题。我们之前已经讨论过 账户抽象 (account abstraction)、多维 Gas (multidimensional gas)、BALs 和 ZK-EVMs。这里,我还想提一个我认为短期内就极具价值的 EVM 升级方向:向量化数学预编译 (vectorized math precompile)。简单来说,它可以让 EVM 同时对一列数字执行 32位(或潜在的64位)操作;理论上,这能够将许多哈希运算、STARK验证、FHE(全同态加密)、基于格的抗量子签名等操作的效率提升 8 到 64 倍。你可以把它想象成“EVM 的 GPU”。

详细讨论见:https://firefly.social/post/x/2027405623189803453

今天,我将聚焦于两个更重大的议题:状态树变更虚拟机 (VM) 变更。状态树变更已经列在技术路线图中。而 VM 变更(例如,从 EVM 转向 RISC-V 或其他更优方案)则属于更长期的构想,目前也更具争议。但我坚信,一旦状态树变更和长期状态管理路线图(参见 https://ethresear.ch/t/hyper-scaling-state-by-creating-new-forms-of-state/24052…)完成,VM 变更将成为“水到渠成”的事情。因此,我将在下文阐述我的理由。

这两项变更的共同点在于:

  • 它们是实现高效证明(Proof)必须克服的巨大瓶颈(状态树和虚拟机这两部分,在证明开销中合计占比超过80%)。
  • 对于各类 客户端证明 (client-side proving) 应用场景而言,它们几乎是强制性的前提。
  • 它们是“深层次”的变更,许多人因此望而却步,认为渐进式改良更为“务实”。我将为这两项变革的必要性提供论证。

二叉树:新一代状态树

状态树变更(由 @gballet 等多人研究)的核心是 EIP-7864,它旨在将当前基于 Keccak 哈希的十六叉 Merkle Patricia 树 (hexary MPT) 替换为基于更高效哈希函数的 二叉树

这一转变将带来诸多优势:

  • Merkle 分支长度缩短4倍:二叉树的分支长度公式为 32 * log(n),而十六叉树是 512 * log(n) / 4。这使得 客户端分支验证 (client-side branch verification) 变得更为可行。同时,Helios、PIR(私有信息检索)等应用也能因此节省约4倍的数据带宽成本。
  • 证明效率大幅提升:3-4倍的提升来自更短的 Merkle 分支。此外,哈希函数的变更(例如采用可能比 Keccak 快3倍的 blake3,或需要更多安全性验证但能快100倍的 Poseidon 变体)会带来额外的加速。
  • 赋能客户端证明 (Client-side proving):如果你想构建与以太坊状态相结合的 ZK 应用程序(而非像现在这样自己构建独立的状态树),那么以太坊原生状态树就必须对证明者更加友好。
  • 降低相邻存储槽的访问成本:新的二叉树设计会将存储槽 (storage slots) 分组为“页面”(例如,每组64-256个槽位,即 2-8 kB)。这使得在一次性加载和编辑大量数据时,无论是原始执行还是证明生成,都能获得与处理合约代码类似的效率优势。区块头以及最初约 1-4 kB 的代码和存储数据都可以位于同一个页面中。如今许多去中心化应用 (dapps) 早已需要从最初的几个存储槽加载大量数据,因此这项优化有望为它们每笔交易节省超过 1 万 gas。
  • 降低访问深度差异:从大型合约加载数据与从小型合约加载数据之间的成本差异将变小。
  • 结构更简单:二叉树本身的结构比十六叉树更简洁。
  • 为未来功能预留空间:有机会为将来可能必需的 状态过期 (state expiry) 机制添加所需的元数据位。

从宏观视角看,向二叉树迁移是一个“综合解决方案”。它使我们能够吸取过去十年在构建高效状态树方面积累的所有经验,并将这些最佳实践真正应用到以太坊核心协议中。

虚拟机变更:超越EVM

另请参阅社区讨论:https://ethereum-magicians.org/t/long-term-l1-execution-layer-proposal-replace-the-evm-with-risc-v/23617

长期以来,协议因不断增加特殊用例而变得复杂,一个潜在原因是人们对“使用 EVM”存在一种隐形的恐惧。如果某个钱包功能、隐私协议或其他特性能够在无需引入“可怕的 EVM 新特性”的前提下实现,大家通常会明显松一口气。在我看来,这非常令人遗憾。以太坊的核心价值在于其通用性,如果当前的 EVM 不足以充分满足这种通用性需求,我们就应该正面解决这个问题,创造一个更好的虚拟机。这意味着新 VM 应该具备以下特点:

  • 原始执行效率更高:其效率应远超当前 EVM,使得大多数 预编译合约 (precompiles) 变得不再必要。
  • 证明生成效率更高:鉴于目前许多证明器 (prover) 本身就是用 RISC-V 编写的,我提议直接让新虚拟机基于 RISC-V 指令集,从而从根本上提升证明效率。
  • 对客户端证明友好:开发者应该能够通过客户端,对诸如“当你的账户被特定数据调用时会发生什么”这样的逻辑生成 ZK 证明。
  • 极致简洁:一个 RISC-V 解释器可能只有几百行代码,这才是一个区块链虚拟机“应有的感觉”——简洁、清晰、可靠。

当然,VM 变更的想法目前仍更具推测性和争议性。即使我们只推进 EVM 的渐进式优化(比如加上“GPU”般的向量化预编译),以太坊也绝对 没问题,能够继续发展。但一个更好的虚拟机有潜力让以太坊从“优秀”走向“卓越”,开启更广阔的可能性。一个可行的部署路线图可能是:

  1. NewVM(例如 RISC-V)仅用于预编译:将当前 80% 的 预编译合约,以及许多可能需要的新预编译功能,转变为用 NewVM 编写的代码块。
  2. 开放 NewVM 合约部署能力:允许用户直接部署用 NewVM 指令集编写的智能合约。
  3. EVM 退役并转化为智能合约:将现有的 EVM 解释器功能,用一个在 NewVM 上运行的 智能合约 (smart contract) 来实现。

对于现有的 EVM 开发者而言,他们将体验到完全的向后兼容性,唯一的变数可能在于 gas 成本的变化(而这很可能被未来几年的扩容进展所抵消)。与此同时,整个生态将获得一个更高效的证明器、一个更简单清晰的底层协议。





上一篇:构建预测市场模拟引擎:从蒙特卡洛基础到Copula模型的实战代码
下一篇:EIP-8141终极解读:帧交易如何实现以太坊账户抽象与链上隐私支付
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-3 22:58 , Processed in 0.371218 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表