一览以太坊账户抽象七年之路相关 EIP 特性
2022-11-1609:40
十四君
2022-11-16 09:40
十四君
2022-11-16 09:40
收藏文章
订阅专栏
在近期以太坊创始人 Vitalik 发布的最新以太坊路线图的第六阶段 Splurge 中,最新纳入的 ERC-4337 成为了目前账户抽象的主要实现方案。


原文标题:《以太坊账户抽象万字研报:拆解 10 个相关 EIP 提案与冲击千万级日活用户瓶颈的七年之路》

撰文:十四君


在近期以太坊创始人 Vitalik 发布的最新以太坊路线图的第六阶段 Splurge 中,最新纳入的 ERC-4337 成为了目前账户抽象(Account Abstraction)的主要实现方案。


账号为什么重要?因为任何 web2 用户进入 web3 的时候,遇到的第一层阻力便是保存私钥或者助记词,还会面对私钥可能丢失而未知,面对钓鱼网站的盗签而无法判断,甚至上亿美元的链桥被盗也因私钥问题而发生,因此实现更好的以太坊账户体系,一直以来都是以太坊网络对于冲击千万量级用户的瓶颈问题。


本文将尝试从 2015 年起的首个 AA 提案出发,系统性地整理目前为止所有 EIP 提案主要内容并综合评价各方案的优缺点,回顾历程,很多提案已经早已处于停滞甚至仅仅是草稿的阶段,为抽丝剥茧探索逻辑脉络。


本文将 10 个 EIP 提案依据其优化的模板环节来划分出三大路径:改造链上交易类型、改造链上主体对象、改造上链交易打包过程型。


由于内容涉及非常广泛且涉及以太坊原理层知识较多,笔者会更多分析其方案的逻辑而非技术的细节,也将尽力陈诉表达和翻译原意。


1、背景


最近以太坊创始人 V 神更新了 ETH 发展路线图,其中第六阶段 Splurge 的目标是:修复一切(fix everything else)。


在以太坊虚拟机(EVM)中很多东西需要进行优化,比如说 VDF 将会让链上产生真正的随机数,而这次路线图中最重要的是账户抽象 AA 的核心提案 EIP-4337 成为实现路径。


这些优化的核心是可通过社交网络可直接恢复钱包、项目方帮用户垫付 Gas 费、支持 USDT 等作为 Gas 支付方式等功能。就是这些功能将助力以太坊打破千万用户的核心关卡,没有这些改变,以太坊是绝对无法突破用户习惯的门槛。



1.1、为什么现有账户体系是千万用户的瓶颈?


目前在以太坊中有两种账户,分别为外部账户(EOA) 和合约账户(Contract Account)。外部账户的所有权和签名权理论上是同一个体单位持有的。

简单来讲,持有私钥的人不只拥有这个账户的「所有权」,同时还有权利「签名转移所有资产」。


当前以太坊上所有权和签名权是一体的,这样的外部账户设计可能会衍伸出一些值得讨论的问题:


  • 私钥难保护:用户失去私钥(遗失、黑客攻击)意味着失去所有资产。
  • 签名算法少:原生协议在验证交易上只能使用 ECDSA 签名和验签算法。
  • 签名权限高:无原生多签(多签只能通过智能合约实现协作),单签即可执行任意操作。
  • 交易手续费只能通过 ETH 支付,并不支持批量交易。
  • 交易隐私泄露:一对一交易容易分析账户持有者的隐私信息。


其次单纯的合约钱包也有一定问题:


  • 对合约钱包的操作必须由 EOA 发起(实质是调用合约),每笔交易将多消耗 21000Gas。

(当前以太坊交易的验证方式是固定的,只有持有了有效的 ECDSA 签名、Nonce 值和足够的账户余额,一笔交易才算有效)。

  • 需要 EOA 有足够的 ETH 来支付 Gas(管理两个账户),或者依靠 Relayer 支付 Gas(导致中心化)。


上诉的约束让普通用户很难使用以太坊:


  • 首先,使用以太坊上的任何应用,用户都必须持有以太(并承担以太价格波动的风险)。
  • 其次,用户需要处理复杂的费用逻辑,Gas price、Gas limit、事务阻塞这些概念对用户来说过于复杂。
  • 最后,虽然许多区块链钱包或应用试图通过产品优化提高用户体验,但它们的实际效果甚微。


破局之道在于实现账户抽象,将所有权(Owner)和签名权(Signer)解耦(Decoupling),从而才能逐个解决上述问题,那为什么可以解决、将会用怎样的方式来实现解耦合,就让我们回顾这 7 年 AA 历史来一同探索吧。


1.2、抽象账户的根本目的


从 Web2 迈入 Web3 的人很难去接受高风险的私钥管理方法,所以他们想当然地认为以太坊账户抽象多年的实验是为了取消私钥,但是现在在去中心化的领域是不存在免费的信任,身份验证必须基于密码学证明,所以无论哪种提案都是需要管理某种私钥。虽然大家终究有自己管理私钥的束缚和责任,但是通过智能合约也有办法实现体验上的折中。


而实现体验上的折中,首要打破的就是目前账户权限的过于集中,即是要实现所有权(Owner)和签名权(Signer)的解耦(decouple)。


1.3、抽象账户的历史路径


整体的改造方式按针对的对象或者环节可以分成 3 种大方向


  • 改造链上交易类型(EIP-101、EIP-86、EIP-859、EIP-2718)
  • 改造链上主体对象(EIP-2938、EIP-3074、EIP-3607、EIP-5003)
  • 改造上链交易打包过程(EIP-4337、EIP-5189)


回溯达成这样的目标的历程


以太坊一开始是通过 EIP-86、EIP-101、EIP-859 等增加新的交易类型来区分外部账户和合约账户,但是他们发现这样的改动实在太庞大了,其复杂性不亚于合并这样的共识算法的转移。一旦以太坊更改交易类型,就配套地要修改底层签名验签算法,这既要考虑矿工是否接受新的类型帮助其上链,且收益不能低于普通交易(否则矿工没有动机去做验证),还要考虑账户地址管理、冲突、往前往后兼容等等问题。


而在这七年的研究过程中,大量信息和想法并未被放弃    而是被继承起来继续发扬。


  • 通过 EIP-86/208:合约地址需要与外部账户进行区分,所以合约地址要能定制、要能防碰撞,所以有了 EIP-1014 和 EIP-2470 的落地。
  • 通过 EIP-859:首次出现了交易中附带合约初始化代码,如果没有合约地址就现场部署一个,成为 EIP-4337 的基础功能。
  • 通过 EIP-2718:让未来的以太坊可以兼容任何新提出的交易类型而无需太照顾往前兼容性的历史包袱。
  • 通过 EIP-2938:明确总结了合约账户的各类优势,社交恢复、密钥轮换、自定义身份验证算法、元交易等等,让合约账户慢慢深入人心。


最终共识集中在两条路径上即:


  • 让现行的外部账户有智能合约的功能(EIP-3074 系列)。
  • 让现行的智能合约有外部账户的功能(EIP-4337 系列)。


如今 EIP-4337 纳入路线图也宣告这两条路径中以太坊最终做出了决定。


2、下一代账户的最佳形态是什么?


空间有多大?可以用数字来说话:


  • 外部账户账户数:以太坊总交易中出现的 from 地址去重数后约为 1.5 亿。
  • SCW/A 账户数:使用头部两个产品 Gnosis Safe 和 Argent 的数据合计为 15 万。


笔者认为后续的用户将会接触的账户形态是两段式的,区分链下密钥管理与链上账户主体。


在链下密钥管理侧,采用体验最佳的 MPC(多方安全计算)+TSS(门限签名方案) ,尤其是 2/2,2/3 都会是兼容吻合监管需求和便捷使用使用需求的参数方案。


  • 在 2/2 模式下,项目方持有 1,用户持有 1,在任何一方不同意的情况下至少资金不会丢失,适用于未来需要监管的场景(团队金库私钥管理等)。
  • 在 2/3 模式下,项目方持有 1,用户持有 2,用户可以在两台终端上分别管理分片密钥,日常本地 + 项目方持有的分片结合签名,即使项目方跑路,用户也可自己恢复。


在链上账户主体侧,会采用可升级的智能合约模式,这时会有多种功能点进行展开:


  • 自定义签名算法:如 Multisig Verification、Schnorr sigs、BLS sigs、Quantum-resistant sigs (eg Lamport, Winternitz),效果上是从密码学即天然支持多签、门限等。
  • 多笔交易进行打包:矿工可以签名聚合多笔交易的数据,只需确保都能执行成功即可。这效果是在交易量足够多就可以拉低平均的 Gas 消耗。
  • 社交恢复更换私钥:如果某天一个人的微信被盗号,即使全部钱被转走,里面的好友列表和聊天记录都可恢复,也依旧能使用原账号因为 SBT 灵魂代币不会丢失。
  • 可升级与去中心化:合约本身是可设计升级、可以更改所有权的,在链上的账户主体也自然是无人托管且完全去中心化的。
  • 元交易与多币支付:用户即可在合约钱包里用其他 Token 的转账来支付矿工 Gas,从而无需先充值原生代币来做手续费。
  • 抗 DoS 与量子攻击:防恶意矿工阻塞系统以及密钥爆破。
  • 针对套利者的优点:实现账户抽象之后,由于可以在账户权限验证阶段进行价格判断,套利者无需为失败的套利行为进行付费,链上也不会包含失败的套利事务,可以有效提高链的可扩展性


但是 AA 通过 EIP-4337 实现,也有不少风险问题:


  • 节点的验证过程会更加复杂,这样会给节点增加很多无用的计算负担,从而抗 DoS 攻击的风险提升。
  • 因为合约的调度,所以 Gas 消费会比 EOA 账号直接签名交易更高,需要用到类似 NFT 聚合器一样的降低原理。


以太坊账户抽象(AA)七年之路相关 EIP 特性概览图


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

专栏文章
查看更多
数据请求中

推荐专栏

数据请求中

一起「遇见」未来

DOWNLOAD FORESIGHT NEWS APP

Download QR Code