以太坊未来展望:EVM升级与账户抽象引领协议繁荣

以太坊协议可能的未来(六):繁荣

撰文:Vitalik Buterin

有些事物很难归入单一类别,在以太坊协议设计中,有许多"细节"对以太坊的成功非常重要。实际上,约一半的内容涉及不同类型的 EVM 改进,其余部分则由各种小众主题构成,这就是"繁荣"的意义所在。

繁荣:关键目标

  • 将 EVM 变为高性能和稳定的"最终状态"
  • 将账户抽象引入协议,允许所有用户享受更安全和便捷的账户
  • 优化交易费用经济,提高可扩展性同时降低风险
  • 探索先进的密码学,使以太坊在长期内显著改善

Vitalik 关于以太坊可能的未来(六):The Splurge

EVM 改进

解决了什么问题?

目前的 EVM 难以进行静态分析,这使得创建高效实现、正式验证代码和进行进一步扩展变得困难。此外,EVM 的效率较低,难以实现许多形式的高级密码学,除非通过预编译显式支持。

它是什么,如何运作?

当前 EVM 改进路线图的第一步是 EVM 对象格式(EOF),计划在下一个硬分叉中纳入。EOF 是一系列 EIP,指定了一个新的 EVM 代码版本,具有许多独特的特征,最显著的是:

  • 代码(可执行,但无法从 EVM 中读取)与数据(可读取,但无法执行)之间的分离
  • 禁止动态跳转,仅允许静态跳转
  • EVM 代码无法再观察与燃料相关的信息
  • 添加了一种新的显式子例程机制

旧式合约将继续存在并可创建,尽管最终可能会逐步弃用旧式合约(甚至可能强制转换为 EOF 代码)。新式合约将受益于 EOF 带来的效率提升——首先是通过子例程特性稍微缩小的字节码,随后则是 EOF 特定的新功能或减少的 gas 成本。

Vitalik 关于以太坊可能的未来(六):The Splurge

在引入 EOF 后,进一步的升级变得更加容易,目前发展最完善的是EVM 模块算术扩展(EVM-MAX)。EVM-MAX 创建了一组专门针对模运算的新操作,并将其放置在一个无法通过其他操作码访问的新内存空间中,这使得使用诸如 Montgomery 乘法等优化成为可能。

一个较新的想法是将 EVM-MAX 与单指令多数据(SIMD)特性结合,SIMD 作为以太坊的一个理念已经存在很长时间,最早由Greg Colvin 的 EIP-616提出。SIMD 可用于加速许多形式的密码学,包括哈希函数、32 位 STARKs 和基于格的密码学,EVM-MAX 和 SIMD 的结合使得这两种性能导向的扩展成为自然的配对。

一个组合 EIP 的大致设计将以 EIP-6690 为起点,然后:

  • 允许 (i) 任何奇数或 (ii) 任何最高为 2768 的 2 的幂作为模数
  • 对于每个 EVM-MAX 操作码(加法、减法、乘法),添加一个版本,该版本不再使用 3 个立即数 x、y、z,而是使用 7 个立即数:x_start、x_skip、y_start、y_skip、z_start、z_skip、count。在 Python 代码中,这些操作码的作用类似于:

for i in range(count): mem[z_start + z_skip * count] = op( mem[x_start + x_skip * count], mem[y_start + y_skip * count] )

实际实现中,这将以并行方式处理。

  • 可能添加 XOR、AND、OR、NOT 和 SHIFT(包括循环和非循环),至少对于 2 的幂模数。同时添加 ISZERO(将输出推送到 EVM 主堆栈),这将足够强大以实现椭圆曲线密码学、小域密码学(如 Poseidon、Circle STARKs)、传统哈希函数(如 SHA256、KECCAK、BLAKE)和基于格的密码学。其他 EVM 升级也可能实现,但迄今为止关注度较低。

现有研究链接

  • EOF:
  • EVM-MAX:
  • SIMD:

剩下的工作及权衡

目前,EOF 计划在下一个硬分叉中纳入。尽管总是有可能在最后一刻移除它——之前的硬分叉中曾有功能被临时移除,但这样做将面临很大挑战。移除 EOF 意味着未来对 EVM 的任何升级都需在没有 EOF 的情况下进行,虽然可以做到,但可能更困难。

EVM 的主要权衡在于 L1 复杂性与基础设施复杂性,EOF 是需要添加到 EVM 实现中的大量代码,静态代码检查也相对复杂。然而,作为交换,我们可以简化高级语言、简化 EVM 实现以及其他好处。可以说,优先考虑以太坊 L1 持续改进的路线图应包括并建立在 EOF 之上。

需要做的一项重要工作是实现类似 EVM-MAX 加 SIMD 的功能,并对各种加密操作的 gas 消耗进行基准测试。

如何与路线图的其他部分交互?

L1 调整其 EVM 使得 L2 也能更容易地进行相应调整,如果二者不进行同步调整,可能会造成不兼容,带来不利影响。此外,EVM-MAX 和 SIMD 可以降低许多证明系统的 gas 成本,从而使 L2 更加高效。它还使得通过用可以执行相同任务的 EVM 代码替代更多的预编译变得更加容易,可能不会大幅影响效率。

Vitalik 关于以太坊可能的未来(六):The Splurge

账户抽象

解决了什么问题?

目前,交易只能通过一种方式进行验证:ECDSA 签名。最初,账户抽象旨在超越这一点,允许账户的验证逻辑为任意的 EVM 代码。这可以启用一系列应用:

  • 切换到抗量子密码学
  • 轮换旧密钥(广泛被认为是推荐的安全实践)
  • 多重签名钱包和社交恢复钱包
  • 使用一个密钥进行低价值操作,使用另一个密钥(或一组密钥)进行高价值操作

允许隐私协议在没有中继的情况下工作,显著降低其复杂性,并消除一个关键的中央依赖点

自 2015 年账户抽象提出以来,其目标也扩展到了包括大量"便利目标",例如,某个没有 ETH 但拥有一些 ERC20 的账户能够用 ERC20 支付 gas。以下是这些目标的汇总图表:

Vitalik 关于以太坊可能的未来(六):The Splurge

MPC(多方计算)是一种已有40 年历史的技术,用于将密钥分成多个部分并存储在多个设备上,利用密码学技术生成签名,而无需直接组合这些密钥部分。

EIP-7702是计划在下一个硬分叉中引入的一项提案,EIP-7702 是对提供账户抽象便利性以惠及所有用户(包括 EOA 用户)的日益认识的结果,旨在在短期内改善所有用户的体验,并避免分裂成两个生态系统。

该工作始于EIP-3074,并最终形成 EIP-7702。EIP-7702 将账户抽象的"便利功能"提供给所有用户,包括今天的 EOA(外部拥有账户,即受 ECDSA 签名控制的账户)。

从图表中可以看到,虽然一些挑战(尤其是"便利性"挑战)可以通过渐进技术如多方计算或 EIP-7702 解决,但最初提出账户抽象提案的主要安全目标只能通过回溯并解决原始问题来实现:允许智能合约代码控制交易验证。迄今为止尚未实现的原因在于安全地实施,这一点是一项挑战。

它是什么,如何运作?

账户抽象的核心是简单的:允许智能合约发起交易,而不仅仅是 EOA。整个复杂性来自于以一种对维护去中心化网络友好的方式实现这一点,并防范拒绝服务攻击。

一个典型的关键挑战是多重失效问题:

如果有 1000 个账户的验证函数都依赖于某个单一值 S,并且当前值 S 使得内存池中的交易都是有效的,那么有一个单一交易翻转 S 的值可能会使内存池中的所有其他交易失效。这使得攻击者能够以极低的成本向内存池发送垃圾交易,从而堵塞网络节点的资源。

经过多年的努力,旨在扩展功能的同时限制拒绝服务(DoS)风险,最终得出了实现"理想账户抽象"的解决方案:ERC-4337。

ERC-4337 的工作原理是将用户操作的处理分为两个阶段:验证和执行。所有验证首先被处理,所有执行随后被处理。在内存池中,只有当用户操作的验证阶段只涉及其自身账户并且不读取环境变量时,才会被接受。这可以防止多重失效攻击。此外,对验证步骤也强制实施严格的 gas 限制。

ERC-4337 被设计为一种额外协议标准(ERC),因为在当时以太坊客户端开发者专注于合并(Merge),没有额外的精力来处理其他功能。这就是为什么 ERC-4337 使用了名为用户操作的对象,而不是常规交易。然而,最近我们意识到需要将其中至少部分内容写入协议中。

两个关键原因如下:

  1. EntryPoint 作为合约的固有低效性:每个捆绑约有 100,000 gas 的固定开销,以及每个用户操作额外的数千 gas。
  2. 确保以太坊属性的必要性:如包含列表所创建的包含保证需要转移到账户抽象用户。

此外,ERC-4337 还扩展了两个功能:

  • 支付代理(Paymasters):允许一个账户代表另一个账户支付费用的功能,这违反了验证阶段只能访问发送者账户本身的规则,因此引入了特殊处理以确保支付代理机制的安全性。
  • 聚合器(Aggregators):支持签名聚合的功能,如 BLS 聚合或基于 SNARK 的聚合。这对于在 Rollup 上实现最高的数据效率是必要的。

Vitalik 关于以太坊可能的未来(六):The Splurge

现有研究链接

  • 关于账户抽象历史的演讲:
  • ERC-4337:
  • EIP-7702:
  • BLSWallet 代码(使用聚合功能):
  • EIP-7562(写入协议的账户抽象):
  • EIP-7701(基于 EOF 的写入协议账户抽象):

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 8
  • 分享
评论
0/400
绿蜡烛收集家vip
· 07-15 02:02
V神出手了说明有好事啊
回复0
GateUser-9ad11037vip
· 07-14 15:00
V神又出新作了~细节决定成败了属于是
回复0
夜不撸毛vip
· 07-14 04:50
EVM还得继续卷啊
回复0
StealthDeployervip
· 07-14 04:47
V在干啥呢又折腾代码
回复0
巨鲸资深观察员vip
· 07-14 04:45
瓦胡塔升级过后这些技术瓶颈不攻破难哦
回复0
夜间创世纪vip
· 07-14 04:44
代码频率异常 又有深夜部署计划了
回复0
TokenSherpavip
· 07-14 04:25
其实,*叹气* 这个提案缺乏适当的历史背景……让我来分析一下为什么evm 1.0从第一天起就是有缺陷的
查看原文回复0
资深链上考古学家vip
· 07-14 04:24
上车只看v神的脸
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)