在解释什么是账户抽象前,我们需要先了解一下以太坊的账户模型。
目前在以太坊中,有两种类型的账户:外部账户(EOA)和合约账户。
- 外部账户 (EOA, Externally Owned Account) 是由私钥控制的帐户,一般由用户在加密钱包(例如 MetaMask )内创建,可以主动发起交易。但 EOA 不允许批量交易,且用户只能使用 ETH 支付 Gas 费用。
- 合约账户是部署在网络上的智能合约。其代码由 EVM 执行。不能像 EOA 一样发起交易,只能被动执行交易。
如需深入了解以太坊的账户模型,请阅读我们的另一篇百科 “什么是账户模型 Account Model”。
而账户抽象简单来说就是一种将 EOA 和智能合约相结合的技术。它允许用户使用由智能合约控制的账户进行交易。换句话说,也就是使用“智能合约钱包”来处理交易。“智能合约钱包”可以理解为由智能合约控制的 EOA。它同时拥有合约账户和 EOA 的功能,可以帮助用户实现更加安全且灵活的交易。
和 EOA 相比,“智能合约钱包”可以:
- 支持任意验证逻辑(例如,Schnorr、BLS、多重签名方案)
- 利用捆绑(Bundler)实现批量交易
- 实现第三方赞助交易(DApp 可以代替用户支付交易费用)
- 支持多个 EVM 兼容网络(例如,Polygon、Avalanche、Arbitrum 等)
- 实现多种定制交易功能(例如,自动支付、预批准交易等)
- 支持后续功能升级、改进和错误修复
- 利用多签实现社交恢复(即用户指定的监护人或帐户可以通过多重签名来协助帐户恢复)
- 使用除 ETH 以外的 ERC-20 代币支付 Gas 费用等