Outlier Ventures:账户抽象——从混乱到清晰
区块链技术已存在一段时间,但要推广应用,需要解决高摩擦的入门流程。新的账户抽象范式简化了临时用户的入门和使用流程,鼓励加密货币的大规模采用。该标准允许创建智能账户,无需外部拥有账户,改善web3的入门体验。智能账户还具有自动化交易的潜力,提高定制和效率水平。Visa提议允许用户使用法定卡支付链上Gas费,实现自动化交易。本文介绍了四种智能账户抽象解决方案,可以帮助开发人员轻松构建和管理智能合约,并提供多种功能。Biconomy的AA解决方案是最受欢迎的解决方案之一,帮助Web3领域吸引了280万用户。账户抽象是推动加密货币大规模采用的最佳工具。 摘要由 Mars AI 生成 本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。
介绍
尽管区块链技术已经存在了一段时间,并且市场在过去十年中急剧增长,但解决当前高摩擦的入门流程是将本机加密交易转变为主流理念的市场扩张的关键。幸运的是,账户抽象等新范式可以通过简化临时用户的区块链技术的入门和使用流程来鼓励加密货币的大规模采用。
ERC -4337 账户抽象实现针对 EVM 开发人员,允许创建非托管钱包作为智能合约,解锁轻松钱包恢复、无符号交易和团队钱包等功能。该标准的关键创新在于能够独立创建智能账户,无需单独的外部拥有账户(EOA)或合约账户即可进行交易。智能帐户使用 UserOperations,它代表代表用户执行的操作。这些用户操作通过单个入口点进行捆绑、验证和执行,从而允许在管理帐户和资金方面进行各种自定义。
Safe、NEAR Wallet、Argent 和 Blocto 等创新者已经在利用这种新的智能合约功能,ERC-4337 是标准化的一个终点,但仍有工作要做。该领域的主要参与者设计了适合特定需求和不同区块链生态系统的账户抽象变体,从而提供了大量可供选择的 SDK 和库。
帐户抽象用例
在进入技术方面之前,让我们先概述一下最有趣的用例,在这些用例中,帐户抽象带来了显着的改进,所有这些都有助于改善 web3 的入门体验,尤其是对于非本地用户。
1. 钱包恢复
加密行业最大的难题之一是安全性,用户要么必须依赖托管人,要么必须保护自己的密钥。在智能帐户领域,安全性与传统模型不同,避免了对助记词或私钥的依赖。智能账户所有者可以指定多个实体(设备、个人或第三方服务)作为钱包监护人。
这一创新功能为面临凭证丢失的用户确保了强大的安全网,监护人能够签署交易以分配新的访问凭证。重要的是,此恢复过程优先考虑用户对资产的控制和所有权,在安全性和可访问性之间取得微妙的平衡。这个复杂的框架预示着数字资产管理的新时代,弹性和用户控制力大大增强。
2. 批量交易
在去中心化交易所中,代币交换通常涉及两个单独的交易,每个交易都需要用户通过私钥签名进行批准,而复杂的 Web3 交易可能需要三个或更多批准。智能账户引入了一种突破性的解决方案,允许用户批量处理多个交易,降低用户的成本,并以我们在 web2 应用程序中期望的方式简化 DeFi 交易。此特定用例的一个很好的例子是 Ambire Wallet ,它利用 AA 为其用户启用交易批处理。尽管与使用外部拥有账户 (EOA) 相比,执行一项操作的成本较高,但当进行多笔交易时,每笔交易的价格会大幅降低。
3. 赞助用户交易
账户抽象还引入了 Paymasters 的概念,这是专门为赞助交易的 Gas 费而设计的智能合约。这为 dApp 带来了新的定制水平,它们现在可以接受用户钱包中的任何代币作为交易费、使用卡进行法定支付,甚至补贴全部金额,从而为用户创造无缝体验,改善用户体验和消除不必要的摩擦点。一个很好的例子是来自 Arcana Network 的 SendIt ,这是一个小型协议,允许通过电子邮件向任何人发送加密货币,即使他们没有钱包,并利用 ERC4337 来赞助交易费用并为他们创建一个新的智能合约帐户。这个特定用例的另一个重要用途是 Visa 的提议,即允许用户使用法定卡支付链上 Gas 费,如下图所示。
通过账户抽象重新思考数字交易
通过账户抽象重新思考数字交易
4. 自动化交易
与 EOA 不同,dApp 上的每笔交易都需要手动启动或签名,智能账户引入了自动化的可能性。通过智能账户,用户可以设置各种参数,包括对特定代币的访问、支出限制、持续时间、气体限制以及特定操作的预定义触发器。举例来说,用户希望允许 DEX 在接下来的一小时内每 15 分钟代表其执行一次交换:签名一次,交易将在之后自动发生。这种执行可以在 CowSwap 上看到,CowSwap 是一个提供 TWAP 交易的去中心化交易所,将所需的用户操作分散到在一段时间内执行的部分。智能账户自动化的潜力几乎是无限的,为用户提供超越传统 EOA 限制的定制和效率水平。
技术组件
利用该技术的方法有多种,可以通过启动自己的内部组件(图 1),也可以使用 SDK 或库并利用该领域其他参与者维护的现有基础设施。我们列出了各种入门选项,我们将进一步探索使用特定解决方案的用例和优势。
无论您在利用帐户抽象时选择哪种实现方法,了解其关键要素都很重要。 UserOperations 是类似交易的对象,代表用户对智能合约账户的交易意图。与传统交易不同,UserOperations 引入了额外的字段,如 EntryPoint、Bundler、Paymaster 和 Aggregator,并定向到单独的内存池。值得注意的是,UserOperations 是基于意图的,允许用户包含以结果为中心的事务的元数据,这偏离了传统输入的特殊性。
下面的关键组件称为 Bundler,是一种特殊类型的以太坊节点,它在支持 UserOperations 方面发挥着关键作用。用户操作被定向到捆绑器网络,该网络主动监视替代内存池。这些捆绑器将多个 UserOperations 合并为一个事务,随后代表用户将它们打包并提交到区块链。作为这项服务的回报,他们获得补偿。它们的意义在于抽象了 web3 中每个参与者拥有自己的外部拥有账户(EOA)的必要性,这是实现 ERC-4337 功能的关键组成部分。
然后,UserOperations 被发送到 EntryPoint Contract,这是一个单例智能合约,用于执行 UserOperations 的验证和执行。验证过程涉及评估钱包是否拥有足够的资金来支付潜在的最大 Gas 使用量,该最大 Gas 使用量由 UserOp 中的 Gas 字段决定。缺乏足够资金的交易将被拒绝。在执行过程中,智能合约执行交易,从智能合约账户 (SCA) 中扣除资金,用适当的原生代币金额偿还 Bundler 的 Gas 费用。
在某些情况下,开发人员希望代表用户赞助汽油费,或者允许他们使用除原生代币之外的各种代币来支付这些费用。为此,他们可以利用名为 Paymaster 的合约,该合约旨在管理天然气支付政策。这有效地消除了用户拥有本地区块链代币与区块链交互的要求。
不同 AA 工具的演练
1. 无SDK解决方案
如上所述,利用帐户抽象功能需要一些关键元素,而其他一些元素仍然是可选的。如果您不想依赖第三方 AA 解决方案,则可以运行自己的设置并完全控制和托管所涉及的智能合约和流程。对于以太坊,有多种提议的解决方案,其中 eth-infinitism 在智能账户合约、入口点合约和 Paymasters 方面拥有最流行的解决方案。除了部署这些合约并正确资助之外,还需要运行一个 Bundler,它将接收用户操作并将其重定向到入口点合约。为了帮助开发人员,社区成员开发了解决方案,只需利用简单的 npm 包 即可在 Hardhat 环境中本地设置帐户抽象。
由于自行设置所有基础设施所需的繁重工作,大多数人选择依赖各种图书馆和公司,它们提供现成的解决方案,并从开发人员手中抽象出所有复杂性。
2.皮姆利科和permissionless.js
如果您希望利用 JavaScript 库向应用程序添加帐户抽象功能,最有效的解决方案是permissionless.js。它建立在 viem 之上,允许开发人员利用 Pimlico 提供的 AA 套件、Bundler 和 Paymaster API 来构建高度可定制和模块化的应用程序,所有这些都支持 20 多个 EVM 兼容链。假设智能帐户和交易数据已创建,以下是如何使用 Permissionless.js 和 Pimlico 的帐户抽象 SDK 发送交易的方法:
const txHash = await smartAccountClient.sendTransaction({
to: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
value: parseEther("0.1"),
maxFeePerGas: gasPrices.fast.maxFeePerGas,
maxPriorityFeePerGas: gasPrices.fast.maxPriorityFeePerGas,
});
3. Alchemy 账户套件
Alchemy 的帐户工具包是对开发人员最友好的帐户抽象工具之一。与其他解决方案类似,除了 aa-sdk 之外,Alchemy 还提供了 Light Account 解决方案,这是一个简单的智能帐户界面、一个 Bundler API、一个利用自己的 Paymaster 智能合约的 Gas Manager 解决方案,允许开发人员赞助用户操作或允许用户在支付 Gas 费用时使用 ERC-20 代币。假设智能帐户和交易数据已创建,以下是您如何使用 Achemy 的帐户工具包发送交易并检索交易哈希:
const userOperation = await smartAccountClient.sendUserOperation({
uo: {
target: "0xTARGET_ADDRESS",
data: uoCallData,
},
});
const txHash = await smartAccountClient.waitForUserOperationTransaction(uo);
4.双经济SDK
在使用帐户抽象进行构建时,Biconomy SDK 提供了最多的功能。它们允许开发人员定制各种功能,为智能合约帐户设置多重签名配置,并提供 Bundler 和 Paymaster 服务。其功能高度模块化,与竞争对手相比具有独特的功能。它允许开发人员创建由一组约束支持的网关,从而使特定的 SCA 事务能够发生,而签名者无需对每个事务进行签名。这种特殊的功能增强了用户体验,并为在后台进行区块链操作的应用程序奠定了基础,同时用户正在经历完全的 web2 之旅。 Biconomy 的 AA 解决方案是该领域最受欢迎的解决方案之一,其 SDK 处理了 2500 万笔元交易,帮助 Web3 领域吸引了 280 万用户。假设智能账户和交易数据已经创建,以下是您如何使用 Biconomy SDK 发送交易并检索交易哈希:
const userOpResponse = await smartWallet.sendTransaction({
to: toAddress,
data: transactionData,
});
const { transactionHash } = await userOpResponse.waitForTxHash();
结论
总而言之,尽管帐户抽象的想法已经存在了一段时间,但帮助开发人员大规模采用它的文档和工具仍然有限。尽管如此,它仍然是 Web3 开发中最大的里程碑之一,并为新的、令人兴奋的用例提供了基础。
尽管目前主要需要依赖第三方来使用账户抽象功能,但范式的模块化和生态系统的去中心化鼓励越来越多的开发人员将其中一些工具集成到他们的应用程序中,甚至构建自己的工具- 建立智能合约和链外实用程序来利用这项令人兴奋的新技术。仍然非常需要简化用户入门并为加密货币的大规模采用做出贡献,而帐户抽象是目前满足这一需求的最佳工具,允许项目在用户不知情的情况下利用区块链技术。
如果您已经探索了帐户抽象实用程序、正在利用该标准进行构建或只是想出了一些有趣的用例,请随时在 X 上与我联系,并进一步探索这一新的创新标准的众多功能。
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
被解雇的编辑和被审查的文章:CoinDesk面临行业严厉审查
CoinDesk在删除一篇批评Justin Sun的文章后经历编辑动荡。包括主编在内的多名高层编辑在争议中被解雇。Charles Hoskinson质疑CoinDesk的未来价值,暗示由于最近的编辑决策,其价值已下降。
大帽山的TerraUSD骗局代价高昂:美国证监会处以1.23亿美元罚款
美国证券交易委员会对大帽山公司处以1.23亿美元罚款,原因是其误导投资者关于TerraUSD的稳定性。大帽山通过LUNA代币交易销售未注册证券,违反了法律。TerraUSD的崩溃暴露了加密货币透明度的缺陷和监管监督的需求。
彼得·希夫发布其提议的USAcoin升级版
比特币FUD达到年度最高点:这对BTC牛市意味着什么