用一个小时讲清楚账号抽象这件事

  • 十四君
  • 更新于 2023-06-05 15:53
  • 阅读 2078

本次分享直播课件,并梳理若干观众的核心问题

<!--StartFragment-->

2 个月前,我收到 hacker dojo 平台的邀约,才发现在这个浮躁的时代,有这样一个只关注底层技术并免费分享的平台。我也想尝试能否用直播的形式,为大家讲清楚 4337 账号抽象的底层逻辑。

本文分享直播课件,并梳理若干观众的核心问题

完整视频见 b 站:

https://www.bilibili.com/video/BV1xs4y1i7Js

全文概览

640.png

1、账号抽象之路

1.1、钱包赛道分类

所谓账号抽象. 他的账号是什么?

现在有两大类的账号, 一个叫 EOA 账号一个叫 CA 账号,可以说除了 4337 以外的所有合约钱包,都可以称作一个非标准合约钱包,MPC 钱包. 它也是现在非常火热的一个领域啊. 前一阵子可以说是硅谷一条街. 然后起码有找出五家在做 MPC 钱包的,多数采用的是 TSS 的方式. 它相当于每一个分片各自签名. 签完名大家汇总

那 MPC 钱包跟账号的钱包. 它是有显著区别的. EOA 和 CA 更多讲述的是链上主体. mpc 指的是你链下的. 私钥管理的一个技术方案

640 (1).png

1.2、为什么要抽象?

以太坊上从交易类型可以区分出 3 种:Legacy 类型、EIP 2718 类型、Eip 1559 类型,目前主流是 1559 类型,目的是在传统交易上切割了价格构成。

那有了这样子的分类. 我们可以得知他们都跟账号抽象. 没有关系. ,所以要从账号结构与交易结构本身来看抽象的作用点,其核心结构是:

  • nonce:防重放
  • balance:余额记账模型
  • storageRoot:合约的 Storage 变量 KV 的 MPT 树根
  • codeHash:合约代码的 hash,也是找到 code 字节码的 Key

640 (2).png

从交易结构也可以看到他的字段

  • 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 方,这就是意味着能够将控制权跟所有权和账号主体剥离.

这就是我们现在说抽象. 并且它不仅是要抽象一些显性的数据. 也要抽出这种交易的隐藏数据

640 (3).png

2、概览 EIP 为什么是 4337 ?

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

640 (4).png

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

640 (5).png

3、 4337 的系统结构概览

640 (6).png

3.1、综合对比方案优缺

640 (7).png

3.2、运作机制与表现

640 (8).png

3.3、EntryPoint 合约的实现细节

640 (9).png

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

4、问答环节:

1、智能合约钱包 gas 费高的问题可以被解决吗?

可以解决一部分,gas 费是高还是低,需要对比来得出

首先,gas 的构成是这样的:单笔 eoa 转账交易,至少是 21000 的 gas 大概 $ 0.22 ,而智能合约钱包会需要更高的 gas 是因为,需要增加上部署合约,调度合约,合约扣款计算,所以必然高于 eoa 转账。

其次,解决的方式是基于 4337 的捆绑交易,由于一笔交易至少 21000 gas,而捆绑交易则是多笔交易共享 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 账户签名,长期来讲也必然需要管理某种签名算法对应密钥,复杂度是不变的,甚至操作的逻辑变得更复杂了。

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

如需源码与思维导图文件,可公众号后台回复:“4337 直播资料

【十四君-原创回顾】

欢迎你从公众号后台留言作者,探讨web3行业问题

点赞关注十四,用技术视角带给你价值

<!--EndFragment-->

点赞 0
收藏 3
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
十四君
十四君
0xd343...b14c
江湖只有他的大名,没有他的介绍。