用一个小时讲清楚账号抽象这件事
十四君
2023-06-05 14:31
订阅此专栏
收藏此文章
ERC-4337 的核心优势在于应用层的分类,抽象这件事,修改底层架构并不难,而是做到兼容历史包袱难。


撰文:十四君


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?


拓展阅读:以太坊账户抽象万字研报:拆解 10 个相关 EIP 提案与冲击千万级日活用户瓶颈的七年之路



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



3、4337 的系统结构概览



3.1、综合对比方案优缺



3.2、运作机制与表现



3.3、EntryPoint 合约的实现细节



拓展阅读:以太坊账号抽象 ERC4337 的过审方案解读 ( 上)


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 账户签名,长期来讲也必然需要管理某种签名算法对应密钥,复杂度是不变的,甚至操作的逻辑变得更复杂了。


因此虽然有基于合约钱包即捆绑交易等功能点上的提升,但用户体验本身并不会有质的飞越。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

十四君
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开