热点、深度、趋势全掌握,尽在BTC区块圈

OKX研究院 | 账户抽象10年演进终局之战,透过EIP-7702看过去与未来

第一种,你自己来调用你自己

假如你设置的是如 OKX 7702 Smart Contract 合约一样具有高度安全以及自定义控制能力,那么你可以通过提前编写好的calldata指定,让你当前的操作一次性完成多重指令。比如你可以同时完成 Approve+Transfer,也可以同时完成Approve+Swap。

千万别小瞧,在目前总计 27 亿笔以太坊交易中,Approve 大概为 75 M 笔,按每笔 8W Gas计算,则有 46W 个ETH消耗,按1700美金的 ETH 市价计算,则是接近8亿美金。

第二种,别人来调用你

曾经以太坊不存在别人调用 EOA 地址的情况,但是现在你就是一个万能的合约,完全可以自定义,你可以开辟子账户分权限,也可以给与少数 Paymaster 设置白名单,许可 DApp 的指定账户,来代替你发起一些交易,从而完全免除传统区块链应用中需要反复弹出签名的窘境。

多么强大的能力啊!所以这也是几乎全部主流的钱包:OKX Wallet、Metamask ,WalletConnect,Biconomy,BaseWallet,Rhinestone,ZeroDev,TrustWallet,Safe等相关团队的都在快速响应支持的原因。

4、EIP-7702是账户抽象的终局吗?

4.1 是的,因为这一次用户会选他!

并不是EOA不够好,客观讲,EOA简洁明了,简单安全。但是在本次布拉格升级,引入 EIP-7702 之后的 EOA 会更好。因为成本,因为体验。在乔布斯从牛仔裤口袋里掏出iPhone时,那些体验都是用户一开始没有想到,还能这么玩的。

账户抽象,其实是很多链都在探索以及积极尝试的领域。比如:

Starknet,作为 ZK-Rollup(Layer 2),其默认账户都是合约账户,并没有EOA。zkSync Era,使用 AA 账户是默认的方式,并且还无需 Bundler 的繁杂环节。Nervos CKB,类似 UTXO 模型,但是他也同样许可所有账户可以自定义所用验证器,剥离可持有与控制权。Aptos / Sui,作为 Move 系 Layer1 中举足轻重的角色,虽然不是 EVM 模式的AA,但也同样具备账户自定义的能力,许可模块化签名、多重验证等等。而EVM的 Linea / Base / Mantle/ Polygon / Arbitrum / Optimism,这些相关生态,不仅已经通过 ERC4337 完成 AA 的支持,也几乎都会与 ethereum 主网一样,后续跟进 EIP-7702 的升级。

而钱包和AA相关领域的基础设施,则更全面的在为EIP-7702做铺垫。

其从 EIP-7702 的核心体验优化:批量交易、Gas 抽象(即 Gasless 等免gas方案)、账户托管,这些类似 Coinbase、Metamask、Biconomy、Zerodev、Rhinestone、Ithaca 等服务商都全面支持。

而这些也都是从 ERC-4337 的时代进一步完成的适配,这也是 EIP-7702 的一大优势,最终账户主体是一个即属于 EOA 又属于 CA 的形态,那么大量曾经围绕AA 的基础设施都可以迁移适配。

现在不妨我们用一张表格去体现 EOA、ERC-4337、EIP-7702 之间的最终效果层差异。

客观讲以太坊体系有远比其他链更沉重的历史包袱,这是近期社区声音反对 Vitalik 改动 EVM 虚拟机的原因,也是早期不得不选择 ERC-4337 的原因,但是一旦有了更好的选择(EIP-7702)可以实现兼容历史包袱与优秀成本优化,用户也就迎来了“ iPhone 时刻”。

伴随底层形态的转变,衍生的形态还可以进一步遐想,比如

时间对用户的体验影响巨大,作为整个区块链世界里共识体系排名第二(仅次于 BTC )的 ETH,他无法像BSC一样,随意的就将区块时间从 3s 缩减为 1.5s 的方式,去提升用户体验,那么基于 EIP-7702 的钱包工具,则用户体验最重要的桥梁。

所以在结合前面我们对其底层的讨论,可以说 EIP-7702 是账户抽象的终极形态!

不过,要是说未来用户全面都使用其实也并不大可能,因为他本身的应用需要谨慎,融入复杂智能之后,其实带来的安全风险也并不在少数,有些攻击方式甚至非常的隐晦。因此,2025年5月7日,以太坊布拉格升级激活之后,用户最需要的,就是一个真正安全的钱包,用技术上的专业来保驾护航。

4.2 终局之战结束了吗?

没有。

确实,Pectra 是以太坊迄今为止最雄心勃勃的一次升级,涵盖有11项 EIP,数量为历史之最!并且 EIP-7702 的诸多好处,我们都看在眼里,也通过上文的原理和数据给出了判断。

但是也正是在用户参与选择之后,市场将会迎来混乱之战。

AA 的生态系统在不断发展过程中,已逐渐显现出碎片化的趋势,其中从框架上定义账户抽象的 EIP,已经有 ERC-4337、ERC-6900、ERC-7579 等接口标准,但不同实现方案之间在用户体验、接口规范和行为预期上存在明显差异。不同的钱包实现方案都聚焦于相似的应用场景和有限的核心功能,但各自采用了不兼容的设计假设和实现逻辑。

一个最典型的隐藏性问题,就是存储的紊乱。

在 EIP-7702 的推出后, EOA 账户下的存储空间变得可以被合约使用,并且该存储空间并非由单一合约独占,而是可能被多个智能账户提供方共同切换着使用。

当用户发起“切换代理合约(re-delegation)”操作时,原有的账户合约会被新的合约替换。然而,旧合约写入的状态数据不会随之被清除,仍然保留在该EOA的存储中。这意味着新的代理合约可以访问甚至修改旧合约写入的存储数据,也就引入了“存储污染”(见参考资料2)的风险,可能干扰甚至破坏当前合约的执行逻辑。

虽然,社区中已经出现了多种方案,例如通过 namespace 对存储进行隔离(ERC-7201),以减少存储混乱带来的影响。但无论采用何种方案,目前生态中仍缺乏强制性的统一规范,来确保 nonce 的唯一性与安全性。

还有一个典型问题,就是执行标准的紊乱。

正如这篇文章中所揭示的那样:《从碎片化走向统一:智能账户标准化的必要性》(见参考资料3)

如今:Safe、Biconomy 和 ZeroDev 都分别实现了各自版本的批量调用功能,但三者的函数命名、接口参数和结果处理方式均不相同。其中,ZeroDev 考虑了批量调用失败的情况,而 Safe 和 Biconomy 并未处理此类场景。

行业的标准“各自为政”的做法,必然也就带来了混乱之战。而用户、dApp、开发者都是其中的受害者。所以,EIP-7702 的推出,不仅是一项技术创新,更是建立智能账户通用基础设施的契机。它为我们提供了一个“重构共识”的窗口期,推动整个 Web3 钱包生态从功能多样走向结构统一,实现真正的可持续发展。

5、EIP-7702 激活后,必备的三大安全理解

现在,让我们切换不同的视角,从用户、从DApp、从交易所等等组织,综合来看这套系统,如何影响我们,他会带来机遇,也会带来风险,只有了解风险,也才能更完美的享用这套系统带来的福利。

5.1 Eip-7702很复杂我不升级可以吗?

当然,你可以选择不主动升级,但是有一个风险您需要知道,在布拉格升级之后,您的一笔消息签名,有可能在不经意之间让自己陷入危险之中。

确实 EIP-7702有强钓鱼风险,因为其 Authorization 的参数是由:address、nonce、chainid 构成的,如果其中的chanid是0,则该签名授权可以在任意链在满足 nonce 的情况下也生效。

通过 OKX 开源的签名SDK里关于 7702 流程的具体实现方式,可以看到,为了符合该标准,所以用户最终签署的是一个哈希值:0xabc,其计算方式如下:

其中 keccak 就是以太坊上主流的哈希算法,特点是任意长度的数据都可以算出一个固定 32 字节的长度结果。而 rlp 则是一套信息编码方式,最后其中的 Magic 则是个固定值。

但是由于最终产生的结果,毕竟是一个看不懂具体内容的哈希值,所以其实用户如果草率的去签署一个消息,并且别人也可以携带你的授权上链生效,那么就会不知觉被设置上 code,从而引发 0day 级别攻击事件。并且由于 set code 是强制性的,所以你也不能认为自己曾经设置过安全的合约,就不会被替换掉。

所以安全的钱包都会禁止用户去签署一个任意的哈希值,这点之前也是(因为哈希值也有可能代表一笔普通交易)。

5.2 如果误升级有风险的合约,如何保护自己?

这个风险也很常见,毕竟无法确保自己完全不会被钓鱼。

要防护这个问题,则要先知道一个技术背景是,以太坊系统中交易是需要按照 nonce 顺序,只有保持连续,才能被链上承认。

因此也就存在2种攻击方式。

这么看来,好像EIP-7702更危险了?其实不然!

对于区块链这样,真正让用户主权回归到用户私钥所有的系统中,任何时候乱签名都会导致资金损失,但是这里的关键是,抛开大额用户被定向盯着投毒的情况之外,多数是因为用户得经常重要的私钥拿着用,才会有风险。

如果你已然通过AA,实现了家庭账户和个人子账户的总和功能,并且对每个子账户设定了了可用的额度,那么基本你的主账户只需要在修改系统级别设置的时候,才需要唤起,而常规日常使用,只需要小账户来解决。

5.3 为什么升级后有些常见的交易失败了?

这种情况往往发生在不支持 EIP-7702 的钱包工具中。

首先补充一个技术背景,以太坊上合约调用过程中,首先会判断用户当前地址的 code 字段,如果存在内容,就会走一遍其默认接受的函数来执行对应的逻辑。

基于此,那么对我们普通用户而言表现上就会是,如果我完成了 EIP-7702 的合约设置,那么基本都会有默认接受函数的功能,则任意一笔普通的 ETH Transfer 交易,都会执行一些合约逻辑,从而增加整体的 Gas use。如果你普通交易设置的 Gas Limit 为 21000,那么自然就会失败了。

同理,由于很多NFT项目都会检测接收方地址是否是黑洞地址(即无法转出资产的地址)从而禁止交易,所以如果你的接受函数处理不当,也会导致 ERC20、ERC721 的资产无法接受而损失。

对此,建议通过明确支持 EIP-7702 的钱包进行设置,或者使用备受安全审计和用户承认的逻辑合约

6、以太坊主网 Pectra 还有什么改变?

市面上有不少声音认为,以太坊似乎迷失了?为什么很多的升级对用户并没有关系?真的是这样吗?不妨让我们去看看本次升级其他的EIP来寻找答案。陈然,EIP-7702是用户可以感受到的最大升级变化,但是其他还有10个EIP,则在不同维度为以太坊生态带来改变。

首先是密码学支持上。通过EIP-2537,引入了BLS12-381椭圆曲线的预编译操作,可优化BLS签名验证等复杂加密操作,提供了更高的安全性(120+ 位安全性)和计算效率(Gas优化)。

而质押场景则有多项优化点。客观说,质押确实需要优化,一直以来以太坊的验证者集群增长迅猛,已经有近百万的验证者质押地址。这是由于 MAX_EFFECTIVE_BALANCE 被限制为32 ETH,节点运营者需要创建多个验证者账户来管理较大的质押资产,这导致了大量“冗余验证者”的存在。所以通过EIP-7251 提升了最大上限,那对于lido那些聚合质押协议,就可以减少控制账户的数量,减少系统的复杂度,但这可能会加剧去中心化问题,使ETH质押市场更加集中化。

本次升级后,可以让更大规模的节点运营者合并多个验证者账户,同时也为小型验证者带来更多灵活性,例如可以通过复利收益积累或更灵活的质押增量来增加收益。这点非常重要,原本32ETH达成之后,如果你新产生10个ETH的收益,那其实你不会继续拿去ETH质押的,因为你还需要凑到32个,才能开启新的账户。但是这次更新之后,你就可以直接质押42个ETH。那么显然你的复利收益就又可以回到ETH体系中,有用户体验的便捷性,更有某种降低ETH流动性的伏笔。

最后就是对L2生态的大幅优化。以太坊始终坚定的走在L2生态共同体的路上。其他的SVM系和MOVE系,本质上还在发展自己的L1,甚至于探索其上的L2还有一定矛盾和冲突,根源还是这些链的高性能也相对不那么依赖于去做L2。

为了鼓励更多L2高效率的与以太坊主网的交互,所以通过 EIP-7623 把交易中的 calldata 的 gas 费用,直接从从每字节 4/16 gas 提高到 10/40 gas,这是倒逼L2不要用 calldata,而是多使用 Blob。

还通过EIP-7691,增加块中的 blob 的容量,从而支持更大规模的 L2 存储空间,在之前坎昆升级中,有两个代表blob 的核心参数 target 和 max ,用来表示每个块的目标 blob 数量和每个块的最大 blob 数量。

坎昆是3和6,现在布拉格之后,参数变成6和9,总之就是扩容了。

所以以太坊是通过 L2 的 TPS 来做到以太坊本身的提升,虽然其中问题也有很多,流动性分散、跨链复杂性、紧急逃生容量等等。因此,目前的 Pectra 升级中,以太坊在给L2增加“高速公路”,但后续如何解决“车流管理”和“不同高速的收费标准”才是最根本的问题。

窥见未来

本文洋洋洒洒接近万字,我们从账户抽象的发展根源开始,到ERC-4337以及EIP-7702所代表的两种路线以及对比,接着深入EIP-7702的原理与机制,分析其对用户主流场景的优缺以及调整效果。

笔者认为,“Not your keys, Not your money” 这是一个伟大的理念,EIP-7702并非是颠覆他,而是另一种维度的补全和完善,让其兼备主权与易用性。正如以太坊基金会研究员 Yoav Weiss 所言,“下一个十亿用户不会在纸上写 12 个字。”

然后通过两者的对比,可以说他对 ERC-4337 有着显著的优化,给予用户空间和灵活性,从而更容易在后续的市场被用户承认,并且使用起来,一旦用户开始采用 CA 为链上主体,复杂交易类型就将大量涌现在EVM系链上。

由此,我们窥见未来的影子伴随着底层账户主体、交易类型的丰富,很多曾经卡脖子的应用体验问题,也将随之而解,不再强行要求用户必须去理解 Nonce、Gas 等等逻辑,而统一由钱包等入口服务工具提供简化的处理。

虽然面临行业级别多元性,带来一定程度的接口标准、存储空间的紊乱,但笔者也同样乐观的看到,越是有价值的乱局,就越是能杀出一条统一的标准,去中心化的多元博弈,会最终反过来促进行业的发展。也正是因此,所以EIP-7702上线后,并不会马上引爆以太坊上的生态,因为他是一个螺旋上升的技术底层升级,往往此类升级,会领先于市场应用2-3年的时间,留待给应用层逐渐发酵。

并且,从本次升级起,用户的安全将会更加的依赖于入口工具层的服务质量,开源开放是带给用户安全感的重要一步,因此 OKX Wallet 本次所集成的 EIP-7702 底层 SDK 实现也开源开放,公开接受社区与市场的考验,也有众多保持开放性的钱包在自托管的路上越走越远,用开源的公平性给与用户绝对的自主权。

最后,回到过 Pectra 升级本身,我们可以再次看到以太坊对未来方向的思考与坚持,如今L2大战略步入稳定执行期,以太坊的路线图在过去十年中在细节上发生了许多变化, 但核心目标始终出人意料地保持一致:希望拥有一个安全且去中心化的绿色(POS)的区块链,既具备高扩展性,又易于验证。而 EIP-7702 等有效提升用户体验的AA提案从硬分叉中引入,则代表了以太坊始终在探索,如何在保证去中心化的同时提升多链之间的竞争力(即使面对强如Solana 等新一代公链的竞争中),以及如何成为理想中的超级计算机!

本文首发于:

https://www.okx.com/zh-hans/learn/account-abstraction-and-eip-7702

参考资料:

https://github.com/okx/js-wallet-sdk

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md

https://www.okx.com/zh-hans/learn/smart-account-standardization

https://mp.weixin.qq.com/s/WjpPNKEVlxlCSz1WyHH4tw

https://vitalik.eth.limo/general/2024/12/03/wallets.html

https://metamask.io/news/account-abstraction-past-present-future

使用本文
0
共享
上一篇

保护Uniswap v4:形式化验证和恶意Hook保护

下一篇

英国法院禁止Craig Wright继续提起与中本聪身份相关的诽谤诉讼

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

阅读下一页

数字取证和欺诈分析变得更容易了

本文介绍了使用 LlamaCloud 和 LlamaIndex 进行文档解析,以提取如英国邮政编码、IP 地址、电子邮件地址、银行详细信息等敏感信息的方法,用于欺诈检测和数字取证。