账户抽象:简化你的加密世界

avatar
鉴叔
1年前
本文约4465字,阅读全文需要约6分钟
本文将详细探索账户抽象是为了解决什么样的问题?以及账户抽象究竟抽象了什么?

7 月 17 日,在巴黎举行的以太坊社区会议(EthCC)上,以太坊联合创始人 Vitalik 发表了主题为“账户抽象的历史与未来”的公开演讲,并表达了对账户抽象钱包的支持。其实,这并不是他第一次为账户抽象站台,在早些年间,其就在博客中表示“账户抽象一直是以太坊开发者社区的梦想”。

那么,账户抽象是为了解决什么样的问题?以及账户抽象究竟抽象了什么?本文将详细探索这些问题。

一、从以太坊的账户模型说起

在细致了解账户抽象之前,我们必须先从最基本的以太坊账户模型说起,并且明白现在的钱包出现了什么问题。

以太坊上的钱包账户主要分为两种类型,一种是外部拥有账户(EOA),另一种是合约账户(CA),二者的比较如下:

账户抽象:简化你的加密世界

我们日常熟悉的直接由某一用户私钥控制的钱包如 Metamask、imTokenOneKey 等都属于传统的 EOA 钱包。

传统 EOA 钱包的弊端

  • 使用门槛过高

加密钱包是用户进入Web3世界的重要入口,然而钱包却并不对新用户友好。很多人需要学习私钥、公钥、地址和助记词等概念,并在有一定了解后才可能会使用钱包。这对于久在单一的账号密码体系下的Web2用户来说,门槛过高。

  • 安全保障单一,资产丢失风险大

用户的公钥是根据私钥随机生成的,所以 EOA 的私钥与公钥之间具有绑定关系。私钥是用户访问 EOA 的唯一途径,私钥在谁手里,那么资产就在谁手里,如果私钥丢失,那么也意味着与之关联的 EOA 内的所有当前资产将无法找回。同时,私钥因某些原因而被盗取后,用户除了赶快转移钱包资产外,没有任何限制办法,否则资产也会丢失。

  • 无法实现定制化功能

EOA 的可编程性弱,无法实现批量交易、自动提取资金或者其他的用户定制化功能。例如用户将 ETH 存入 Lido,并想将获得的 stETH 兑换成 USDT,使用传统 EOA 钱包进行操作的话这将是一个繁琐的过程,极大地影响了用户体验。若是使用支持定制化功能的钱包进行操作,用户只需要进行一笔交易就够了。

  • 昂贵与缺乏灵活的 Gas 费

以太坊网络上的每笔交易都会花费 Gas,这就使得小额交易的手续费显得非常昂贵,网络拥堵时更甚。同时,用户必须在钱包中时刻持有 ETH 以便支付交易手续费,而不能选用其他币种来代付手续费。如此昂贵与死板的 gas,时常为很多普通用户造成困扰。

以太坊社区开发者一直以来探索的账户抽象技术就是为了解决使用传统 EOA 钱包所带来的弊端。

二、账户抽象究竟在抽象什么?

第一次听到账户抽象(Account Abstraction)这个概念,或许大家心中第一反应都在想究竟抽象了什么东西?其实在中文语境下这确实非常难以理解,但是我们从英文语境下理解,“Abstraction”也有提取的意思,“提取”顾名思义就是将一个或两个事物的精华单独拿出来,而抛弃其他累赘的东西。

从这个角度解释“Account Abstraction”,就是将 EOA 账户能主动启动交易的功能和 CA 账户的功能进行提取并融合成一种新的可编程性通用型账户。由此,我们便可以抛弃繁琐的私钥/助记词,用电子邮箱等简单的身份验证方式登陆账户,同时也可以实现更多的账户定制化功能,更加灵活的支付 Gas 甚至可以由 DApp 赞助。

账户抽象:简化你的加密世界

从手动挡汽车到自动挡汽车的转变

如果从用户角度解释使用传统 EOA 钱包和使用 AA(Account Abstraction)钱包的体验区别,就例如从开手动挡汽车到开自动挡汽车的转变。当我们去学习开手动挡汽车时,需要先理解不同档位与速度的匹配、油门与离合器的配合操作和换挡的技巧等,否则真正上路时就有发动机异常损耗和熄火等风险。但是,如果是开自动挡汽车就简单许多,用户只需要理解加油前进、刹车减速和空档停车等基础操作就可以轻松上路,并且还升级增加许多手动挡汽车所没有的智能功能。实际上这便是自动挡汽车对手动挡汽车复杂操作的抽象。

账户抽象也是类似的,对于用户来说就是简化了钱包原来的操作并且还提升了钱包使用体验,用户也不需要在乎其背后的运行逻辑,直接用就完了。

ERC-4337 运行原理

自 2017 年 2 月 Vitalik 提出首个账户抽象提案 EIP-86 以来,以太坊社区已经迭代了许多具体的帐户抽象操作想法,但是由于这些提案不够全面或是需要在共识层上进行更改,对以太坊来说并不理想。直到 2021 年 9 月份 EIP-4337 的提出,才使得在不更改以太坊共识协议的基础上实现账户抽象成为可能。

账户抽象:简化你的加密世界

提案 EIP-4337 在今年 3 月份正式被授权为标准 ERC-4337 ,开发者可以利用该标准构建 AA(Account Abstraction)钱包。

那么,如何理解 ERC-4337 的运行原理呢?在用户使用传统 EOA 账户发起交易(transaction)时,可以形象理解为是自己将“交易”送到内存池(Mempool)中,然后等待区块验证者(Validator)上链。

而在 ERC-4337 标准框架下,用户并不发起交易(transaction),而是发起“UserOperation”,我们可以将其比喻成一个包裹,因为相比于“transaction”,“UserOperation”中包含了发件地址、身份签名、代付款人地址及用户较复杂的指令等信息,所以更像一个包裹。用户将这个包裹先放在专门的包裹中转站(UserOperation Mempool),随后由中转站的快递员(Bundler)整理打包后再送到内存池(Mempool)中去。

因此,我们完全可以将 ERC-4337 的运行类比成一个帮用户送包裹的过程。

账户抽象:简化你的加密世界

面对这么多的包裹,负责中转站的快递员(Bundler)可以选择与区块验证者(Validator)类似的方法,看谁给的手续费多就先把谁的包裹打包,当把一捆包裹(bundle transactions)打包好后,快递员并不会将这一捆包裹直接放入内存池,有两个原因,一是用户写在包裹中的指令还没有被执行,二是辛辛苦苦的快递员还没得到钱呢。

因为用户付的手续费其实并没有直接给快递员,而是还在自己的智能合约钱包里。快递员要想拿到这笔钱,就得先调用 EntryPoint 智能合约,我们将它比喻为入口执行机器,只有当用户包裹进入了这个机器,机器才会自动从用户的智能合约钱包中把钱发给快递员。

那么,这个入口执行机器在内部又对包裹做了什么呢?首先该机器会在内部把包裹拆开,先验证这一捆包裹里的用户身份和估计用户存的钱是否足够补偿快递员的费用,验证通过就会将用户存的手续费付给快递员并将用户的指令分发出去执行(不管执行有没有成功小费都将支付),有多余的手续费则退还钱包,要是验证不通过的话则直接丢掉其中的包裹。

机器在给快递员支付费用时还有另外一种情况,如果用户包裹里写了代付款人的地址信息,那么执行机器就会去检查对应的代付款人(paymaster)是否在专属的地方存了钱,足够的话就不需要用户支付这笔费用了。因为这个功能的存在,在实际应用场景中 DApp 为得到用户芳心可以赞助 Gas,或者用户也可以使用其他 ERC-20 代币支付给代付款人实现 Gas 费的灵活。

但是,值得注意的是快递员启动入口执行机器是需要付费且过程是不可逆的,不管最后有多少有效包裹,入口执行机器估计的费用是否准确,快递员花的钱都不会被退。所以,为了避免损失,在让包裹进入机器前,聪明的快递员会自己用一台类似于入口执行机器的装置先模拟一下整个过程,估计最后自己得到的费用是否足够,够的话再让包裹进入真的机器。

如此,在 ERC-4337 标准框架下就很顺利的实现了账户抽象,不仅没有改变以太坊原有的基础协议,同时也使账户可以实现批量交易、社交恢复钱包、Gas 费补贴等的复杂功能。

三、基于 ERC-4337 标准的 AA 钱包

不同的钱包解决方案

在 ERC-4337 被采用之前,针对于传统的 EOA 钱包带来的弊端,市面上也有其他的解决方案:智能合约(CA)钱包和多方计算(MPC)钱包。下面我们将简单介绍这两种钱包并比较出账户抽象(AA)钱包的优越性。

  • 智能合约(CA)钱包

其本质就是一个合约,多签钱包是最常见的一类智能合约钱包,用户将钱放入智能合约中,并由多个 EOA 账户控制,所有交易都通过合约执行。因为合约有逻辑,所以能更加安全地控制资产。这样的钱包对于个人来说并没有多大的使用场景,但是对公司等组织来说却非常有效。例如 GnosisSafe 等钱包。当然,目前还有一类智能合约钱包没有使用 ERC-4337 标准而是通过其他技术方式实现了类似账户抽象的功能,如 Argent 等钱包。

  • 多方计算(MPC)钱包

多方计算(Multi-Party Computation)钱包是指控制 EOA 的单一私钥被分散成更小的碎片并由多方保管。进行交易时,再将多方碎片组合在一起。因为私钥分配在不同服务器上,所以更加安全。例如 FireblocksZenGo 等钱包。

  • 不同钱包优劣性比较

为了直观看出不同钱包解决方案的差异及优劣性,我们将钱包分为 MPC 钱包、多签钱包、基于 ERC-4337 的 AA 钱包及不基于 ERC-4337 的 AA 钱包。

账户抽象:简化你的加密世界

从上图比较中可看出,基于 ERC-4337 的 AA 钱包无论是易用性、安全性还是功能性上整体都优于其他类型钱包。

基于 ERC-4337 的 AA 钱包盘点

  • UniPass

今年 5 月份,UniPass 与硬件钱包 Keystone 宣布合并成立 Account Labs,并且将聚焦账户抽象方向,共同开发 Web3 账户抽象解决方案。Account Labs 的 CEO 由原 Keystone 的创始人刘力心担任,原 UniPass 的创始人知县担任 COO。

UniPass 已经实现的功能有让用户可以使用社交方式登陆及恢复钱包,允许灵活支付 Gas 等。其目前已经兼容了 ERC-4337 ,并且透露今年下半年会对 UniPass 进一步升级,加速账户抽象能力的实现和落地。

账户抽象:简化你的加密世界

  • Echooo Wallet

Echooo Wallet 是基于 ERC-4337 标准构建的 AA 钱包,同时还结合了 MPC 和 AI 技术,支持多重签名和社交恢复等多种功能。Echooo Wallet 成立于 2022 年, 7 月 17 日以 1 亿美元估值完成 1500 万美元的融资,AT Capital 等参投,并且在当晚开启了“限时领取 AA 钱包”的活动,引起了关注。

账户抽象:简化你的加密世界

  • OKX Web3钱包

8 月 2 日,OKX Web3钱包正式推出基于 ERC-4337 标准的 AA 智能合约钱包,并且是首个支持 EthereumPolygonArbitrumOptimism、BNB Chain、Avalanche 和 OKT Chain 7 大公链的 AA 智能合约钱包。OKX 的 AA 智能合约钱包在上线的第二天就曾得到了 ERC-4377 官方的认可,称其在用户 UX 层面的设计非常完善(原推文已被删除)。

账户抽象:简化你的加密世界目前 OKX 的 AA 智能合约账户可以在新版本的 OKX app 中轻松创建,并且已经实现了灵活支付 Gas 费、DEX 一键兑换、Defi 一键挖矿以及一键批量上架 NFT 等多种功能。同时为了激励用户,还推出了限时免 Gas 的活动,最高可达 5 U。

四、思考与总结

在 Vitalik 的构想中,他希望通过账户抽象使人们管理加密钱包就像管理电子邮箱一样简单。账户抽象的愿景确实非常吸引人,有些支持者甚至判断成功的 AA 钱包会为加密行业转化大量Web2的用户以及促进新的生态爆发。

但是在币圈当一个事物越是被疯狂看好,我们越是要冷静分析。根据 Dune 上的数据显示,尽管 ERC-4337 的运行机制已经相当完善,但今年以来一些链上的 Bundler 月亏损依然很高。如图,在今年 7 月份除了 Optimism 和 Ethereum 上的 Bundler 收入较为可观外,其他链上的 Bundler 并无明显增益。

在区块链的价值逻辑下,任何行为都由客观的激励与惩罚机制来规范,若是 Bundler 的高亏损得不到有效解决显然会削弱其行为的积极性,这对于整体系统的运行是不利的。

账户抽象:简化你的加密世界

还有一个值得思考的问题是,AA 钱包能够降低用户使用钱包的门槛,但是否一定能吸引更多用户呢?在 imToken 发布的“ 2023 年加密钱包报告”中,其随机对 180 名加密用户进行了调查,发现有 63% 的用户更喜欢使用交易所的托管钱包,因为更便宜和方便,被黑客盗取资金的风险也较小。

AA 钱包或许可以抢夺交易所等托管钱包的用户,但是单靠它未必能够吸引更多Web2的用户加入加密行业。因为我们从以往成功破圈的 DeFi、NFT 项目或者是 StepN 等应用来看,能够吸引Web2用户的要么是具体解决了某些痛点的实际用例,要么就是强大的财富效应。钱包的使用体验提升确实是一个锦上添花的事情,但能否在目前的熊市中扮演雪中送炭的角色妄还不敢下定论。

因此,账户抽象真的要想达到人们期待的效果,不仅需要 AA 钱包的努力还需要 AA 的生态系统,上到应用层下到基础设施进行共同努力才行。

让我们拭目以待吧。

免责声明:本站所有内容可能涉及项目风险事项,仅供科普与参考之用不构成任何投资建议。请理性看待,树立正确的投资理念,提高防范风险意识。建议在交互与持有之前,综合考虑各种相关因素,包括但不限于个人购买目的以及风险承受能力等。版权须知:引用信息版权属于原媒体及作者。如未经鉴叔 J Club 同意,其他媒体、网站或个人不得转载本站文章,鉴叔 J Club 保留追究上述行为法律责任的权利。

原创文章,作者:鉴叔。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选