最近,账户抽象以及 EIP-4337 在开发者圈子里很火。账户抽象指的是未来钱包签名机制概念化。目前,主流钱包(EOA 钱包)采用的签名机制是 CDSA(椭圆曲线数字算法签名),而未来钱包的签名机制可以多样化:采用多签、其他的加密算法以及 ZK 验证等。EIP-4337 的提出则推动账户抽象概念的落地,未来将可能开启智能合约钱包新纪元。
那么,账户抽象所带来的钱包改革会带来什么实质性的好处吗?在 Metamask、Math Wallet 等钱包已经成了主流应用的情况下,智能合约钱包还机会兴起吗?本文在科普的基础上也对上述话题进行探讨。
作者:有匪,Fenbushi Capital
感谢:Math Wallet CTO Eric 分享
EOA 钱包 &智能合约钱包
钱包的账户都有两部分构成:分别为外部账户(externally owned account) 和合约账户(contract account)。EOA 钱包是用户通过私钥直接控制账户的钱包(Metamask、Math Wallet)。其中,钱包账户的创建是通过随机生成私钥、根据私钥计算出公钥、根据公钥计算出地址的方式。用户发送交易的过程实际上是用私钥为交易数据签名的过程,由外部账户触发。
EOA 钱包的优劣势包括,优势:
1. 可以免费创建钱包。
2. 转账是 gas 费用较为低廉。
3. 可以同时操作多个账户。
劣势:
1. 用户在生成一个钱包后,需要保留相应的私钥。一旦私钥流出,钱包因资产将面临被盗风险而被弃用。
2. 用户在转账操作时经常需要授权应用,这给到恶意账户可乘之机,智能合约可以瞬间把资产转走(参考 TP 钱包漏洞的案例)。
3. 用户必须用 ETH 进行支付 gas 费用。
而合约钱包在保留公私钥的同时,不同点在于钱包本身由智能合约操作,发起交易则直接通过合约账户(contract account)来完成。
合约钱包具备以下优劣势,优势:
1. 无需助记词,可恢复钱包并更换私钥。
2. 无需购买 ETH 作为 gas 费用支付。
3. 可管理,在基础的转账上增添更多功能:隐私交易、多签、代付 gas 费用等。
4. 可编程、可升级,定制化。
劣势:
1. 创建钱包需要一定的成本,无法批量创建免费钱包。
2. 在 Layer1 的 gas 费成本高昂,之后搭建在 Layer2 上会好一点。
3. 一笔交易一次操作,多笔交易无法打包成一次。
4. 合约漏洞会影响钱包安全。
对比下来,EOA 钱包像是 ATM 机,只支持存取、转账、余额查询等基本服务。而合约钱包则更像是智能化的银行系统,用户可以设置白名单账户、最大提取额度;在转账操作上更加宽宥,允许项目方(补贴)、好朋友代付等等。由于各种操作都需要调用智能合约,提高了用户管理钱包的便捷度。安全方面,EOA 钱包和智能合约钱包各自存在隐患:前者容易在私钥泄露和授权应用上出问题,后者则可能出现合约漏洞。有一点坏处是,用户在使用合约钱包时每次调用智能合约费用较高。不过,此次以太坊基金会强推账户抽象,必有深意,下文继续分说。
以太坊路线图 & EIP-4337
账户抽象概念自 2015 年就被提出,经历过多次的 EIP 提案也未成型。而最新的 EIP-4337 之所以受到以太坊基金会的重视,在于以太坊路线图的确定。在合并之后,以太坊未来升级(proto-danksharding) 都会围绕着为 Roll-up 服务的基调。Rollup 会显著降低 gas 费用,而 Proto-danksharding 在降低 gas 费上又添助益。这为智能合约钱包的普及奠定了良好的基础,解决了 gas 费用贵的主要问题。
EIP-4337 无需在以太坊共识层面进行改动,而是推出了由 User operation、Bundler 以及 Paymaster 等角色构成的解决方案。解决方案如下:
1、Alice(用户) 发起一个 “用户操作”,并包含它想要执行的交易。
2、她将操作发送到高级别的 “用户操作内存池”。
3、操作被部分验证并广播到 P2P 内存池节点网络。
4、操作由 “Bundler”(打包者)负责,Bundler 可以是任何人——MEV 搜索者、验证者、你或我,等等。所有的操作被打包者打包成一笔大额交易。
5、打包者将该区块与其他交易一起包含在以太坊区块中。
接着是打包者的功能,来了解交易将如何被执行和验证。
1、打包者将交易路由到一个全局的 “入口点” 智能合约。
2、全局合约通过每个用户操作并调用智能合约钱包中的 “验证函数”。
3、钱包运行这个函数来验证用户操作的签名,并对打包者打包这些交易进行补偿。
4、钱包运行一个执行操作来操作指定的交易。
5、执行操作后,剩余的 gas 会退还至钱包。
关于 EIP-4337,其中新的 mempool 相当于在更高级别的系统中复制原先的交易内存池,bundler 相当于 sequencer 对于交易进行排序并可能获取一定的 MEV 收入,entry point contract 作为可信入口点用以检索和检查打包内容是否有垃圾交易(在一定意义上实现了扩容)。Paymaster 的模块未来可以接入 token/法币通道,代付的应用场景也很丰富:第一,允许应用开发者代用户付费;第二,允许用户以 ERC20 代币支付费用,合约作为中介收取 ERC20 并以 ETH 支付。总得来说,EIP-4337 中的 user operation mempool 以及 paymaster 有机会创造出全新的业态,值得开发者深入探索!
短期&长期智能合约钱包落地情况
短期来看,Argent 已经实现了部分智能合约钱包的功能,包括无需助记词和私钥,仅凭手机号和邮箱账户即可创建账户;添加可信第三方 “guardian” 实现无私钥恢复;支持更复杂的功能,通过 DAI/WETH 进行 gas 费用支付等等(它不是原子进行 gas 费支付)。不过,智能合约钱包并非无后顾之忧,依旧存有风险敞口。
长期来看,智能合约钱包的普及会面对如下阻力:
1. 合约钱包的门槛较高,创建钱包需要花钱。从用户的角度来看,如果项目方不进行补贴,就难以有动力去使用产品。
2. 合约钱包的广泛应用有赖于以太坊 Layer2 的蓬勃生态。就短期来说,Layer2 生态还远未达到成熟的水平。
3. 主流的钱包已经获取太多用户了,基于安全等因素的考虑,目前缺乏动力进行改革。
综上所述,智能合约钱包因其可编程型、智能性、复合功能而备受关注,可能成为主流钱包的发展方向。不过辩证得看,它并不是十全十美、万无一失,它的普及仍依赖于 Layer2 生态的成熟。最后是市场因素,这取决于用户选择对账户的” 控制权 “还是” 便捷性 “。
参考资料:
https://cointelegraphcn.com/news/eip-4337
https://www.bilibili.com/video/BV1j34y1J774/?
is_story_h5=false&p=1&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=52C68E20-8F7B-464E-86F5-
A080D4E31965&share_source=WEIXIN&share_tag=s_i×tamp=1666324313&unique_k=NU5nVAd