基于新型 EIP-7702 的以太坊智能账户
2025-06-25 18:08
登链社区
2025-06-25 18:08
订阅此专栏
收藏此文章
登链社区

Pectra Ethereum 升级为我们带来了一些新的改进,有助于改善用户体验,从而寻求更大程度地采用 web3 生态系统,在这些改进中,我们发现了 EIP-7702,它试图增强钱包体验。

什么是 EIP-7702

在 EIP-7702 之前,我们在以太坊中只有两种类型的账户:

  • EOA:外部拥有账户,具有私钥、公钥,没有代码
  • SCA:智能合约账户,具有公钥、代码,没有私钥

现在,EIP-7702 允许任何 EOA 充当智能合约,借用代码来发起交易。我们称这种类型的账户为 SWA ( 智能钱包账户 )

它解决了什么问题?

这背后的想法是减少执行最终操作所需的交易数量,以安全的方式为用户提供更好的体验,减少点击次数。让我们看两个简单的例子:

例子 1

情况: Alice 希望每周向 DeFi 协议提供流动性。

问题: 每个月,Alice 必须执行两个操作,“批准”从她的钱包到 DeFi 协议的转移,“提供”流动性。Alice 觉得这太烦人了,所以她决定批准最大金额,这样她就不必再次“批准”了。

风险: DeFi 协议遭到黑客攻击,Alice 不记得她已批准了所有代币,并且她的钱包被清空。

例子 2

情况: Bob 希望通过区块链交易向其在其他国家的家人汇款。

问题: Bob 不想使用中心化服务,希望保留对其所有资金的保管权,但他必须为每个家庭成员执行一次转账。他决定观看一个 YouTube 视频,了解如何创建一个批量处理这些交易的智能合约,但他仍然必须在每次想汇款时都进行批准。

风险: Bob 没有考虑安全性,Bob 被 Rekt 了。

EIP-7702 创建了一种新的交易类型,允许 Alice 和 Bob 的钱包充当智能合约,因此他们可以轻松找到一种安全的协议,让他们以最简单和最安全的方式执行他们想要的操作。

它是如何工作的?

这种新的交易类型是类型 4,它有一些参数,基本上说明了你的钱包应该获取哪个代码,并授权使用该代码,该代码将一直附加到你的钱包,直到你停用并删除它。

为此,我们有一个新的 EIP,EIP-5792 允许钱包使用新的 JSON-RPC,wallet_sendCalls,这让你将你的钱包设置为智能合约并发送你需要的所有批量调用。

为了稍微体验一下,你可以访问 Metamask 文档这里,连接你的钱包(对于你在 web3 领域进行的每次测试,最好使用一个 burner 钱包,你可以始终使用同一个或创建一个新的),确保你在正确的方法上,如果不是,请在左侧选择 wallet_sendCalls,然后在右侧选择“Run Request”。

image-20240930222847819.png

这将使你的 Metamask 弹出以下消息

image-20240930222847819.png

选择“Use Smart Account”,你将拥有你的新类型 4 交易需要批准,首先在顶部你可以看到它现在是一个智能账户

image-20240930222847819.png

现在,如果你想看看这种类型 4 的交易在做什么,首先点击右上角的“Show advanced details”

image-20240930222847819.png

现在一直向下滚动,你将看到你要批量处理的两个交易

image-20240930222847819.png

这里需要注意的重要事项是,你没有看到你链接到你的钱包的智能合约!

现在,点击“Confirm”,等待你的交易被发送,然后转到区块浏览器,在顶部你会注意到你的 EOA 正在调用自身的函数

image-20240930222847819.png

这可以在 from 和 to 字段中得到证实

image-20240930222847819.png

这是因为现在你的 EOA 有代码,并且它正在调用自身的代码。

现在向下滚动并点击“More details”,在“Other Attributes”中,你将看到你的类型 4 交易

image-20240930222847819.png

在顶部,我们有一个新的选项卡“Authorizations”,其中链接到你的钱包的地址

image-20240930222847819.png

在 Metamask 的情况下,将始终委托给此地址 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B,这是 Metamask: EIP-7702 Delegator,此合约允许我们传递我们通常进行的所有调用,并以安全的方式将其传递到目的地;因此,使用 Metamask,其他钱包也是如此,你不能自由地分配合约来委托调用,这很好,因为在 Metamask 弹出窗口中,这种类型 4 的交易看起来与其他任何交易一样,因此恶意行为者可以委托给恶意合约并窃取你的所有资金。

这就是关于交易分析的全部内容,现在如果你在区块浏览器上检查你的钱包,你将看到你的钱包正在委托所有调用的地址,让你知道该地址已从 EOA 升级到 SWA

image-20240930222847819.png

所有这些都有助于改善我们行业的 UX,使工程师可以将所有需要的交易替换为只需单击一下。

  • 原文链接:https://blog.blockmagnates.com/ethereum-smart-accounts-with-new-eip-7702-c78969f1c9d2
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

登链社区是一个 Web3 开发者社区,通过构建高质量技术内容平台和线下空间,助力开发者成为更好的 Web3 Builder。

登链社区
  • 登链社区网站 : learnblockchain.cn
  • 开发者技能认证 : decert.me
  • B 站 : space.bilibili.com/581611011
  • YouTube : www.youtube.com/@upchain
登链社区

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

登链社区
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开