EIP-3074 被纳入至下一个以太坊硬分叉 Pectra 升级中,支持将 EOA 控制权委托给智能合约。
撰文:Karen,Foresight News
在以太坊核心开发者执行的最新一次电话会议中,EIP-3074 提案开发者被纳入即将在以太坊硬分叉 Pectra 升级中实施的改进。该提案支持将普通地址的控制权委托给智能合约,来执行更为复杂的交易方案,从而显著增强钱包用户的体验。那么,EIP-3074 究竟是什么,它对以太坊又意味着什么呢?
事实上,早在 2020 年 10 月份,EIP-3074 就由以太坊核心开发者和研究员 Sam Wilson、Ansgar Dietrichs、lightclients、Micah Zoltu 提出,核心思路是将外部拥有账户(EOA)的控制权委托给智能合约。这一创新为开发者提供了一个强大、灵活的框架,用于设计并实施新颖的 EOA 交易策略。
那么具体该如何将现有的 EOA 变成智能合约呢?根据 lightclients 在两年前发布的演示视频,实现这一转变的关键在于两个指令「AUTH」和「AUTHCALL」,其中,前者基于 ECDSA 签名设置 context variable「authorized」,后者作为「authorized」账户发起调用。同时,也可以围绕 「AUTHCALL」指令实现更多逻辑,为调用者和发起者提供更多控制,而不会牺牲被发起者的安全性或用户体验。
在实际操作中,EOA 地址用户先在链下签署交易,然后再由 EOA 用户或者 Gas 赞助方将交易发送给 Invoker 合约,Invoker 合约使用「AUTH」和「AUTHCALL」来验证和调用每个目标合约。
Arbitrum 和 Lemniscap 的团队成员 Patrick McCorry 表示,EIP-3074 解决了困扰几乎所有交易中继服务的「msg.sender」问题,可以真正改善用户体验。本质上,如果中继器为用户的交易付费,则中继器的地址将设置为 msg.sender 而不是用户的地址。解决上述问题的方法中,一种是用户依赖智能合约钱包,另一种是智能合约具有「元交易能力」,并且可以接受用户签名的消息,但这扼杀了那些想要为用户提供无 Gas 交易的初创公司。还有一种替代方法可以解决上述问题,即更改交易格式,重命名 tx.origin 为 Gas.payer,在交易中包含两个新字段「gas payer」 和「nonce」。当交易执行时,它会增加用户和 Gas 支付者的 nonce,并从 Gas 支付者中扣除费用。这可以使中继者转发用户的交易,但它仍然有局限性,主要是在交易完成后退还 ERC-20 代币的能力。EIP-3074 是一个巧妙的解决方案,因为它允许将 ERC-20 代币退款给中继者,允许中继者携带用户签名的消息并在以太坊上得到确认,不改变交易格式和破坏现有工具。
EIP-3074 允许任何 EOA 充当智能合约钱包,而无需部署合约,也因此可以执行更复杂的交易方案。这为以太坊带来了许多令人兴奋的用例,包括 Gas 赞助、批量交易、钱包资产恢复。
其中,Gas 赞助可以让 DApp、项目方、第三方为用户提供 Gas,而无需用户自己持有 ETH,这对于没有持有 ETH 的新 Web3 用户来说极为友好,也有助于推动以太坊的大规模采用。
同时,由于支持在一笔交易中执行多个操作,用户在交易非 ETH 代币时只需签署一次交易即可完成,无需先进行繁琐的代币审批流程再签署交易,从而提高了交易效率并降低了成本。
在钱包资产恢复方面,EIP-3074 也能发挥重要作用。通过设置特殊的 Invoker 合约,用户在丢失私钥时可以通过社交恢复机制来恢复资产。
当然,EIP-3074 也比较具有争议性。正如 DefiLlama 创始人 0xngmi 所说,现在只需一个错误签名就可以完全耗尽一个地址的资产,包括所有代币、所有 NFT、所有 DeFi 仓位等。
此外,值得注意的是,尽管 EIP-3074 支持将普通地址的控制权委托给智能合约,但 EIP-3074 并不是一个帐户抽象提案。以太坊基金会研究员 ansgar.eth 表示,其最担心的是我们现在将使用 3074/EOA 和 4337/AA 构建两个并行帐户技术堆栈,并且需要付出大量的努力和关注才能使这些内容具有互操作性。Uniswap 创始人 Hayden Adams 也强调,行业应该努力确保 4337 钱包与 3074 合约之间的兼容性。
综上所述,EIP-3074 有望为以太坊带来了前所未有的创新和机遇,但同时也伴随着一些挑战和争议。随着其即将在 Pectra 升级中实施,我们期待看到它将如何塑造以太坊的未来,并为 Web3 生态系统带来更为丰富和便捷的用户体验。同时,我们也需要认识到其潜在的风险和挑战,并确保在使用这一功能时采取适当的安全措施。
参考:
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3074.md
https://www.youtube.com/watch?v=AffftIs6XFE
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。