在近期以太坊创始人 Vitalik 发布的最新以太坊路线图的第六阶段 Splurge 中,最新纳入的 ERC-4337 标准成为了目前账户抽象(Account Abstraction)的主要实现方案。账户为什么重要?因为任何 Web2 用户进入 Web3 的时候,遇到的第一层阻力便是保存私钥或者助记词,其次还会潜在面对私钥丢失、钓鱼网站的盗签等问题而无法判断,甚至上亿美元的链桥被盗也会因私钥问题而发生,因此实现更好的以太坊账户体系,一直以来都是以太坊网络对于冲击千万量级活跃用户的瓶颈问题。
如果你想要对以太坊以及区块链底层基础设施的迭代进程深度了解,你也必须要对账户抽象这一完整方案原理有着绝对深刻的理解,本份研究报告将用超 1 万字为你全景呈现账户抽象方案这七年的演变史,强烈建议备好咖啡用心研读。
作者:十四君,Web3Caff Research 研究员(背景:Web2 五年网络安全及产业研究,Github 7K Star,现 Web3 专注研究 NFT Market、GameFi、DeFi 前沿协议,2DAO3 Core Builder)
封面:Photo by Pawel Czerwinski on Unsplash
字数:本份研报超 10000 字,预计阅读时长 20 分钟
目录
- 前言
- 背景
- 为什么现有账户体系是千万用户的瓶颈?
- 账户抽象的根本目的
- 账户抽象的历史路径
- 账户抽象(AA)相关 EIP 提案解读
- EIP-101:货币与加密抽象——2015/11/15
- EIP-86/208:交易来源和签名的抽象——2017/02/10
- EIP-859:主链账户抽象(AA)——2018/01/30
- EIP-2718:新交易类型的包装信封——2020/06/13
- EIP-2938:账户抽象(AA)标准
- EIP-3074:增加 AUTH 和 AUTHCALL 操作码——2020/10/15
- EIP-3607:让外部账户地址不可部署合约——2021/06/10
- EIP-4337:用交易内存池实现账户抽象——2021/09/29
- EIP-5003:使用 AUTHUSURP 将代码插入到外部账户——2022/02/26
- EIP-5189:通过背书来操作账户抽象——2022/06/29
- 总结:以太坊账户抽象七年之路
- 下一代账户的最佳形态是什么?
- 它什么时候会来临?
- Q&A 解疑
强烈推荐阅读,账户的构成方式太重要,根据十四君的阐述,有两个数据值得我们关注:
1. 以太坊总交易中出现的 from 地址去重数后约为 1.5 亿
2. 按地址,历史最高单日也才 100W,还未必是唯一用户
因此以太坊距离突破千万日活还有一段路要走,而现在就是他的关键时刻,ERC-4337 标准会是重要的节点。
赞,最近对账户抽象研究,另外 v 神也想将 EOA 和合约账户两者合并成合约账户,关于 EOA 之后会如何合并作者有什么看法吗?
@0x17: 从时间线上看
看似合并表达的简单,但是实际操作上是非常复杂的,肉眼可见的便是向前兼容性问题,同时更换签名算法这类的底层操作,会和合并一样并行跑 2 年无问题才有可能进行替换。所幸运的是,已经做过合并,所以账号合并对于参与出块的矿工并不会有太大的损失,所以相对阻力较小。
从收益点上看
改变了链上主体,是增加一个选项的过程,而合并是个删除的过程,因此此类合并会是个 have to best 的方案,用户没有明显收益的情况下并不会乐意进行。
目前 4337 长远来看还只是过度性的,是用于推广合约账户的一个过程性方案,而不是最终方案,所以在若干年后(少说 5 年)之后可能会迎来全合约账户的时代(得结合 L2 的发展)。
@十四君: 感谢,学到了
所有权不应该包含了签名权吗? 这两个概念的边界在这篇文章里面有些模糊了,可以深入解释一下吗?
@curve101: 乍一看所有权等于签名权,常规来讲,我们能签名自然代表了能拥有,有拥有自然可以使用,是相辅相成,但是,在账户体系上是可以被分离的,也应该被分离的,比如微信号游戏账号,本身并不是玩家拥有,而是只有使用权。在关服封号这种大事之前,很难察觉。
因此 AA 实现的所有与签名权分离,目的是为了提供了分离的基础,让其不那么耦合。不那么 “只能被结合在一起” 的路径
至于分离后能实现的效果,从体感上来讲,可以更换私钥,增加程序化控制,降低交易费用等等。