关于 EIP-7702 - CoW DAO

  • CowSwap
  • 发布于 2025-06-07 21:40
  • 阅读 20

EIP-7702 提出了一种新的以太坊交易类型,允许外部拥有账户 (EOA) 在交易期间临时执行智能合约代码。这使得 EOA 能够使用智能合约钱包的功能,如批量交易、gas 赞助和自定义授权方案,而无需永久迁移到智能合约账户。该提案与现有基础设施兼容可以增强用户体验。

关于 EIP-7702

·

以太坊目前有两种截然不同的账户类型:由私钥控制的外部账户(EOA)和由代码控制的智能合约账户。这种划分对希望拥有高级钱包功能,但又不想管理复杂智能合约账户的用户造成了限制。传统的 EOA 无法执行批量交易、实施自定义授权方案或从智能合约支持的 gas 赞助机制中受益。

之前的账户抽象提案面临着巨大的障碍。EIP-4337 需要大量的基础设施变更和更高的 gas 成本。EIP-3074 引入了新的操作码,但通过调用者合约创建了中心化的故障点。这些解决方案虽然具有创新性,但提出了阻碍其实际实施的采用壁垒。

EIP-7702 如何工作

EIP-7702 引入了一种新的交易类型 (0x04),称为“设置代码交易”,其中包括一个授权列表。该授权列表包含来自账户所有者的签名许可,允许他们的 EOA 在交易执行期间临时执行来自指定智能合约的代码。

该过程从 EOA 所有者签署授权开始,指定他们希望其账户执行的智能合约代码。此授权对于单个区块链或跨多个链有效,具体取决于指定的链 ID。该授权包括目标合约地址和一个 nonce,以防止重放攻击。

当处理包含这些授权的交易时,网络会临时将 EOA 的代码设置为指向指定的智能合约。在交易期间,账户充当智能合约钱包,然后恢复到其正常的 EOA 状态。这种临时转换无需永久更改账户结构即可实现高级功能。

主要特性和优势

灵活性和兼容性

EIP-7702 在其实现中提供了卓越的灵活性。用户可以授权他们的账户使用不同的智能合约实现,具体取决于他们的需求。例如,用户可以授权他们的 EOA 使用多重签名合约进行高价值交易,同时使用简单的交易批处理合约进行日常操作。

该提案保持与 EIP-4337 基础设施的完全兼容性,这意味着现有的 paymaster、bundler 和 RPC 端点可以继续运行而无需修改。这种兼容性消除了阻碍先前提案的广泛基础设施改造的需要。

交易捆绑能力

EIP-7702 最实用的好处之一是交易捆绑。假设一个用户想要批准 token 支出限额,然后立即在去中心化交易所的 swap 中使用这些 token。传统上,这需要两个独立的交易,每个交易都要支付 gas 费用并等待确认。

使用 EIP-7702,用户可以授权他们的 EOA 使用批处理合约,然后在单个交易中执行批准和 swap。这降低了 gas 成本,消除了对多个确认的需求,并提供了更流畅的用户体验。

Gas 赞助和 Paymaster 集成

EIP-7702 能够通过 paymaster 集成实现复杂的 gas 赞助模型。去中心化应用程序可以通过 paymaster 合约支付交易费用来为新用户赞助 gas 费用。用户的 EOA 将被临时授权与 paymaster 交互,从而实现无需用户持有 ETH 的 gasless 交易。

例如,游戏应用程序可以赞助玩家的所有游戏内交易,允许他们与区块链交互而无需了解 gas 机制。paymaster 合约将处理 gas 支付,而用户的 EOA 保持其熟悉的界面。

自定义授权方案

该提案支持自定义授权方案,从而在不牺牲可用性的前提下增强安全性。用户可以授权他们的 EOA 使用时间锁定合约,该合约需要额外的确认才能进行大型交易,或在特定时间段内实施支出限制。

考虑这样一种情况:用户希望限制其账户的每日支出。他们可以授权他们的 EOA 使用智能合约来跟踪每日支出,并要求对超过预定阈值的交易进行额外授权。这提供了增强的安全性,同时保持了 EOA 管理的简单性。

技术实施细节

授权过程

授权过程涉及加密签名,以证明账户所有权和同意。每个授权都指定一个链 ID(0 表示所有链或特定的链 ID)、目标合约地址和一个 nonce。签名是使用包含这些参数的特定格式生成的,确保授权无法重放或滥用。

网络通过恢复签名地址并确认其与被授权的账户匹配来验证每个授权。无效的授权将被忽略,允许交易仅在有效的授权生效的情况下继续进行。

Gas 机制

EIP-7702 包括特定的 gas 机制,以确保公平的资源分配。当授权成功地将代码委派给 EOA 时,交易会收到 gas 退款,以抵消计算成本。这种设计可以防止授权过程过于昂贵,同时保持网络安全。

gas 退款机制考虑了创建新账户和修改现有账户之间的差异,确保用户不会因使用新功能而受到惩罚。

状态管理

代码委派的临时性对于 EIP-7702 的设计至关重要。交易执行后,EOA 恢复到其原始状态,但在智能合约执行期间所做的任何存储修改都会持续存在。这允许进行复杂的状态管理,同时保持账户的简单性。

例如,如果 EOA 使用实现支出跟踪器的智能合约,则即使委派过期,跟踪数据仍会存储在 EOA 的存储中。后续交易可以通过授权相同的智能合约来访问此数据。

实际应用

增强的钱包安全性

EIP-7702 支持与专用智能合约钱包相媲美的高级安全功能。用户可以实施多因素身份验证、恢复机制和欺诈检测,而无需迁移到复杂的账户结构。

一个实际的例子涉及社交恢复系统,用户可以在其中指定受信任的联系人,这些联系人可以帮助恢复对其账户的访问权限。EOA 可以被授权使用恢复合约,该合约需要来自多个受信任方的签名才能执行恢复程序。

DeFi 协议集成

去中心化金融协议可以利用 EIP-7702 来创建更复杂的用户体验。借贷协议可以为用户提供自动管理抵押品比率的智能合约,从而通过自动重新平衡来防止清算。

用户将授权他们的 EOA 使用协议的管理合约,从而在保持对其账户的控制权的同时启用自动操作。该系统可以监控市场状况并执行保护措施,而无需用户持续干预。

跨链操作

该提案对跨链授权的支持为跨多个区块链的统一钱包体验开辟了可能性。用户可以授权他们的账户使用桥接合约,从而促进不同网络之间无缝的资产转移。

此功能可以启用钱包界面,从而消除多链操作的复杂性,从而允许用户通过单个熟悉的账户界面与不同区块链上的应用程序进行交互。

与其他方法的比较

优于 EIP-4337 的优势

虽然 EIP-4337 提供了全面的智能合约账户功能,但它要求用户从 EOA 迁移到全新的账户结构。EIP-7702 允许用户保留其现有的 EOA,并在需要时获得智能合约功能。

对于简单的操作,EIP-7702 的 gas 效率优于 EIP-4337,因为它避免了基本交易的 UserOperation 处理和 bundler 协调的开销。

优于 EIP-3074 的改进

EIP-3074 的调用者模型带来了潜在的中心化风险,并且需要新的操作码。EIP-7702 通过使用临时代码委派消除了这些担忧,该委派需要用户对每笔交易进行明确授权。

EIP-7702 中的授权模型比 EIP-3074 的方法提供了更强的安全保证,因为每个授权都是特定于交易的,未经用户明确同意不得重复使用。

安全考虑

授权验证

EIP-7702 的安全性依赖于强大的授权验证。必须对每个授权进行加密验证,以确保它来自合法的账户所有者。nonce 系统可防止重放攻击,而链 ID 规范可防止跨链授权滥用。

智能合约开发人员必须在使用 EIP-7702 的合约中实施适当的访问控制,因为这些合约将以授权 EOA 的全部权限执行。

代码委派风险

虽然 EIP-7702 提供了强大的功能,但用户必须仔细考虑他们授权其账户使用的合约。恶意或设计不当的合约可能会滥用临时委派来执行未经授权的操作。

委派的临时性提供了一些保护,因为授权在交易完成后到期。但是,用户应仅授权他们信任和理解的合约。

实施挑战

钱包集成

钱包提供商必须实施用户界面,以清晰地传达代码授权的含义。用户需要了解他们授权的合约以及他们授予的权限。

挑战在于以一种易于访问的方式呈现此信息,该信息不会使用户不堪重负,同时确保他们就授权做出明智的决定。

智能合约开发

为与 EIP-7702 一起使用的合约创建合约的开发人员必须考虑唯一的执行环境,即他们的代码在用户 EOA 的上下文中运行。这需要密切关注存储管理、访问控制以及与外部合约的交互。

开发范式与传统的智能合约开发不同,因为合约代码必须设计为在由任意 EOA 而不是在固定的合约地址执行时能够正常工作。

未来影响

账户抽象的演进

EIP-7702 代表着朝着更全面的账户抽象解决方案迈出的一步。它与现有系统的兼容性以及最低的基础设施要求使其成为一种理想的过渡技术,可以随着以太坊的发展而发展。

该提案的设计允许在不破坏现有实现的情况下进行未来的增强,从而为账户抽象方面的持续创新提供了稳定的基础。

生态系统发展

EIP-7702 的引入可能会催化专为 EOA 委派而设计的专用智能合约的开发。这可能会创建一个新的基础设施提供商类别,专注于账户增强服务。

该生态系统可能会出现专门设计用于支持 EIP-7702 实现的合约库、安全审计服务和用户界面工具。

结论

EIP-7702 提供了一种务实的方法,可将账户抽象功能引入以太坊现有的 EOA 基础设施。通过在不需要永久账户迁移的情况下启用临时的智能合约功能,它为增强用户体验提供了一条途径,同时保持了系统兼容性和安全性。

该提案的灵活性、与现有基础设施的兼容性以及最低的实施要求使其成为以太坊朝着主流采用方向发展的重要一步。随着生态系统围绕 EIP-7702 开发工具和最佳实践,它有可能释放钱包功能和用户体验的新可能性,从而弥合当今局限性之间的差距。

EIP-7702 的成功最终将取决于社区采用、钱包集成以及为委派设计的安全、用户友好型合约的开发。但是,其技术基础为这些发展蓬勃发展提供了坚实的基础,从而有可能彻底改变用户与以太坊网络交互的方式。

常见问题

什么是 EIP-7702?

EIP-7702 是一项以太坊改进提案,引入了一种名为“设置代码交易”的新交易类型 (0x04),该交易类型使外部拥有的账户 (EOA) 能够临时执行智能合约代码。它允许 EOA 所有者签署授权,允许他们的账户在交易执行期间使用指定的智能合约功能,然后在之后恢复到正常的 EOA 状态。这为 EOA 提供了高级功能,例如交易批处理、gas 赞助和自定义授权方案,而无需永久迁移到智能合约账户。该提案保持与现有基础设施的兼容性,同时提供增强的钱包功能。

EIP-3074 和 EIP-7702 有什么区别?

EIP-3074 和 EIP-7702 采用完全不同的方法进行账户抽象。EIP-3074 引入了新的操作码,并使用了一个调用者模型,该模型带来了潜在的中心化风险,并通过调用者合约造成了单一故障点。相比之下,EIP-7702 使用临时代码委派,该委派需要用户对每笔交易进行明确授权,从而提供更强的安全保证。EIP-7702 的授权模型是特定于交易的,未经用户明确同意不得重复使用,而 EIP-3074 的方法则更为永久。此外,EIP-7702 通过避免调用者合约依赖性消除了 EIP-3074 的中心化问题,并通过其 nonce 系统和链 ID 规范(可防止重放攻击和跨链授权滥用)提供了更好的安全性。

什么是 EIP-7702 更新?

EIP-7702 更新通过允许 EOA 在没有永久结构更改的情况下临时获得智能合约功能,从而引入了一种革命性的以太坊账户抽象方法。该更新包括一种新的交易类型,其中包含来自账户所有者的签名许可的授权列表。主要功能包括减少 gas 成本和确认时间的交易捆绑功能、与 gas 赞助的 paymaster 系统的集成、对支出限制和多重签名要求等自定义授权方案的支持以及跨链授权支持。此更新保持与现有 EIP-4337 基础设施的完全兼容性,只需对当前系统进行最小的更改,并包括具有退款功能的特定 gas 机制,以确保公平的资源分配。这在传统 EOA 和智能合约钱包之间架起了一座桥梁,在提供增强功能的同时保留了熟悉的 EOA 用户体验。

  • 原文链接: cow.fi/learn/eip-7702...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
CowSwap
CowSwap
江湖只有他的大名,没有他的介绍。