币灵灵财经
首页 > 币圈新闻 > 文章正文

Visa:从账户抽象重新思考加密交易

币灵灵财经 2024-10-30 23:03 915

欧易交易所

欧易交易所

软件大小:268.26MB

软件版本:v3.4.2

作者:Mustafa Bedawala、Mert Ozbay 和 Catherine Gu ;Visa

ERC-4337 的技术概述是以太坊上 AA 实施的当前标准,旨在更好地了解 ERC-4337。我们讨论了 Visa 对两组 Paymaster 合约的实验性部署,以展示如何重新设计区块链上的Gas费以提高用户便利性。

账户抽象和 ERC-4337

ERC-4337 是 AA 的最新进展,最初于 2021 年作为以太坊改进提案 (EIP)-4337 提出。它经历了以太坊征求意见 (ERC) 流程,该流程为以太坊网络上的应用程序建立了标准。 EIP 和 ERC 之间的区别在于它们的范围和采用要求。 ERC 定义智能合约应如何在应用程序级别运行和相互交互。它们不需要像核心 EIP(以太坊改进提案)这样的所有参与者都采用,这些 EIP 在协议级别部署并且需要在社区内达成更广泛的共识。从 EIP-4337 到 ERC-4337 的过渡标志着该提案已经满足以太坊应用所需的标准,现已正式成为以太坊生态系统的一部分。截至2023年3月,ERC-4337的核心组件已经部署在以太坊主网上。与之前的账户抽象 EIP 不同,ERC-4337 无需对区块链协议的共识层进行修改即可在以太坊网络上启用账户抽象。² 这种开发允许区块链网络参与者立即探索和试验新的用户体验,而无需等待重大网络升级。值得注意的是,ERC-4337 的优势之一是它与任何使用以太坊虚拟机的区块链兼容,为 AA 提供了一个超越以太坊本身的标准。

遍历 ERC-4337 交易

Visa:从账户抽象重新思考加密交易

图 1:典型的以太坊交易流程

ERC-4337 引入了一种不同于传统 EOA 方法的替代交易流程,它在交易到达代理 EOA 地址之前添加了新步骤。用户将他们的意图作为 UserOperations 发送,然后通过专用的 UserOperations 内存池传播。这个独特的内存池由捆绑器监控,捆绑器充当代理 EOA,以网络可以处理的典型 EOA 交易的形式将 UserOperations 发送到公共内存池。然后,这些交易遵循与常规交易相同的流程,要么加入公共内存池,要么直接进入建设者。

Visa:从账户抽象重新思考加密交易

图 2:ERC-4337 交易流程

1.用户通过符合 ERC-4337 标准的智能合约钱包生成 UserOperations。 UserOperations 封装了用户与区块链交互的意图,用户对其进行签名以进行身份验证。一旦生成,UserOperation 将被提交到专用的 UserOperation Mempool,这是一个专门用于 UserOperations 的存储,与标准的 Ethereum 交易 mempool 分开。

2.Bundlers 是一类专门的参与者,它监控 UserOperation Mempool,运行模拟并将一系列 UserOperations 组装成一个单一的交易包。 Bundlers 负责收集 UserOperations 并将它们提交给 EntryPoint 合约,优化 gas 使用并通过利用费用优先逻辑来最大化利润。

3.EntryPoint 合约接收捆绑的一批 UserOperations。它充当中央协调员,用于管理 ERC-4337 交易流程中的 UserOperations。

4.如果 UserOperation 指定,EntryPoint 合约将与 Paymaster 合约交互。如前所述,Paymasters 可以赞助合约账户的交易费用。 EntryPoint 验证付款人是否有足够的存款,或者合约账户是否有足够的资金来支付汽油费。在执行过程中,如果涉及到 Paymaster,它可以实现自定义费用逻辑,我们将在下一节中进行演示。

5.然后 EntryPoint 合约调用合约账户,必要时调用出纳员,以验证 UserOperation 中的签名。合约账户是与 EntryPoint 合约无缝交互以促进交易执行的用户账户。验证成功后,EntryPoint 将每个 UserOperation 的相关数据传输到 Contract Account,启动执行过程。

帐户抽象和实际应用

随着区块链技术不断探索现实世界的应用,自托管钱包正成为用户持有和使用其数字货币进行交易的热门选择。自以太坊成立以来,已经有大约 1.8 亿个唯一地址进行了交易,包括所有类型的账户和属于同一个人或一组个人的多个账户。³但是,每月,我们只看到发起了数百万次链上交互由真人进行,以太坊主网每天的链上活动约为每天 100 万笔交易。⁴ 相比之下,Visa 在 2022 年处理了 2580 亿笔交易,平均每天处理 7.07 亿笔交易,目前有 41 亿张 Visa 关联卡在流通全球范围内。⁵ 如果区块链支持同等广度的支付体验并具有相同的易用性,它们能否享有可比的采用水平?朝这个方向可能采取的步骤包括为用户提取汽油费或允许他们用 ERC-20 代币支付交易费。

使用 ERC-4337 Paymaster 使用 ERC-20 代币支付

Visa:从账户抽象重新思考加密交易

图 3:Paymaster 促进使用 ERC-20 代币支付交易费用

使用 ERC-4337 Paymaster 为用户赞助交易费用

Visa:从账户抽象重新思考加密交易

图 4:Paymaster 为用户赞助交易费用

除此之外,智能合约账户可以简化钱包管理并提供签名验证的替代方法,从而实现多因素身份验证,以提高自我保管钱包的安全性和资金回收。此外,它们通过允许具有可自定义限制的特定任务的临时权限来简化 dApps 的使用,例如授权 dApps 处理来自用户帐户的重复拉取付款,最高可达一定金额。这些示例只是说明智能合约如何帮助非加密本机用户更轻松地与区块链技术交互,同时确保其帐户安全。

我们对 ERC-4337 Paymaster 实施的实验

使用 ERC-4337 Paymaster 使用 ERC-20 代币支付

Visa:从账户抽象重新思考加密交易

图 5:Paymaster 促进使用 ERC-20 代币支付交易费用(代码片段)

通过我们的第一个 Visa Paymaster 合约,我们正在探索用户是否可以使用替代代币支付交易费用,例如美元稳定币,甚至在未来甚至是中央银行数字货币。在这种情况下,Paymaster 通过接收用户支付的等值通用 ERC-20 代币来支付 ETH 交易费用。对于实施,我们使用了以太坊基金会和 ERC-4337 核心团队提供的起始代码 ⁶。此示例合约包含 Paymaster 及其自定义 ERC-20 令牌的管理逻辑。对于这个合约,我们引入了一个白名单和一个更新代币到 ETH 转换率的函数。这使我们能够更好地模拟 ETH 和代币之间的汇率是动态的现实生活条件。我们的测试设置涉及部署智能合约钱包和发送用户操作。目前,兼容 ERC-4337 的钱包选项有限,我们决定使用以太坊基金会和 ERC-4337 核心团队打造的 Trampoline 钱包。⁷ 为了将我们的用户操作发送到 Goerli Testnet,我们使用了 Blocknative 的公共 Bundler。⁸ 对于一个成功的 UserOperation,Visa Paymaster 合约首先需要检查用户在 ERC-20 中是否有足够的资金来支付汽油费。确认后,用户使用此通用 ERC-20 令牌支付交易费用。您可以在此处找到我们已部署的合约,⁹ 以及已处理的 UserOperation。

使用 ERC-4337 Paymaster 为用户赞助交易费用

Visa:从账户抽象重新思考加密交易

图 6:Paymaster 为用户赞助交易费用(代码片段)

Paymaster 用例远远超出了我们在本文中强调的范围。通过抽象出基本的区块链处理逻辑,可以有许多创新的用户体验。对于目前正在进行的 ERC-4337 开发,我们看到了几种可能的方法,可以在我们上述实验的基础上进行构建。例如,与其要求在 Paymaster 智能合约中内置自定义的新 ERC-20 代币,不如轻松地将 Paymaster 与现有的 ERC-20 代币(例如 USDC)集成。这种方法需要使用外部来源来确定代币价格,并检查 Paymaster 合约是否已批准向用户收取指定代币的费用。一种方法是部署一个链下预言机服务,该服务可以提供代币价格等必要信息,以及 Paymaster 合约可以验证的签名。

展望未来

无处不在的每个人的支付创新