Vitalik 为什么着急提出账户抽象新方案 EIP-7702?

0xNatalie热度: 10155

EIP-7702是一个为EOA临时赋予智能合约功能的方案,可以将EOA转换为智能合约钱包来执行智能合约代码。与EIP-3074相比,它更灵活和兼容,同时为未来所有账户都使用智能合约钱包做准备。这种设计保证了长期的有效性和实用性。

原文作者:@0xnatalie

原文来源: Substack

这是一个介于 ERC-4337 和 EIP-3074 之间的方案。

ERC-4337 是账户抽象的应用层标准,EIP-3074 是直接修改 EVM 的协议层标准,而 EIP-7702 有点介于两者之间,为 EOA 临时赋予了智能合约。

EIP-7702

EIP-3074 已于今年 4 月被纳入以太坊的下一次硬分叉计划中,该提案通过允许外部拥有账户(EOA)将交易权限委托给智能合约,旨在为用户带来更便捷的体验。然而,这一功能也引起了社区的担忧,许多成员担心若签名被误用,会使整个账户资金面临风险,为钓鱼攻击者提供机会。为了进一步增强安全性,Vitalik Buterin 最近提出了 EIP-7702 作为 EIP-3074 的替代方案,引起了社区的广泛讨论。

EIP-7702 引入了一种新的交易类型来提升账户抽象功能。这种新交易类型允许外部拥有账户(EOA)在交易过程中临时采用智能合约的特性,然后在交易结束后恢复其原始状态。那么同样都是账户抽象提案,ERC-4337EIP-3074 和 EIP-7702 的差别在哪里?

ERC-4337:应用层的账户抽象标准

ERC-4337:使用 Alt Mempool 进行账户抽象。ERC-4337 由 Vitalik 提出,是应用层标准,主要目标是让智能合约账户具有 EOA 主动发起交易的特性。它通过引入一个名为 EntryPoint 的智能合约,使得智能合约可以表现得像是用户的账户,也就意味着用户操作类似账户的智能合约来管理他们的资产和交易。这样便可以实现复杂逻辑,如多签名、自动执行交易等。

主要特点

  • 无需硬分叉:ERC-4337 不需要通过硬分叉来实现,不需要对以太坊的协议进行任何修改。
  • 兼容性:这种方法与现有的 EOA 系统兼容,使得过渡更为平滑。
  • 目标:实现账户抽象,使智能合约可以作为账户来处理和验证交易。
  • 本质:让智能合约账户具有 EOA 主动发起交易的特性。

EIP-3074:授权和代理执行

EIP-3074:AUTH 和 AUTHCALL 操作码。EIP-3074 由以太坊研究员 SamWilsn、Go Ethereum 开发者 Matt Garnett 等人提出,且 Vitalik 未参与此提案的起草,这是一种允许 EOA 将其权限委托给智能合约的方法,引入了两个新的操作码:AUTH 和 AUTHCALL,使得智能合约可以代表 EOA 执行操作,比如批量处理交易、赞助 gas 费用。这对于以太坊的虚拟机是一个较大的变动。

主要特点

  • 委托机制:EOA 可以通过 AUTH 操作码授权一个智能合约,然后通过 AUTHCALL 让这个智能合约代表它执行操作。
  • 安全隐患:委托机制可能导致安全问题,因为如果授权给恶意合约,可能会导致资金被盗。
  • 目标:通过允许 EOA 将其权限临时授权给智能合约,来增强 EOA 的功能性。
  • 本质:升级 EVM,增加两个操作码。

EIP-7702:临时智能合约化的 EOA

EIP-7702:为一笔交易设置 EOA 帐户代码。Vitalik 作为第一作者,于 5 月 7 日刚发布了此提案。作为 EIP-3074 的替代方案,EIP-7702 引入一种允许 EOA 在交易过程中临时采用智能合约功能的机制。通过这种方法,EOA 可以在单一交易执行期间将 EOA 转换成智能合约钱包,而在交易结束后恢复到普通状态。并且因为 EIP-7702 已经提供了临时改变 EOA 代码的框架,所以在 EIP-7702 的基础上实施 EIP-5003(允许 EOA 永久转变为智能合约账户)变得相对简单,通过设置不在交易结束后清除代码,可以实现 EOA 到智能合约的永久转变。

主要特点

  • 临时转换:在交易过程中,EOA 的智能合约代码临时被赋予执行特定操作的能力。
  • 高度兼容性:EIP-7702 与 ERC-4337 的智能合约钱包代码高度兼容,可以直接利用已经为 ERC-4337 编写和部署的智能合约代码,使得现有的账户抽象化工作可以被重用,避免分裂现有的账户体系。
  • 无需引入新的操作码:与 EIP-3074 相比,EIP-7702 虽然也是协议层标准,但它在交易中临时应用智能合约代码,不需要永久改变以太坊虚拟机。
  • 目标:结合 EIP-3074 和 ERC-4337 的特点,提供一种更加灵活和兼容的账户抽象方案。
  • 本质:临时应用智能合约代码。


EIP-7702 提供了一种避免引入新操作码而实现类似 EIP-3074 功能的方法,同时更好地为账户抽象终局的实现做准备。账户抽象终局(endgame of account abstraction)是指一个预见的未来状态,在这个状态中,以太坊上的所有账户都使用智能合约钱包来管理资产和交易,而不再依赖传统的 EOA。这种普遍的账户使用智能合约钱包的情景,被称为账户抽象的「终局」。EIP-7702 不仅解决了当前的问题,还通过与未来可能的账户模型的兼容性设计,确保了长期的有效性和实用性。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:EIP-7702Vitalik