AA账户抽象钱包 — 终极用户指南

从2009年比特币地址的64个十六进制字符组成的私钥,到2013年BIP39(Bitcoin Improvement Proposal 39)提案把助记词概念引入区块链行业以来,私钥、助记词作为保护加密用户资产最关键的信息已经在区块链行业持续发展了10年之久。2020年Vitalik Buterin的EIP-2938: Account Abstraction 首先提出了一个较为完整详细的AA概念。自此,AA钱包开始发展起来。

随着区块链行业的不断发展,EOA钱包对于传统Web2.0行业用户的不友好性逐渐显现。

如何“将下一个十亿用户引入Web3.0”?

或许,由账户抽象概念带来的AA钱包会是一个方向。

关键词解析

账户抽象:账户抽象是一项提高以太坊账户(EOA账户)管理和交互灵活性的提案。

EOA钱包:外部拥有账户(Externally-Owned Account),该账户由私钥、助记词控制,也是目前用户量最大的传统的私钥、助记词钱包。

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

当前EOA钱包的局限性

还记得你第一次通过EOA钱包进行交互吗?

当前EOA钱包存在的局限性:

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

EOA钱包是目前最常见的钱包账户体系的统称,EOA钱包仅由私钥、助记词控制,用户必须妥当保存EOA钱包的私钥、助记词,一旦泄露,将导致钱包资产的丢失。

这一点对于所有区块链参与者来说,都是一个安全隐患的痛点。以往,我们推出了多个解决私钥、助记词保管安全的产品,如硬件钱包冷钱包多签钱包等,但是这些对于新手用户来说,上手难度更大,其核心依然是依托于私钥、助记词的保管和使用情况。

2. 不友好的交互逻辑。

  • 链上手续费高昂及不稳定

  • 影响交易确认的因素多

  • 交易流程复杂

以以太坊为例,在以太坊上执行一笔转账或交易,你必须支付原生币ETH作为矿工费,才能使交易上链。如果用户钱包没有ETH,那么只能通过中心化的路径进行购买/通过第三方跨梁桥进行跨链,再转移至钱包。在特殊情况下,由于链上拥堵,会造成矿工费升高或交易失败,造成用户损失。

以上两个EOA钱包的局限性,是目前所有加密用户都会面对的难题,而解决这些难题,需要大量的知识学习和补充,还需要在学习的过程中面对如“风险授权”,“风险代币”等挑战。

“账户抽象”概念的提出和发展,在一定程度上解决了这些问题。

如何定义账户抽象?

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

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

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

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

1. 社交恢复

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

2. 签名抽象

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

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

a) 限制交易。

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

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

b)多方授权。

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

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

c)自动支付。

您可以授权第三方服务从你的账户中“转移”资产以支持某笔固定的消费支出。

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

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

3. 矿工费抽象

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

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

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

4. Nonce抽象

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

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

账户抽象允许你创建自定义重放保护机制(而不是以太坊协议对交易强制严格排序)。例如,可以使用允许批量处理多个交易的Nonce,从而把多笔交易推送上链,解决了由于特定顺序所导致的问题,让Web3.0更加轻量化。

那么,AA钱包的交互流程会是怎么样呢?

结语

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

Subscribe to TokenPocket中文科普
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.