2 个月前,我收到 hacker dojo 平台的邀约,才发现在这个浮躁的时代,有这样一个只关注底层技术并免费分享的平台。我也想尝试能否用直播的形式,为大家讲清楚 4337 账号抽象的底层逻辑。
本文分享直播课件,并梳理若干观众的核心问题。(完整视频见 b 站。)
全文概览

1、账号抽象之路
1.1、钱包赛道分类
所谓账号抽象,他的账号是什么?
现在有两大类的账号, 一个叫 EOA 账号一个叫 CA 账号,可以说除了 4337 以外的所有合约钱包,都可以称作一个非标准合约钱包,MPC 钱包。它也是现在非常火热的一个领域啊. 前一阵子可以说是硅谷一条街.。然后起码有找出五家在做 MPC 钱包的,多数采用的是 TSS 的方式。它相当于每一个分片各自签名。签完名大家汇总。
那 MPC 钱包跟账号的钱包. 它是有显著区别的。EOA 和 CA 更多讲述的是链上主体. mpc 指的是你链下的。私钥管理的一个技术方案。

1.2、为什么要抽象?
以太坊上从交易类型可以区分出 3 种:Legacy 类型、EIP2718 类型、Eip1559 类型,目前主流是 1559 类型,目的是在传统交易上切割了价格构成。
那有了这样子的分类。我们可以得知他们都跟账号抽象没有关系 ,所以要从账号结构与交易结构本身来看抽象的作用点,其核心结构是:
- nonce:防重放
- balance:余额记账模型
- storageRoot:合约的 Storage 变量 KV 的 MPT 树根
- codeHash:合约代码的 hash,也是找到 code 字节码的 Key

从交易结构也可以看到他的字段
- Nonce
- Gas Limit (STARTGAS)
- Gas Price
- To (MSG.SENDER)
- VALUE (MSG.VALUE)
- V, R,S (Signed TXwith SENDER)
- Data Bytecode
可以说什么都有,但是唯独没有 From 地址,因为实际的 From 信息是基于 ECDSA 签名解签结果得出的,因此无论是 4337 还是 Native AA 都是可以自定义 From 方,这就是意味着能够将控制权跟所有权和账号主体剥离。
这就是我们现在说抽象,并且它不仅是要抽象一些显性的数据,也要抽出这种交易的隐藏数据。

2、概览 EIP 为什么是 4337?

总结上诉的历程,可以发现 4337 的核心优势在于应用层的分类,抽象这件事,修改底层架构并不难,而是做到兼容历史包袱难。

3、4337 的系统结构概览

3.1、综合对比方案优缺

3.2、运作机制与表现

3.3、EntryPoint 合约的实现细节

4、问答环节
1、智能合约钱包 gas 费高的问题可以被解决吗?
可以解决一部分,gas 费是高还是低,需要对比来得出。
首先,gas 的构成是这样的:单笔 eoa 转账交易,至少是 21000 的 gas 大概 $0.22 ,而智能合约钱包会需要更高的 gas 是因为,需要增加上部署合约,调度合约,合约扣款计算,所以必然高于 eoa 转账。
其次,解决的方式是基于 4337 的捆绑交易,由于一笔交易至少 21000gas,而捆绑交易则是多笔交易共享 21000 的 gas,如果 10 笔一起上报,则是 21000+10操作消耗,,只要操作消耗10 是大于 21000*9 的,就会划算。
最后,gas 高的核心原因是 eth 币本身性能局限,币价太贵了,所以要等待 l2 发展后,带来更低成本的并发,从而在根本解决 gas 高的问题。
总之,L1 还是更适合做存储一些,L2 才是性能的破局之道
2、传统 EOA 钱包是否可以迭代出智能合约钱包的社交恢复、多签、批量付款等功能?
部分功能可以迭代出,但大部分不可以。
传统钱包基于 ECDSA 算法,固定由私钥计算公钥,无法有合约钱包的特性,曾经有提案是更改签名算法的,如果实施则可能实现多签(或者基于 mpc+tss 实现目前的分片密钥多签),至于社交恢复和批量付款是不可能通过密码学解决的。
3、怎么理解 MPC 钱包和智能合约钱包,这两个提升用户体验的方向呢?
个人认为这是两个维度的管理,mpc 钱包管理链下的分片密钥,而合约钱包则是管理链上主体,提供可编程的链上管理能力。
两者可以同时使用。合约钱包完善后可以替代 mpc 的多签和恢复更改等功能,而 mpc 无法提供合约的优势能力
- eoa 钱包:注册简单,历史悠久,亦可基于链上合约钱包等可实现多签,偏个人用户
- mpc 钱包:天然带多签,易于防止资产流失,且属于近些年新推出,所以偏机构金库管理用
- 智能合约钱包:目前使用成本较高,适合高资产人士,资产流转,交易操作公开透明,易于 dao 投票和公开执行逻辑
4、从技术上看,未来会全部是智能合约钱包吗?这是公认的趋势吗?当前 EOA 钱包巨头们会被淘汰 or 进化成其他形态吗?
是的,4337 也只是过渡态,最终的形式是 Native AA
5、如果有足够好的 MPC+TSS 方案,用户不需要助记词而且安全性也有保障,那我们还需要合约钱包吗?
这个问题背后是不可能三角之间的妥协,安全与便捷均达成必然会在去中心化程度上受到影响。合约钱包还额外具有可信操作、时间锁、社交恢复等功能可以继续作为 DAO 团队金库等场景应用。
6、4337 仍然依赖于 EOA 账户签名,真的能给用户体验带来质的飞跃吗?
目前短期来看是会依赖于 EOA 账户签名,长期来讲也必然需要管理某种签名算法对应密钥,复杂度是不变的,甚至操作的逻辑变得更复杂了。
因此虽然有基于合约钱包即捆绑交易等功能点上的提升,但用户体验本身并不会有质的飞越。
(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)