A quick look at Particle Network’s full-chain account abstraction: motivation, basic composition and future plans

All articles1年前 (2023)更新 wyatt
100 0 0
Particle 正式发布全链账户抽象基础架构。

撰文:Peter Pan & Vijay Singh,Particle Network

Compiled by: Peng SUN, Foresight News

过去两个月,Particle Network 大动作不断,从披露即将推出的具有 ZK 和以意图为中心的功能的 v2 设计,到其围绕以Token为中心的经济的细节,并正在逐步展示我们的总体规划,以便让下一个十亿用户加入 Web3。

Particle 的 CTO 最近发表了一篇文章,讨论了解决账户抽象(AA)领域挑战的各种现有方法。这篇文章还总体表达了 Particle 的方案,即基于已有方案来实现全链账户抽象(Omnichain Account Abstraction),解决账户抽象基础设施及其设计中的多个用户体验和稳健性问题。此外,全链账户抽象还可解决行业长期面临的跨链和互操作性痛点问题。

今天,Particle 正式发布全链账户抽象基础架构。

TL;DR

Particle 的全链账户抽象(Omnichain AA)解决了跨链交易和多链账户抽象方面的既有问题,实现了智能账户存储和代码的解耦。它引入 Particle Chain 作为账户存储的中心枢纽。在此框架内,跨链消息传递用于同步存储更改。全链账户抽象还引入了用于统一地址生成和多链存储管理的部署者contract(Deployer Contracts),以及利用现有互操作性协议支持不同链上交互的跨链消息解决方案。最后,我们建议将 Particle token 作为统一的 Gas Token,以解决多链执行中 Gas 效率低下问题。该设计简化了跨多链智能账户的管理流程,提高了跨链操作效率。

一、全链账户抽象的动机

正如我们 CTO 所分析的,当前 ERC-4337 的 AA 框架更类似于「交易流抽象」,因为它主要侧重于优化交易执行的底层流程,而非账户本身。

这个方案很重要,因为它为智能wallet的采用及随后在协议层实现奠定了基础,但也带来了一系列特殊问题,即:

  • AA 解决方案难以集成,导致开发者必须构建自定义实施方案;

  • 账户模块兼容性差,导致生态系统碎片化;

  • 不同Blockchain之间隔阂较大,难以为用户和开发者提供统一而高质量的体验,导致用户体验不佳。

鉴于这些挑战,目前有三种应对方法:

  • Biconomy 提出了一种标准化的模块化方法,开发者可在此基础上构建自己的解决方案,而非采用 ERC-4337 智能账户实现。该提案还包括为可与智能账户(Bundlers、Paymasters 等)集成的不同模块创建高度专业化的市场。

  • Safe(原为 Gnosis Safe)提出了一种相似但又有核心差异的方法。它打算为轻量级智能账户创建一个像 EOA 一样简单的协议。在此基础上,将产生一个模块市场,不同供应商可创建自己的实现,同时保持兼容性。

  • Vitalik Buterin 提出了一种使用以太坊或高度Safety的 zk-rollup 作为源链的系统,并部署 Keystore contract来存储用户的全局密钥。在该系统中,用户在 L2 上的智能合约账户共享存储在 Keystore 合约中的全局密钥。

前两种方法侧重于模块化和兼容性,这是 AA 的两个必要特征;而 Vitalik 的方法则侧重于在具有多个 L2 和 EVM 链的多链生态系统中引导AA。接下来我们将深入剖析当前框架下智能账户的多链影响,以及 Vitalik 提出的解决方案。

二、智能账户的多链问题

当前的多链 EVM 环境导致用户的智能账户独立部署在不同链上。对于每个账户,与账户管理相关的信息(包括权限)都存储在合约的 Storage 中。更新这些信息需要用户在多个链上发起交易,因此在技术上要确保各网络间的一致性比较难实现而且耗时较长。

速览 Particle Network 全链账户抽象:动机、基本构成与未来规划

Vitalik Buterin 提出的设计

在 ERC-4337 的设计中,智能账户使用由 initCode 确定的全球唯一地址。初始管理权限编码在 initCode 中,这意味着如果用户在新链上部署智能账户,但已在其他链上进行了管理权限更改,则需要在新链上重复这些更改。这给用户和wallet都增加了复杂度。

为了说明这些问题的重要性和挑战性,我们可以设想以下几种场景:

  1. Alice 在 Polygon 和 Arbitrum 上部署了一个智能账户,账户所有者为 Owner1。她习惯性地定期更换 Owners。

  2. Alice 将智能账户的所有者换成 Owner2,并忘记了 Owner1 的私钥。

  3. Bob 通过 Linea 向 Alice 的地址转了 USDC。

  4. Alice 意识到,她需要 Owner1 的私钥才能发起交易,因为初始化 initCode 取决于 Owner1。不幸的是,她忘记了 Owner1 的私钥,导致完全无法访问自己的资产。

Vitalik 的解决方案确实解决了跨多链管理地址的问题,特别是关于账户存储的变化,譬如所有权转移和社会恢复。但是,该方案也存在问题,因为它涉及到相当大的成本。除了不低的设置费用外,如果源链(以太坊主网)上的 Keystore 合约中记录的全局密钥发生变化,那么 L2/ 目标链上的每个账户都需要通过跨链交互进行同步。但是与以太坊和 L2 的交互成本太高,大多数用户都无法接受。

同样重要的是,智能合约账户的工作方式与 EOA 不同,因此用户很难在不同的链上保留相同的地址,无论它们是否兼容 EVM。因此,Particle Network 基于 Vitalik 的方案进行一些关键的更改,以尽量减少对用户的影响。

三、Particle Network 的解决方案

Particle 提出了另一种方案,可以解决了多链 AA 方案的不足,并利用了 Web3 的其他基础设施组件。

具体而言,Particle Network 提出使用独立的 Particle Chain 作为智能账户的全链存储数据库。通过第三方跨链消息解决方案(如 LayerZero、CCIP、Axelar、Connext 等),用户对账户存储的更改最终将与该账户在其他链上的本地存储进行同步。Particle Network 引入了跨链用户操作(Cross-chain UserOperations),进一步抽象链的概念,促进了无缝跨链交互。它还将 Particle Network 代币作为统一 Gas 代币,抽象出复杂的 Gas 机制,简化跨链智能账户的使用。如下图所示:

速览 Particle Network 全链账户抽象:动机、基本构成与未来规划

Particle Network 全链智能账户抽象架构

Particle Network 的全链账户抽象允许用户在不同的 EVM 链上拥有统一的智能合约账户地址。为了实现这一目标,我们的设计包括在每条链上部署一组部署者合约(Deployer Contracts)。用户必须在 Particle Network Chain 上生成一个新账户,以触发不同链上的所有部署者合约,确保生成的智能合约账户地址在不同链之间之间保持一致。另外,用户也可以通过 Particle Chain 上的合约与多个链进行交互,而无需主动管理多个地址,并且可以使用 Particle 代币作为统一的费用支付方式。

通过在目标链上执行交易并在源链上支付相应的 Gas 费,全链账户抽象还可以实现跨链用户操作。譬如,允许用户使用 Polygon 上的 USDC 在 Base 上购买 NFT。

Omnichain AA 确实需要部署者合约和跨链消息传递组件之间高度协调,以实现多链账户和源链存储之间的同步。这对所使用的预言机或跨链消息桥提出了很高的要求——这也是全链互操作性相关解决方案中的一个常见问题。不过,同步用户的跨链账户可以通过灵活配置不同的消息桥组合来实现,而不是只依赖某一个消息桥。譬如,可以使用 2/3 策略进行配置,即使用 LayerZero、Axelar 和 Connext 中的任意两个协议才能确认目标链上的存储更改,以解决单点依赖问题。

Particle Network 还解决了另一个问题,即促进 EVM 兼容链的可兼容性,这些链往往具有不同的 AA 实现,因此无法与 ERC-4337 地址统一。

四、全链账户抽象的关键构成

Omnichain AA 的关键组件包括 Particle Chain、部署者合约、跨链消息传递与代币。

Particle Chain

通过将智能账户的管理权限和账户逻辑分离(可简化理解为存储和代码的分离),我们需要一个SafetyofBlockchain来存储用户的账户管理权限(Storage/KeyStore)。因此,Particle Chain 是全链最关键的组成部分。它存储用户智能账户的数据(Storage),协调不同链上的部署者合约,并处理跨链消息传递组件,以确保用户多链智能账户的存储和更新。

部署者合约

多链智能账户需要一个统一的地址,该地址由部署者合约(Create2)决定。部署者合约和跨链消息传递组件共同实现多链统一存储。对于智能账户的初始部署,部署者合约会拒绝非 Particle Chain 的部署,确保初始部署也拥有相同的 Storage 数据。

跨链信息传递

更新 Particle Chain 上账户的 Storage 需要跨链消息组件的支持。为此,我们直接采用了 LayerZero 等实现方式。无论是初始部署还是后续更新,用户都可以调用 Particle Chain 上智能账户的 xManage 方法将账户状态同步到其他任何链上。用户还可以从部署智能账户的任何源链上调用 xExecuteTx,发起跨链用户操作,确保交易在目标链上正确执行。

Token

我们还引入 Particle Network 代币,以解决多链执行过程中的 Gas 消耗问题,进一步提高执行效率和用户体验。ERC-4337 中的 Paymasters 确保任何 ERC-20 代币都可以用来支付 Gas。在跨链交易中,任何链上的 Particle 代币都可以用来直接支付其他链上的 Gas 费。

为跨链交易提供单一支付代币可大大减轻管理多个代币的压力。目前,任何跨链交互都需要至少 2 种代币来支付不同链上的 Gas 费,而在日常交易中,用户与多少链进行交互,就需要持有相同数量的代币种类。

对用户而言,全链账户抽象可实现以下场景:

  1. Alice 在 A 链上发起用户操作,消耗 A 链上的 Particle 代币。

  2. 通过调用智能账户在 A 链上的 xExecuteTx,发起 B 链上的跨链执行,完成 B 链上的相应操作。

速览 Particle Network 全链账户抽象:动机、基本构成与未来规划

五、未来规划以及 Particle Network v2

由于 Particle 的全链账户抽象仍处于开发阶段,因此还可以进一步改进其设计。譬如,我们正在分析使用乐观跨链协议来缓解结算延迟问题,提高全链用户操作的速度。由于 Particle v2 版本将推出全链账户抽象,因此模块化和生态系统适应性是其战略发布的重要组成部分。

Particle Network v2 还将采用以意图为中心的方法,其目标是抽象出处理不同 AA 和智能账户模块的潜在困难。在这种架构中,以太坊 ERC-4337 生态系统——或 zkSync 等其他链的原生账户抽象设施——可被视为 Solver/Reactor 类型下的特定实例。

Particle v2 将在零知识钱包即服务(zkWaaS)生态系统框架内发布,其零知识功能可提高用户身份和交易隐私。得益于 v2 的 zkWaaS 便捷开发体验和模块化特性,集成 Particle 的 DApp 可以利用一致、优化的交易流程,减少与交易逻辑相关的开发成本。WaaS 模式旨在优化用户体验与无缝入门体验,使开发者能够专注于核心应用逻辑和创新功能。

值得注意的是,V2 版本的一些功能除了自身目的外,还能降低全链账户抽象用户的成本。有三个因素可以帮助全链账户抽象降低用户的使用和设置成本:

  1. 通过保密的 Paymaster/transaction bundling 聚合用户活动:Particle v2 的全链账户抽象将通过保密的 Paymaster 以实现交易隐私,并通过聚合交易为用户减少费用;

  2. 以意图为中心的开发将促进持续优化:Particle v2 以意图为中心的设计将激励 Solver 市场不断优化用户表达意图的体验,从而为用户节约成本。

全链账户抽象模型提供的多链框架Xiaobai Navigation对于在多样化生态系统中要求 AA 灵活性的 DApp 来说至关重要。同时,以意图为中心的设计也将改变用户与 DApp 交互的方式。

The article comes from the Internet:A quick look at Particle Network’s full-chain account abstraction: motivation, basic composition and future plans

相关推荐: RGB 能否复刻 Ordinals 的热潮?

本文从Safety性、可拓展性、交易费、交易速度等维度比较了 Ordinals 与 RGB 协议,并分析了 RGB 叙事未来可能的走向。 作者:Jerry Luo 审稿:Mandy, Joshua TL;DR 现今的比特币网络上存在着多种智能合约方案,其中最为主流的便…

share to
© 版权声明

相关文章