# AA智能钱包科普

随着区块链行业的不断发展，EOA钱包对于传统Web2.0行业用户的不友好性逐渐显现。或许，由账户抽象概念带来的AA钱包会成为下一个发展方向。

#### <mark style="color:orange;">关键词解析</mark> <a href="#id-0" id="id-0"></a>

账户抽象：账户抽象是一项提高以太坊账户（EOA账户）管理和交互灵活性的提案。&#x20;

EOA钱包：外部拥有账户（Externally-Owned Account），该账户由私钥、助记词控制，也是目前用户量最大的传统的私钥、助记词钱包。&#x20;

AA钱包：账户抽象钱包（Account Abstraction Wallet），文章内简称“AA钱包”。AA钱包基于ERC-4337协议，是一种智能合约钱包，AA钱包由智能合约控制。

#### <mark style="color:orange;">**当前EOA钱包存在的局限性**</mark> <a href="#id-1" id="id-1"></a>

<figure><img src="https://261497644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MMF2k4MCaxErpZyah2d%2Fuploads%2FF3Q8dcPSbY3TMs8Or04L%2Ff96d9718414e7bb8912142745e09f58e_640_wx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1.png?alt=media&#x26;token=362b3e75-548a-48da-9405-f645589d9e3b" alt=""><figcaption></figcaption></figure>

**1、资产安全仅由私钥、助记词控制**

EOA钱包是目前最常见的钱包账户体系的统称，EOA钱包由私钥、助记词控制，用户必须妥当保存EOA钱包的私钥、助记词，一旦泄露，将导致钱包资产的丢失。这一点对于所有区块链参与者来说，都是一个安全隐患的痛点。\
为此，我们推出了多个解决私钥、助记词保管安全的产品，如硬件钱包、冷钱包、多签钱包等。但是这些对于新手用户来说，上手难度更大，其核心依然是依托于私钥、助记词的保管和使用情况。

**2、 不友好的交互逻辑**

&#x20;“ 链上手续费高昂及不稳定 影响交易确认的因素多 交易流程复杂 用以太坊为例，在以太坊上执行一笔转账或交易，你必须支付原生币ETH作为矿工费，才能使交易上链。如果用户钱包没有ETH，那么只能通过中心化的路径进行购买或通过第三方跨梁桥进行跨链至钱包。在特殊情况下，由于链上拥堵，会造成矿工费升高导致交易失败，造成用户损失。

以上两个EOA钱包的局限性，是目前所有加密用户都会面对的难题，而解决这些难题，需要大量的知识学习和补充，还需要在学习的过程中面对如“风险授权”，“风险代币”等挑战。 “账户抽象”概念的提出和发展，在一定程度上解决了这些问题。

#### <mark style="color:orange;">如何定义抽象账户</mark> <a href="#id-2" id="id-2"></a>

“账户抽象”四个字更多指的是钱包账户本身的“抽象”，除了目前大家所了解到的“私钥、助记词”抽象化处理外，还包括账户交互流程，使用体验，链上体验等的抽象处理。

从技术层面上讲，账户抽象是指账户完全由智能合约控制，部分合约细节对于以太坊协议来说是“抽象”概念。每个账户都是一个智能合约，用户可以在无需掌握任何私钥、助记词的情况下自由控制智能合约账户。

从用户层面上讲，账户抽象使得账户交互细节得到了更高级的提升和优化，也使得钱包使用流程更加便捷，提高了Web3.0的适用性。

我们将从“社交恢复”，“签名抽象”，“矿工费抽象”和“Nonce抽象”四个主要方面介绍“账户抽象”，为了更好地理解“账户抽象”，我们也会在介绍过程中使用简单易懂的例子帮助你深入了解“账户抽象”。

**1、社交恢复**

目前EOA钱包最大的用户痛点是“私钥、助记词难以妥善保管”，账户抽象将私钥、助记词抽象化处理，用户无需在创建钱包过程中进行私钥、助记词备份。如果不慎卸载钱包或删除钱包账户，可以通过多重身份验证和社交恢复（邮箱等）来恢复账户。

**2、签名抽象**

EOA钱包的签名是需要私钥、助记词使用ECDSA算法（椭圆曲线数位签名算法）生成的签名才能有效上链，也就是说，私钥、助记词是控制资产的唯一凭证。账户抽象是将ECDSA算法剥离，允许用户自定义规则来授权钱包发起签名交易，通俗来讲，就是，你本人是控制资产的唯一凭证。

**以下从“限制交易”、“多方授权”、“自动支付”三个功能来为大家介绍签名抽象。**

**a) 限制交易。**&#x5982;果签名价值超过你的预设限制，与你的智能账户关联的AA钱包可以拒绝交易(或要求额外授权)。

例如：每个人的银行卡每天/每月都有交易上限，超过上限后，你的银行账户会拒绝后续交易（或通过其他形式和你确认额外交易授权。）

**b）多方授权。**&#x60A8;可以将帐户的部分控制权委托给受信任的各方，我们称之为“监护人”，监护人可以是朋友、家人、服务提供者，甚至是你拥有的一个单独的设备，如KeyPal硬件钱包。从而，“监护人”有权限控制你账户内的资产。

例如：TokenPocket支持的多签钱包账户就是其中一个“账户抽象”的概念。

**c）自动支付。**&#x60A8;可以授权第三方服务从你的账户中“转移”资产以支持某笔固定的消费支出。

例如：你需要绑定银行卡来支付每月的家庭水电费，同样的道理，你也可以通过绑定你的AA钱包来支付某个平台的订阅费用（前提是该平台已支持加密货币作为收款方式）。

*“交易限制”、“多方授权”以及“自动支付”只是签名抽象中三个比较亮眼的应用场景，我们也将在未来结合新的AA钱包功能，为大家介绍更多使用场景，让AA钱包融入你的Web3.0生活。*

**3、矿工费抽象**

如前文所说，当前以太坊公链任何一笔交易必须支付原生币ETH作为矿工费，才能使交易上链，这种机制的交互逻辑对用户使用并不友好。尤其是对于Web3.0新用户，获取矿工费的路径太过复杂，而账户抽象能够很好地解决这个问题。

在账户抽象体系中，用户所创建的智能合约账户，可以使用其他ERC-20代币（如USDT，USDC等）代为支付链上矿工费。合约层面会有一个“中继器”来将ERC-20代币（如USDT，USDC等）转换为原生币ETH，从而把交易推送上链。

未来，项目方甚至可以通过在中转站捐赠或赞助手续费等方式，在用户层面实现“无手续费交互”，真正实现与Web2.0一样的简便交易。

<figure><img src="https://261497644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MMF2k4MCaxErpZyah2d%2Fuploads%2FsOVs0PajO3JpN5aT4Qhy%2Fa2f90e82fa08c7a2efc8bcc975ae1e62_640_wx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1.png?alt=media&#x26;token=145d8ebd-e129-498d-be2d-a55781653a22" alt=""><figcaption></figcaption></figure>

**4、Nonce抽象**

在以太坊体系中，Nonce是一个重要的概念，用于确保交易按照特定顺序执行。Nonce的目的是维护交易的顺序性和完整性，以防止“重放”攻击和混乱的交易执行顺序。

如果你需要发起两笔或以上的交易，这两笔交易Nonce值分别为0和1，那么你需要先等Nonce值为0的交易先执行/确认，才能执行Nonce值为1的交易。对于需要批量执行交易操作的用户而言，这样的流程太过于死板，导致工作效率低下。

账户抽象允许用户一次性执行多个动作(而不是以太坊协议对交易强制严格排序)。例如，可以使用允许批量处理多个交易的Nonce，从而把多笔交易推送上链，解决了由于特定顺序所导致的问题，让Web3.0更加轻量化。

<figure><img src="https://261497644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MMF2k4MCaxErpZyah2d%2Fuploads%2F3yr5bR2PDz9V0uex9KnA%2Fca5a7605b0436e654e672b35c35f7138_640_wx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1.png?alt=media&#x26;token=46697763-eaff-4d3e-abde-19334486a63b" alt=""><figcaption></figcaption></figure>

总体来说，账户抽象是解决当前EOA钱包局限性的最好方案之一，同时也为钱包领域带来了更多的灵活性和可操作性。**TokenPocket即将推出AA钱包功能，为加密用户带来更多Web3.0可能性。敬请期待！**
