📢 Gate广场 #创作者活动第一期# 火热开启,助力 PUMP 公募上线!
Solana 爆火项目 Pump.Fun($PUMP)现已登陆 Gate 平台开启公开发售!
参与 Gate广场创作者活动,释放内容力量,赢取奖励!
📅 活动时间:7月11日 18:00 - 7月15日 22:00(UTC+8)
🎁 活动总奖池:$500 USDT 等值代币奖励
✅ 活动一:创作广场贴文,赢取优质内容奖励
📅 活动时间:2025年7月12日 22:00 - 7月15日 22:00(UTC+8)
📌 参与方式:在 Gate 广场发布与 PUMP 项目相关的原创贴文
内容不少于 100 字
必须带上话题标签: #创作者活动第一期# #PumpFun#
🏆 奖励设置:
一等奖(1名):$100
二等奖(2名):$50
三等奖(10名):$10
📋 评选维度:Gate平台相关性、内容质量、互动量(点赞+评论)等综合指标;参与认购的截图的截图、经验分享优先;
✅ 活动二:发推同步传播,赢传播力奖励
📌 参与方式:在 X(推特)上发布与 PUMP 项目相关内容
内容不少于 100 字
使用标签: #PumpFun # Gate
发布后填写登记表登记回链 👉 https://www.gate.com/questionnaire/6874
🏆 奖励设置:传播影响力前 10 名用户,瓜分 $2
多链账户抽象技术详解:加密钱包安全与便利迎来革新
多链账户抽象技术解析:加密基础设施的未来发展方向
2024年7月8日至11日,以太坊社区年度盛会EthCC在比利时布鲁塞尔举行。作为欧洲规模最大的以太坊技术与社区交流活动,本届EthCC邀请了350多位区块链行业一线专家发表演讲。其中,一位区块链开发者就"多链账户抽象"这一主题做了深入阐述。
演讲要点概括如下:
账户抽象(AA)的核心在于签名抽象和支付抽象。前者让用户可灵活选择验证机制,后者则提供多种交易支付选项,从而带来更安全便捷的用户体验。
ERC-4337和原生AA在验证和执行阶段的入口函数设计上存在差异。各自的实现方式对验证交易和执行步骤都有不同的限制。
在EVM兼容链上实施ERC-4337时,需要特别注意Rollup协议差异和地址计算方式差异这两个关键点,它们会导致L1和L2之间实现细节的不同。
以下是演讲的详细内容:
账户抽象技术简介
1. 账户抽象的定义
账户抽象(AA)主要包含两个核心概念:签名抽象和支付抽象。
签名抽象允许用户自由选择验证机制,不再局限于特定的数字签名算法。这意味着用户可以使用更多样化的方式来验证自己的身份和交易,比如生物识别、多重签名等。支付抽象则提供多样化的交易支付方式,如使用ERC-20代币支付或由第三方赞助交易费用。ERC-20代币是以太坊上最常见的代币标准,允许创建可互换的数字资产。这种灵活性可以大幅提升安全性和用户体验。
2. ERC-4337标准解析
目前以太坊的外部拥有账户(EOA)在签名方法和支付设计上存在一些局限性。EOA是由私钥控制的普通用户账户,只能使用固定的签名算法和支付方式。ERC-4337通过引入更灵活的账户管理和交易处理机制来解决这些问题。
ERC-4337的主要特点:
userOp结构:用户将userOp发送给Bundler,后者汇总多个userOp并调用EntryPoint合约的handleOps函数进行处理。userOp是用户操作的缩写,包含了用户想要执行的交易信息。Bundler是一个中间服务,负责收集和打包用户操作。
EntryPoint合约:作为交易处理的"操作系统",主要功能包括:
EntryPoint合约是ERC-4337的核心,它统一了所有账户抽象操作的入口点。
3. 原生AA简介
在原生AA中,每个账户都是一个合约,交易处理机制直接嵌入区块链协议。这意味着账户抽象功能被内置到区块链的底层设计中,而不是作为附加层实现。
目前各区块链网络的AA实现方式:
这些网络中,Arbitrum、Optimism、Base、Linea、Scroll都是以太坊的Layer 2扩展解决方案,旨在提高交易处理速度和降低费用。Polygon PoS是一个侧链网络,为以太坊提供扩展性支持。StarkNet和zkSync Era是使用零知识证明技术的Layer 2解决方案,而Aztec则专注于提供隐私保护功能。
ERC-4337与原生AA的对比分析
1. 系统角色设计
AA系统需要解决以下关键问题:
Gas是以太坊网络中的计算单位,用于衡量执行操作所需的计算资源。内存池是存储待处理交易的临时区域。
ERC-4337通过Bundler和EntryPoint合约协同完成这些功能。而在原生AA中,用户直接将userOps发送给官方服务器的操作员/排序器。
以StarkNet为例,Sequencer负责处理所有这些任务。zkSync Era则由Operator与bootloader(系统合约)配合完成相关工作。Sequencer和Operator都是负责交易排序和执行的节点。
2. 合约接口设计
不同实现中,账户合约接口存在相似之处,均包含以下步骤的入口函数:
ERC-4337和原生AA在"验证"阶段的入口函数是固定的,而"执行"阶段只有原生AA的入口点是固定的。
3. 验证阶段的限制
由于验证交易没有成本限制,可能导致内存池遭受DoS攻击。DoS攻击是指通过大量无效请求来耗尽系统资源,使正常请求无法得到处理。因此各实现对验证阶段都设置了一些限制。
ERC-4337定义了禁用的操作码和存储访问限制。操作码是区块链虚拟机中的指令,用于执行特定操作。zkSync Era则放宽了部分OpCode的使用,但仍限制合约逻辑只能访问自身存储槽,且无法访问全局变量。StarkNet同样不允许外部合约调用。
4. 执行阶段的限制
zkSync要求执行系统调用时确认系统标志,以确保账户开发者有意识地与系统合约交互。系统调用是指请求操作系统核心服务的过程。ERC-4337和StarkNet在执行阶段则没有特殊限制。
5. 随机数处理
各实现在随机数设计上也有差异:
随机数(nonce)在区块链中用于防止交易重放攻击,每次交易都会使用一个新的nonce值。
6. 首次交易部署
部署账户合约是指在区块链上创建一个新的智能合约实例,作为用户的账户。
7. zkSync的特殊设计
zkSync允许用户直接将ETH从以太坊EOA转移到zkSync,无需部署自定义账户合约就能获得一个默认账户。该账户与以太坊EOA地址相同,可像EOA一样运作,由相应的以太坊EOA私钥控制。
L1与L2上ERC-4337实现的差异
在EVM兼容链上实施ERC-4337时,主要存在两个关键差异:
1. 协议差异
Rollup设计中,L2需要将数据上传到L1以保证安全性和结算。L1指主链(如以太坊主网),L2是在L1之上构建的扩展层。在ERC-4337中,与此相关的费用(如L1安全费和blob费用)应包含在预验证Gas中。blob是二进制大对象的缩写,用于存储大量数据。如何在预验证Gas中准确计入这些上传费用是一个重大挑战。
2. 地址差异
zkSync ERA的create函数中地址编码方式与以太坊和OP汇总不同。StarkNet则使用独特的哈希函数计算地址。
在EVM兼容链上,ERC-4337通常假设地址计算在各链上是一致的。然而,硬分叉中新增的操作码可能导致字节码变化,进而引起以太坊和L2中ERC-4337实现的账户合约地址不一致。硬分叉是区块链协议的重大更新,可能导致不兼容的变化。例如,如果L2链不支持上海硬分叉,且编译时未指定EVM版本,push0的引入就会改变字节码。字节码是智能合约的机器级代码,直接被区块链虚拟机执行。