账户抽象即将彻底改变我们与区块链交互的方式。但是 ERC-4337 提出的账户抽象版本读起来很难,而且很难理解为什么有这么多参与者以及他们为什么以这种方式进行交互。
能有更简单的东西吗?
在本文档中,我将介绍尝试设计一个极其简单的帐户抽象版本的过程,我们将看到随着我们添加更多需求并解决出现的问题,我们将如何最终得到一些气球在复杂性上越来越接近 ERC-4337。
本文的目标读者是对智能合约有一定了解但对账户抽象没有特别了解的人。
因为这篇文档是在探索发明账户抽象的过程,所以会出现很多情况,我描述的 API 或行为与 ERC-4337 中的最终版本不匹配。
例如,当我列出用户操作的字段时,请不要假设那些是实际字段。它们代表了在被加工成最终版本之前定义用户操作的第一次尝试。
好了,准备好了吗?
我们走吧!
首先,让我们发明一种方法来保护我们最宝贵的资产。我们希望能够使用一个私钥签署大多数交易(就像在一个典型的账户中一样),但是我们无价的 Carbonated Courage NFT 只有在我们使用第二个密钥签名时才可能转移,我们将锁定在银行金库中由一只三头犬看守。
每个以太坊账户要么是智能合约,要么是外部拥有账户 (EOA),后者使用私钥