传统区块链账户分为外部账户(EOA,由私钥控制)和合约账户。用户必须管理私钥和助记词,每一笔交易都需要签名并支付Gas,操作门槛较高。账户抽象(Account Abstraction,EIP-4337)将合约账户作为一等公民,使DApp开发能够实现无Gas交易、社交恢复、批量操作与自定义验证逻辑。
EIP-4337引入用户操作(UserOperation)对象,用户将其发送到链下的操作池(alt mempool),由捆绑者(bundler)打包成单笔交易提交到EntryPoint合约。EntryPoint负责验证和执行用户操作。DApp开发可以部署自己的捆绑者,或依赖公共捆绑者网络。
无Gas交易(赞助交易)是账户抽象最实用的功能之一。DApp可设置支付主节点(paymaster)合约,代为支付用户操作的Gas费。支付主节点可以根据业务规则(如新用户首次操作、每日限额)决定是否赞助。用户无需持有原生代币即可使用DApp,大幅降低新用户门槛。DApp开发需确保支付主节点有足够资金,并防范女巫攻击(同一用户反复消耗赞助额度)。
社交恢复解决了私钥丢失的痛点。用户可指定多个监护人(朋友或硬件钱包),在丢失密钥后通过监护人签名重置账户。传统EOA无法实现社交恢复,而账户抽象可将验证逻辑完全自定义。DApp开发可提供社交恢复模块,用户在创建账户时设置监护人列表。恢复操作需要收集足够签名并提交到EntryPoint。
