Untitled

一、Web3 账户相关概念

我认为当下以太坊有两大叙事主题,一个叙事是以太坊主网的扩容,另一个叙事是用户的「扩容」,也就是 Mass Adoption。

1、账户概念

Untitled

  1. 外部账户EOA(Externally Owned Accounts) EOA 是以太坊中用于存储和管理资产的账户类型之一,由用户掌握私钥来控制。与智能合约账户不同,EOA不与任何代码关联,通常使用助记词生成,并通过钱包进行管理。我们最熟悉的 MetaMask 生成的地址就是 EOA。

目前在以太坊上签署交易的方法是使用ECDSA签名。ECDSA签名不具有量子对抗性(椭圆曲线Elliptic curve密码学容易受到用于解决椭圆曲线上离散对数问题的改良型肖尔算法Shor’s algo的影响,而量子计算机可以轻松运行肖尔算法)。这虽然不是直接的影响,但考虑到以太坊未来的发展,我们需要思考未来可能出现的情况。

  1. 合约账户CA (Contract Accounts)

    合约账户也曾被称为内部账户,是具备内部逻辑的以太坊账户,里面既可以是业务逻辑(Token 合约用来记账,质押合约用来放贷和清算),也可以是账户逻辑,例如 「SCW - 智能合约钱包」概念。我们常见的 ERC-20 代币合约、DeFi 业务合约等都有一个跟 EOA 长得很像的地址,这就是 CA。

    在设定上,CA 是以太坊世界的原住民,EOA 和 ETH 是为 CA 的业务逻辑准备的触发器和燃料;实际使用下来,**以太坊上除 ETH 之外的所有资产都是由 CA 承载,DeFi 等业务逻辑就更是全都由 CA 来实现。**然而 CA 无法主动进行操作和支付 gas 的设定也限制了它的能力,早在 2016 年就有提案希望能让 CA 自己支付 gas。

    CA 的地址规则是通过计算生成的,有 CREATE 和 CREATE2 两种方式,**和公钥没有必然对应关系。**比如 gnosis safe 创建的 CA 里可以设定任意多把公钥来解锁它的地址对应的资产;当然 CA 也可以不设定任何密钥,而是由其他 CA 的逻辑决定是否可以解锁,比如 DeFi 的借贷合约,只要还了钱就能取回质押的资产。

2、钱包生态现状

当前叙事的目标是增强钱包的用户体验和安全性,目前存在两大类解决方案:

https://mmbiz.qpic.cn/mmbiz_png/ystoNEYMQzNUY57QWnTZMgNmpeZo29AbcYYsaFTpj0HgGs4CibmJ8LLS7XracKFnRuKAMickicVKMIrzXdzc1etIQ/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

  1. 使用底层 EOA 的钱包
  2. 账户抽象钱包(Abstract Account Wallet) 帐户抽象是由 ERC-4337 解锁的一项新技术,它为Web3的用户打开了新的视野。它旨在将协议中的两种账户类型(外部拥有账户和智能合约账户)的功能合二为一,提升用户体验和安全性。

账户抽象钱包是一种钱包类型,可以管理和控制账户抽象中的外部拥有账户和智能合约账户,可以用于发送和接收以太币以及其他代币,进行交易和支付燃料费用等操作,可以实现创新型钱包设计,如社交恢复、定制和可升级性等。

需要指出的是,AA 这个概念不是以太坊和 EVM 专属的,很多链原生已经具备了不同程度的 AA 特性。比如 EOS / Polkadot / Near / Solona / Flow / Aptos … 甚至 BTC(单签 / 多签 / Taproot),这些链在设计时就已经将账户做成了有内部结构甚至具备权限管理能力的状态,还有 StarkNet / CKB 等具备更完善的账户抽象能力。说到这里大家不难发现,以太坊的 AA 是在解决 EOA 「意外地流行」带来的历史遗留问题,从而在账户层面上变得更加先进和灵活。

3、为什么不选择现有的智能合约钱包?

从用户的角度来看,智能合约钱包可以通过新增EOA的私钥管理,然后增加帮助gas补贴的中继器来完成这一切。流程如下图所示。

https://mmbiz.qpic.cn/mmbiz_png/ystoNEYMQzNUY57QWnTZMgNmpeZo29AbmWAwKypXQGweh8ssxEDzZWN5YGHWbY2NK6cD4GgUAAia5TF0xLB5MCw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1