最近 EDCON2023 黑山的演讲上,VitalikButerin 又提到了#Ethereum账户抽象(account abstraction)。 看了不少深入分析的文章和报告,技术性都比较强,于是想试着用大白话来聊一聊:

目前的用户账户基本都是EOA账户,一个私钥管理着账户的一切权限。而一个账户抽象的账户里面包含一个EOA账户和一个合约账户。意味着用户可以通过合约账户对账户的权限进行个性化设置和管理。比如可以利用合约账户实现多签,账号找回等。

关于账户抽象最重要的一个提案就是 EIP-4337 了。具体原理,Real_Mashanglion的这个图看的一目了然。 简单来说,当用户想对账户进行操作时,由EOA发起,生成一个UserOperation,每个用户的UserOperation都放到 mempool池。打包器(Bundler)将池子里的UserOperation打包后交给以太坊上的入口合约执行。用户的合约账户可以完成用户操作的一系列验证,并将验证结果发送给入口合约。 并且EIP-4337支持选择谁来支付gas费;当一个操作需要多次交互时,用户不需要每次签名扣gas,可以一次性支付gas解决。

聊聊VitalikButerin 最近提到了的Ethereum 账户抽象

账户抽象有什么好处?

主要是利于钱包用户:由于可以设置社交找回钱包,钱包丢失的风险降低了; 用户在用户端就能很方便的设置多签、设置签名算法、进行精细的权限管理等,十分灵活,让用户的钱包变得智能化; 项目方可以设置项目端支付gas,降低用户的成本和转gas的麻烦。 用户的交互过程可以通过合约的自动执行而简化。

可以关注哪些项目?

第一位的肯定是钱包应用,目前支持用户抽象的钱包已经有很多,比如:Unipass、Argent、Safe、Bravvos等。 公链方面,具有原生账户抽象功能可以作为一个加分项,比如:Starknet、zkSync等新的L2。

最后,账户抽象钱包的确解决了当前钱包的很多痛点问题,对web3用户是很有吸引力的,但是要降低圈外用户的进入门槛,这个还得看具体钱包应用的设计了,希望钱包产品能加速迭代。 不过去中心化本身就是有门槛的,还是无法和中心化的服务相比。