Cregis Research:以太坊账户构造考古与账户抽象的价值
探讨账户抽象(AA)的价值前,需要先复习拜占庭问题和以太坊的痛点。
在传统互联网中,当 A 付钱给 B 进行网购时,发生了两件事情: 1、A 把钱的价值转移给了 B,是为价值转移;2、是 A 把支付一块钱的信息通知了 B;从信息的角度来看,A 失去了一块钱,B 多了一块钱,而 A 将获得某样商品,只有上述 3 个信息同时确认后,一个网购订单才算完成。如何让上述三个过程同步确认,可以理解为拜占庭问题。
比特币或拜占庭问题想解决的是,在互联网环境中或计算机环境中,实现现实世界中的原子操作,即在发生价值转移的同时,也发生信息转移。然而,比特币基于其去中心化的理念,无法构造一个复杂的互联网环境。
对此, 2012 年尚未封神的 Vitalik Buterin 曾在 Bitcoin Core 发起提案希望在比特币的基础上增加图灵完备性,以实现更多的功能,被无情拒绝后他建立了以太坊生态。虽然以太坊和智能合约的诞生让区块链世界进化到一个全新的高度,但在去中心化环境中运行的以太坊依然面对着最大的痛点:线性环境无法执行高并发和复杂代码编译;这就是 V 神一直鼓励用户进入 layer 2 网络,推崇合约钱包和账户抽象,甚至鼓励用户将部分隐私交给项目方以换取社交登录、社交恢复等接近 Web 2.0 的用户体验的原因:如果以太坊不进行这些改变,它就无法实现其愿景,永远只能作为比特币的附属品。
核心话题一:账户抽象到底是什么?
以太坊公链有两种账户类型,一种叫外部地址账户(EOA),它的特点是免费创建,可以通过签名直接发起交易;另一种是合约账户(CA),有自己的代码区和数据区,本质上就是一个智能合约,所以无法直接发起交易;由于创建一个合约账户=创建一个智能合约=执行链上交互,所以需要付费(这就是 V 神之前在关于 MPC 钱包与 CA 钱包的争论中,提及 CA 钱包创建费用是 xx 美元的因果)。而当 EOA 将一笔资产发送到 CA 中后,理论上这个 CA 就可以成为账户抽象(Account Abstraction)钱包了。
账户抽象(AA)钱包可以理解为一种去中心化的“钱庄”。EOA 可以将资产放在这个“钱庄”中,需要转账时只要通知“钱庄”,由“钱庄”完成转账操作。这样,价值转移和信息转移不再同时发生在 EOA 上,而是在一个抽象账户上发生。当然,这些交易最终还是需要 EOA 发出交易指令并签名执行的。
核心话题二:账户抽象的功能是怎么实现的?
随着 EIP-4337 协议的内容更新,资本市场对账户抽象概念的炒作(或神化)到达了顶点,其中最为人称道的当属【社交登录】【社交恢复】【陌生设备恢复】【无手续费转账】等概念;但其实合约账户(CA)本身是去中心化产物,而资产链上交易的操作依然需要通过 EOA 签名执行,所以通过 web 2.0 信息、生物学信息和身份验证器等工具进行的【社交登录/恢复】必然须要中心化服务配合(这也是前文提到“ V 神甚至鼓励用户让渡部分私隐,以换取接近 Web 2.0 的用户体验”的因由)。
但【陌生设备恢复】这个在 EOA 钱包中备受争议的功能(例: Ledger 钱包之前推出的私钥恢复服务),在 CA 钱包中却能通过在智能合约中写入备用的 EOA 实现,无须将任何敏感信息交予钱包运营方,无须让渡任何私隐信息,所以反而比 EOA 钱包推出的恢复功能更安全。
最后,【无手续费转账】是如何实现的呢?首先大家注意一个重点:CA 钱包和账户抽象(AA)钱包,目前仅能在支持 EVM 的公链上运行,主战场必然是以太坊。众所周知,在 EIP-1559 提案被执行前,以太坊的 POW 矿工可以自由选择一笔链上交易进无偿打包,但 EIP-1559 提案通过后,由于通缩燃烧的 base fee 是必须支付的,导致以太坊网络不存在真正的免费交易。接下来 Cregis Research 为大家详细分析,AA 钱包【无手续费转账】是如何实现的:
首先以 USDT 的智能合约为例:它包含了代码区和数据区,数据部分可以理解为一个表格,记录了每个 EOA 拥有多少 USDT,即每个 EOA 的余额。在转账时,会扣除一个账户的余额,然后给另一个账户的余额增加。
此时我们代入 game-fi 或 social-fi 的思维:项目方希望降低参与门槛,让用户无需持有 gas fee 也能参与。虽然目前的以太坊 EOA 无法做到,但聪明的科学家们依然想到了间接的解决方按: Meta Tx & Gas station network(GSN),原理是 token 交易者(张三)签名执行一个类似交易的结构化数据(mdata),然后发给愿意支付 gas fee 的人(李四),李四将包含 mdata 的交易发送给兼容 GSN 的智能合约执行,并支付链上 gas fee 完成转账,且以太坊网络的共识节点确认转账的发起人是张三。
上述的解决方案,是 EIP-4337 提案的重要组成部分。EIP-4337 提案是一个不改变以太坊共识层的交易优化方案:当用户希望发起一笔交易,TA 将只须传递一份 msg,但这份 msg 并非发送到以太坊主网上,所以用户也无须支付 gas fee;这份 msg 将发送到一个内存池,在内存池中按照 EIP-4337 的标准会进行鉴权,确认无误则会被运营方的 EOA 发布到以太坊链上,最后由 POS 节点将交易录入区块。此外,EIP-4337 提案还包括了打包者可以获取哪些好处,以及打包失败如何退款等一系列操作的标准;PS. 如果在 EIP-4337 提案中加入将运营方 EOA 与 msg 的关联隐藏的办法,则还能实现隐私交易的功能。
谜团解开:账户抽象(AA)钱包=合约账户(CA)+链下通信标准
分析到这里,相信大家也明白:虽然 EIP-4337 提案的内容可能需要 11 ~ 13 个月才能全部完成,但账户抽象(AA)钱包并非只能通过 EIP-4337 协议实现,所以市场上确实出现了货真价实的 AA 钱包产品,只是 EIP-4337 协议大概率会是认可度最高的操作标准与方案。
而做为老牌的企业级钱包,Cregis 当然可以提供 CA 和 GSN 服务:CA 在私有化部署中可选,GSN 则在今年 4 月部署在波场网络,迄今已为客户节省 193 万个 TRX;但 Cregis 却没有急于将 AA 钱包服务公开上线,原因正是上述的行业标准尚未落实,贸然上线可能会导致日后产品不与主流标准兼容。
知名的多签钱包运营方 Gnosis · Safe ,也是通过合约账户(CA)实现多签功能,同样没有急于推出 AA 钱包,推测可能也有这方面的顾虑。
核心话题三:AA 钱包真的完美吗?有什么缺点?
AA 钱包的优点很多,但也并非完美。一周前,V 神在自己的推特 AMA 点评 CA 和 MPC based EOA,各路大神也在这条推特下讨论得非常深入,这里为大家总结几条客观缺陷:
-
创建 CA 的费用很高,以太坊网络越繁荣(越拥堵),则越贵;
-
CA 的安全性依赖于智能合约的 builder,如果智能合约出现漏洞或 builder 留下恶意后门,那用户资产的安全岌岌可危。跨链桥的 staking 合约也是 CA,频繁登上头条的跨链桥被盗案和被盗的巨额资产,都是 CA 钱包风险警示;
-
CA 目前仅能在 EVM 链上运行,并不支持 BTC 和非 EVM 公链的 token 收款,这也是 Cregis 虽然能提供 CA,但为了兼顾企业级用户收款的多样性,必须同时提供其他钱包解决方案的原因。
-
调用 CA 钱包依赖 EOA 签名,通过 seed phrase 生成的 EOA 需要私钥进行签名,私钥保管不当依然会被盗,安全逻辑没有升级;
Cregis Research 作为这个热门 AMA 的围观群众之一,我们看法是:区块链世界没有绝对的安全路径,在便利和安全的天平间做出权衡,是每一个用户自己的责任;而为选择 Cregis 的用户提供既安全又兼顾便利的工具,则是 Cregis 的责任:以完全自托管的 MPC(多方计算)钱包+可选的私有化部署方案(包含 CA)+丰富的 financial SaaS 功能,为 Web 3.0 创业者们提供全新的资产协作管理平台。