这篇文章详细介绍了以太坊中的“账户抽象”技术,重点阐述了绑定器(Bundler)的作用和工作机制。文章结构清晰,深入探讨了绑定器如何处理用户操作,并分析了它们的经济模型和成本结构。
账户抽象(Account Abstraction, AA) 是一种标准,它描述了使用更高层级的基础设施,使智能合约账户能够成为用户的主要账户类型,而无需对以太坊进行协议级别的更改。
捆绑器是实现智能合约账户代替外部拥有账户(Externally Owned Accounts, EOAs)的基础设施核心组件,EOA 是以太坊钱包目前使用的默认账户类型。
捆绑器是一种特殊节点,它监控用户操作的替代内存池,并将来自多个发送者的用户操作捆绑成一个单一的交易,以便在区块链上执行。
由于 智能合约账户 无法在不原生支持账户抽象的区块链上发起交易,因此它们需要发送一个名为用户操作的伪交易对象。用户操作是一个ABI编码结构,"描述了代表用户发送的交易。"
为了执行用户操作中定义的交易,捆绑器使用他们自己的外部拥有账户(EOA)代表发送者发起交易。由于捆绑器代表发送者发起交易,因此他们会提前支付所需的Gas费用,随后由发送者或如果交易是受赞助的,则由支付者偿还。
根据 ERC-4337 提案 的定义,捆绑器是一种“专门化的演员”,可以由“运行特殊代码的区块构建者,或可以将交易转发给区块构建者的用户”来运行。更广义上说,捆绑器可以是任何一个捆绑多个用户操作并将其发送到单例入口合约的节点。
捆绑器监控等待捆绑成单一交易的 用户操作 的替代内存池。然后捆绑器将来自替代内存池的用户操作打包,并通过调用入口点合约的 handleOps() 函数,将捆绑包发送到入口点合约进行验证和执行。
捆绑器利用他们的外部拥有账户代表发送者发起交易,并负责最初支付执行交易所需的Gas费用。
在入口点验证并执行用户操作的捆绑包后,捆绑器会从发送者的钱包获得偿还,或者在用户操作受到赞助的情况下,由支付者合约偿还。
在我们关于 AA 的 深度剖析 的这个例子中,"捆绑器" 被称为“执行器”,是一个拥有外部拥有账户的节点,展示了多个发送者如何请求捆绑器将他们的用户操作发送到入口点合约。
一旦入口点智能合约收到用户操作,该合约会使用发送者的智能合约钱包上的 validateOp 和 executeOp 函数来验证和执行用户操作,代表发送者。
ERC-4337 捆绑器支付将捆绑包发送到入口点合约的交易费用。入口点将计算每个用户操作使用的Gas,将其乘以计算出的费用,并在用户操作完成后向捆绑器补偿该数额。
此外,捆绑器可能会对通过其捆绑器 API 端点发送的请求收取费用,并在交易是由支付者政策赞助时收取Gas费用的一定百分比。
如果开发者使用 alchemy_requestGasAndPaymasterAndData 和 eth_sendUserOperation 构造并发送受赞助的用户操作到 Alchemy 的 AA 基础设施 API,费用约为 $0.001575 以及由赞助政策覆盖的Gas费用的 8%。
$0.001575 的费用是两个捆绑器 API 端点被调用的总和:
alchemy_requestGasAndPaymasterAndData (1,250 CUs) - 用于估算并填写用户操作参数
eth_sendUserOperation (1,000 CUs) - 用于将用户操作发送到 Alchemy 的捆绑器
以每 1M CUs(计算单位) \$0.70 的费用计算,2,250 CUs 的费用为每个用户操作 \$0.001575。
注意: 这是一个单一示例,可能有其他捆绑器 API 或Gas经理覆盖 API 方法用于构造和发送用户操作,这将影响总的计算单位成本。有关 捆绑器 API 方法的计算单位成本 和 捆绑器 API 收费逻辑 的更多信息可以在我们的文档中找到。
除了捆绑器 CU 成本外,Alchemy 的Gas经理会对赞助用户操作的Gas费用收取 8% 的费用,承担Gas费用,并代表发送者发起交易。
例如,如果赞助的支付者政策覆盖了一笔费用为 \$3.00 美元的交易,Gas经理将收取额外的 \$0.24,使得执行该受赞助交易的总费用为 \$3.24 美元。
账户抽象及其通过智能合约钱包提供的可用性优势,正在简化用户与区块链和去中心化应用程序的交互方式。
以下是一些支持你学习之旅的教育性 ERC-4337 资源:
如果你有兴趣为开源账户抽象项目作出贡献,请探索 EIP-6900,它详细介绍了创建 模块化智能合约账户 和账户插件的标准接口,并为 Alchemy 的开源 AA 软件开发工具包(SDK) 作出贡献。
你还可以在 Alchemy 的捆绑器 API 文档 中阅读更多内容。
- 原文链接: alchemy.com/overviews/wh...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!