📢 #Gate广场征文活动第二期# 正式启动!
分享你对 $ERA 项目的独特观点,推广ERA上线活动, 700 $ERA 等你来赢!
💰 奖励:
一等奖(1名): 100枚 $ERA
二等奖(5名): 每人 60 枚 $ERA
三等奖(10名): 每人 30 枚 $ERA
👉 参与方式:
1.在 Gate广场发布你对 ERA 项目的独到见解贴文
2.在贴文中添加标签: #Gate广场征文活动第二期# ,贴文字数不低于300字
3.将你的文章或观点同步到X,加上标签:Gate Square 和 ERA
4.征文内容涵盖但不限于以下创作方向:
ERA 项目亮点:作为区块链基础设施公司,ERA 拥有哪些核心优势?
ERA 代币经济模型:如何保障代币的长期价值及生态可持续发展?
参与并推广 Gate x Caldera (ERA) 生态周活动。点击查看活动详情:https://www.gate.com/announcements/article/46169。
欢迎围绕上述主题,或从其他独特视角提出您的见解与建议。
⚠️ 活动要求:
原创内容,至少 300 字, 重复或抄袭内容将被淘汰。
不得使用 #Gate广场征文活动第二期# 和 #ERA# 以外的任何标签。
每篇文章必须获得 至少3个互动,否则无法获得奖励
鼓励图文并茂、深度分析,观点独到。
⏰ 活动时间:2025年7月20日 17
多链账户抽象:ERC-4337与原生AA技术对比分析
多链账户抽象:加密基础设施的新方向
2024年7月8日至11日,欧洲规模最大的以太坊年度活动——以太坊社区会议(EthCC)在比利时布鲁塞尔举行。本届会议(EthCC 7)汇聚了超过350名区块链行业一线的意见领袖。一位区块链开发者在会上发表了题为"揭示未来:多链账户抽象解析"的演讲。
演讲重点包括:
账户抽象(AA)的两个核心:签名抽象和支付抽象。前者让用户可选择任意验证机制,后者允许多种交易支付选项,从而提供更安全、便捷的用户体验。
ERC-4337和原生AA在验证和执行阶段的入口点函数设计有所不同。各实现方案在验证交易限制和执行步骤上也各有特点。
在EVM兼容链上实施ERC-4337时,需要注意Rollup设计导致的协议差异,以及地址计算方式的差异,这些细节可能影响L1和L2之间的实现。
账户抽象概述
账户抽象(AA)主要包含两个关键点:
签名抽象:用户可选择任意验证机制,不局限于特定数字签名算法。
支付抽象:用户可使用多种交易支付选项,如用ERC-20代币支付,或由第三方赞助交易。
这种灵活性可提供更安全、优化的用户体验。AA旨在通过多种方式实现这两个核心目标。
ERC-4337简介
目前以太坊协议中的外部拥有账户(EOA)存在一些限制,如固定的签名方法和支付设计。ERC-4337通过引入更灵活的账户管理和交易处理方法来解决这些问题。
主要特点:
userOp结构:用户将userOp结构发送给Bundler,后者收集多个userOp并调用EntryPoint合约的handleOps函数。
EntryPoint合约:类似操作系统处理交易,主要功能包括:
原生AA简介
在原生AA中,每个账户都是一个合约,交易处理机制直接嵌入区块链协议。
不同区块链网络的AA设计:
ERC-4337与原生AA的差异
AA操作系统需要解决:Gas定价、交易排序、入口点函数触发、交易处理流程等问题。
ERC-4337通过Bundler和EntryPoint Contract协同完成这些任务。原生AA中,用户将userOps发送给官方服务器的操作员/排序器。
不同实现的账户合约接口相似,都包含验证、支付、执行三个步骤。ERC-4337和原生AA中,"验证"阶段的入口点函数是固定的,而"执行"阶段只有原生AA的入口点是固定的。
为防止DoS攻击,各实现对验证交易设置了不同限制。如EIP-4337定义了禁用操作码和存储访问限制,zkSync Era则放宽了部分OpCode使用。
zkSync要求确认系统标志才能执行系统调用。ERC-4337和StarkNet的执行阶段没有特殊限制。
ERC-4337区分了192位密钥值和64位随机数值。zkSync和StarkNet采用严格递增的nonce。
ERC-4337在userOp结构中包含initcode字段,用于首次userOp部署账户合约。StarkNet和zkSync则要求用户首笔交易发送给操作员/排序器来部署账户合约。
L1和L2的ERC-4337差异
在EVM兼容链上实施ERC-4337存在两个关键区别:
Rollup设计中,L2需将数据上传至L1以确保安全和结算。相关费用(如L1安全费、blob费用)应包含在预验证Gas中,但确定适当的上传费用是一大挑战。
不同链的地址计算方式存在差异。例如,zkSync ERA的create函数中的地址编码方式与以太坊和OP汇总不同,StarkNet则使用独特的哈希函数计算地址。
值得注意的是,硬分叉中新增的操作码可能导致字节码变化,进而影响账户合约地址的一致性。例如,如果L2链不支持上海硬分叉且编译时未指定EVM版本,push0的引入会改变字节码,即便Solidity代码相同。
请用中文风格帮我针对这个内容生成一个评论