分享此文章
包括 Vitalik Buterin 在内的一群著名以太坊开发人员提出了一种新的交易类型 (EIP-7702),以增强外部拥有账户 (EOA) 的功能和安全性。 该提案旨在解决交易批处理、赞助和特权降级等常见问题。
根据 EIP-7702 草案,新的交易类型“添加了contract_code字段和签名,并在交易期间将签名帐户(不一定与tx.origin相同)转换为智能合约钱包。” 该提案旨在提供与 EIP-3074 类似的功能。
EIP-7702 背后的动机是为 EOA 提供短期功能改进,提高应用程序的可用性,并在某些情况下提高安全性。 该提案概述了三个特定的应用程序:批处理、赞助和特权降级。
虽然 EIP-3074 解决了这些用例,但 EIP-7702 的作者认为它存在前向兼容性问题。 他们表示,EIP-3074“引入了两种操作码,AUTH 和 AUTHCALL,这在最终所有用户都使用智能合约钱包的‘最终账户抽象’世界中没有任何用处。”
此外,他们认为 EIP-3074“导致了‘调用者合约’生态系统的发展,该生态系统将独立于‘智能合约钱包’ 生态系统,导致工作可能分散。”
EIP-7702的规范详细说明了交易负载格式和执行交易的过程,其中涉及临时设置签名帐户的合约代码并在交易结束时将其恢复为空。
作者提供了 EIP-7702 如何转换 EIP-3074 用例的基本原理,指出“转换现有 EIP-3074 工作流程只需很少的工作。”
他们还认为,EIP-7702 的设计目的是与未来的帐户抽象向前兼容,从而避免创建单独的代码生态系统以及对可能过时的新操作码的需求。
尽管有潜在的好处,作者承认 EIP-7702 打破了帐户余额只能因来自该帐户的交易而减少的不变性,这可能会对 mempool 设计和其他 EIP 产生影响。
与任何要求用户签署合约代码的提案一样,作者强调用户钱包对他们签署的合约代码保持谨慎的重要性,强调了与 EIP-3074 的共同安全考虑。
分享此文章