账户抽象、链抽象

账户抽象 EIP-4337

EIP-4337 不需要修改以太坊底层协议,就实现了账户抽象。它解决了Gas 费门槛和私钥的脆弱性(多签),引入了四个关键组件:

第一个组件:UserOperation(用户操作)

EIP-4337 创造了一个全新的对象,叫做 UserOperation(用户操作,简称 UserOp)。它不是一笔普通的链上交易,而是一个"意图包"——它描述了用户想做什么(比如"我想把 100 USDC 从 A 转到 B"),但它本身并不直接上链。

可以把 UserOp 想象成一张你写好的"外卖订单"。上面写明了你要什么、送到哪里、愿意付多少钱——但它本身只是一张单子,不是那碗热腾腾的面。

第二个组件:Bundler(打包者)

用户把 UserOp 发送出去之后,它不会直接进入区块链的交易内存池(Mempool),而是进入一个专门的 Alt-Mempool(替代内存池)。在这里,有一类专门的节点,叫做 Bundler(打包者),负责守候在这里,把多个用户的 UserOp 收集起来,打包成一笔真正的、普通的以太坊交易,然后以自己的 EOA 名义把这笔交易发送上链。

Bundler 在这里扮演的角色,有点像外卖平台的调度系统:它把来自不同用户的外卖订单,分配给一个骑手,让骑手把这些订单打包在一起,一次性送出门。Bundler 自己支付 Gas 费(先垫付),然后再从 UserOp 里约定的费用中收回成本,赚取差价。

第三个组件:EntryPoint(入口合约)

Bundler 把打包好的 UserOp 发送到链上的哪里?发送到一个特殊的、由以太坊社区共同认可和维护的智能合约,叫做 EntryPoint(入口合约)

EntryPoint 就像是一个公正的裁判。它收到 Bundler 发来的 UserOp 之后,会做几件事:验证 UserOp 的签名是否合法(这一步交给用户的合约钱包来处理,后面讲)、验证账户余额是否足够支付 Gas 费(或者有没有人代付)、然后执行用户在 UserOp 里描述的操作。

EntryPoint 是整个 EIP-4337 系统的核心枢纽,所有的 UserOp 最终都要经过它的审判。

第四个组件:Paymaster(代付者)

Paymaster 是一个可选的智能合约,它的职责是:替用户支付 Gas 费

这意味着什么?这意味着,一个项目方可以部署一个 Paymaster,声明:“来我们平台的用户,Gas 费我来付。“用户甚至可以完全不持有 ETH,就能在以太坊上执行交易!这就像是你去一家新开的餐厅,餐厅为了吸引客流,宣布今天所有菜品免服务费——你只需要走进来点菜就行了,其他的事情餐厅帮你搞定。

Paymaster 还有更多花样:它可以让用户用 USDT、USDC 或者任何 ERC-20 代币来支付 Gas 费,而不必使用 ETH。这对于那些只持有稳定币的用户来说,是一个巨大的福音。

链抽象

链抽象解决了多链碎片化,核心理念是:用户根本不应该关心自己在哪条链上。

意图架构

链抽象领域的一个核心技术思路,叫做 意图架构(Intent-based Architecture)

在传统的区块链交互模式中,用户需要精确地告诉系统"怎么做”(How):先去 Uniswap 把 ETH 换成 USDC,再去跨链桥把 USDC 从以太坊转到 Arbitrum,再去 Arbitrum 上某个 DEX 买入某个代币……每一步都要手动操作,每一步都可能出错。

但在意图架构下,用户只需要告诉系统"我要什么”(What):比如"我想用我以太坊上的 100 USDC,买到 Arbitrum 上的 50 USDT,最终到账金额不低于 49 USDT"。系统接收到这个"意图"之后,由专门的角色(通常叫做 Solver / Filler,求解者/填单者)来竞价求解:谁能以最优的路径、最低的成本、最短的时间,帮用户实现这个意图,谁就获得这笔交易的执行权并赚取费用。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计