非技术人员的区块链账户抽象(AA)学习笔记

听过一句话,账户是区块链大规模应用的最后一块拼图。这句话是否准确,我们不妨留待争论,但是账户抽象(Account Abstraction,AA)的确是一个引人关注的话题。

众所周知,我完全没有技术背景,因此,我请教了@nake13好一会儿,然后从非技术视角撰写了这篇学习笔记,提炼出了4个我认为比较重要的部分。一方面,这是我使用费曼学习法的一部分,另一方面,我希望这对于与我一样没有技术背景的朋友理解区块链账户(AA)、钱包和账户抽象有所帮助~(我已经双重检查了理解的准确性)

1. 起源

- 解决合同账户(Contract Account,CA)没有主动权的问题。

- 以前,合同账户无法发起转账。这个问题是因为以太坊协议在逻辑上限制了合同账户的主动性,这也是最初以太坊的创始人Vitalik没有考虑到的一个设计缺陷。

- 遵循不改动底层协议的原则,账户抽象(AA)成为了解决这个问题的方法之一,目前看来是最可行的解决方案之一。

如何理解?

可以将其理解为可编程钱包(Programmable Wallet),也可以理解为将以前被固定在协议中的合同账户通过AA解锁,使其模块化(变成可编程的智能合同)。

2. 理解EOA、AA和EOA之间的关

目前的钱包主要分为外部拥有账户(External Owned Account,EOA)和合同账户(CA)。

- 外部拥有账户(EOA):私钥不是以太坊底层合约层的东西。

- 与外部拥有账户(EOA)的关系:账户抽象(AA)将钱包变成智能合同之后,可以包含外部拥有账户(EOA)的逻辑。

3. 目前AA面临的问题

- 尽管标准提案EIP-4337(即AA标准)提高了AA的可用性,但仍然存在标准不一、互不兼容的问题,需要几年的时间来建立共识。

- Gas费用高,因为处理智能合同需要更多计算能力。

- 打包服务(Bundler)可以解决部分Gas费用高的问题,但也可能引发审查问题(因为打包服务相对于矿工数量较少,容易被定位,可能涉及人身安全等风险)。

- 商业化模式尚不确定,可能的路径包括Gas代付手续费、提供高级服务以及交易手续费等。

4. 区块链钱包的逻辑以及私钥的理解

钱包的逻辑基于密码学,私钥只是验证和签名的一种方式,一般零售用户使用外部拥有账户(EOA),也就是常见的钱包,还有许多加密方式不需要使用外部拥有账户(EOA)的私钥模式。

希望这有助于您理解账户抽象(AA)的概念!