EIP 笔记合集

EIP 索引总览 这里收录所有值得单独成文的里程碑级EIP 每篇深度拆解一份EIP的诞生背景技术细节安全影响落地历程社区争议及后续演进 点击标题直达对应专文 简介 EIP(Ethereum Improvement Proposal)是以太坊改进提案 任何人都能提交的标准化文档 驱动以太坊从创世区块到今天的唯一正式机制 ERC只是EIP的应用层子集 所有硬分叉升级Layer2变革账户抽象都源于EIP 账户抽象时代 EIP-4337 无私钥账户抽象:2023年真正落地版本(已完稿) EIP-3074 AUTH与AUTHCALL:被废弃的账户抽象先驱(待撰写) EIP-5003 代码注入式账户抽象(待撰写) EIP-7702 新账户抽象终极方案(2025进行中)(待撰写) 费用市场与通缩 EIP-1559 基础费燃烧:让ETH成为超声波货币(待撰写) EIP-4844 Proto-Danksharding:Rollup费用暴跌90%(待撰写) EIP-7514 减缓质押增长:保护去中心化(待撰写) 质押与提款 EIP-4895 质押提款:上海升级核心(待撰写) EIP-7002 部分提款与主动退出(待撰写) EIP-6110 链上质押存款(待撰写) EVM与执行层未来 EIP-7691 EOF:EVM容器化革命(2026目标)(待撰写) EIP-7623 提高CALLDATA成本为Danksharding铺路(待撰写) EIP-4444 历史数据过期机制(待撰写) EIP-5656 MCOPY指令:降低内存拷贝成本(待撰写) 数据可用性与Layer2 EIP-4844 Blob交易与Danksharding路线图(待撰写) EIP-7594 PeerDAS:对等数据可用性采样(待撰写) EIP-6465/6466 Blob历史过期方案(待撰写) 其他正在关注的EIP EIP-7732 EIP-7702+ERC-7730安全增强版(待撰写) EIP-2537 BLS预编译:加速零知识证明(待撰写) EIP-5920 PAY opcode:原生转账新方式(待撰写) EIP-6780 自毁仅限创建交易:提升状态管理(待撰写) 更多EIP专文持续更新中 目前仅EIP-4337已完稿,其余陆续放出 每一篇都是以太坊进化史的真实注脚

December 1, 2025 · 1 min · 65 words · Guangyang Zhong

EIP-4337

摘要 引入 UserOperation:一种高层“伪交易对象”,替代直接在共识层提交交易 用户将 UserOperation 发送到单独的 mempool Bundler 将多个 UserOperation 打包,通过 handleOps 调用 EntryPoint 合约,再打包进区块 目标是在不修改以太坊底层协议的情况下,实现账户抽象 动机 实现账户抽象 允许使用智能合约账户作为主账户,支持任意验证逻辑。 用户无需拥有外部账户(EOA)。 去中心化与开放参与 任何 bundler 都可参与交易打包。 依赖公共 mempool,无需用户直接知晓 bundler 地址。 不增加信任假设。 无需共识层修改 避免协议层改动,提高快速部署的可能性。 支持更多应用场景 隐私保护型应用 原子多操作 使用 ERC-20 代币支付手续费或开发者代付 灵活的验证逻辑(不同签名方案、多签、恢复方案) 灵活的手续费支付(第三方支付、跨链支付) 批量操作与打包执行 总结:该提案通过 UserOperation、Bundler 和 EntryPoint 合约实现智能合约账户的完全抽象化,支持多签、代付和批量操作,同时无需修改以太坊共识层 规范 术语定义 术语 定义 UserOperation 一种描述“代表用户发起一笔交易”的数据结构。为避免与原生交易混淆,特意不叫“transaction”。像交易一样,它包含 to、calldata、maxFeePerGas、maxPriorityFeePerGas、nonce、signature。不像交易,它包含以下所述的几个其他字段。特别注意,signature 字段的使用不由协议定义,而是由智能合约账户实现定义 Sender 发起 UserOperation 的智能合约账户 EntryPoint 用于执行 UserOperation 批次的单例合约。Bundler 应白名单支持的 EntryPoint Bundler 一个节点(区块构建者),它能处理 UserOperation、创建有效的 entryPoint.handleOps() 交易,并在交易仍有效时将其添加到区块中。这可以通过多种方式实现:Bundler 可以自己充当区块构建者。如果 bundler 不是区块构建者,它应通过 mev-boost 等基础设施或其他提议者-构建者分离机制与区块构建者合作 Paymaster 同意代替 sender 支付交易费用的辅助合约 Factory 必要时负责部署新 sender 合约的辅助合约 Aggregator 也称为“授权合约” - 一个允许多个 UserOperation 共享一次验证的合约。此类合约的完整设计超出本提案范围 Canonical UserOperation mempool 一个去中心化、无许可的 P2P 网络,bundler 在其中交换符合同一套共享验证规则的合法 UserOperation。具体规则的完整规范超出本提案范围 Alternative UserOperation mempool 任何其他 P2P 内存池,其中 UserOperation 的有效性由不同于共享规则的规则决定,这些规则以任何方式应用于验证代码 Deposit Sender 或 Paymaster 合约向 EntryPoint 合约转入的一笔以太币(或任何 L2 原生货币),用于支付未来 UserOperation 的 gas 费用 UserOperation 结构定义 字段 类型 描述 sender address 发起 UserOperation 的账户 nonce uint256 防重放参数(详见“半抽象 Nonce 支持”) factory address 新账户的账户工厂 OR 0x7702 标志用于 EIP-7702 账户,否则 address(0) factoryData bytes 如果提供 factory,则为账户工厂的数据 OR EIP-7702 初始化数据,或空数组 callData bytes 在主要执行调用期间传递给 sender 的数据 callGasLimit uint256 为主要执行调用分配的 gas 量 verificationGasLimit uint256 为验证步骤分配的 gas 量 preVerificationGas uint256 额外 gas 用于支付 bundler maxFeePerGas uint256 最大 gas 费(类似于 EIP-1559 max_fee_per_gas) maxPriorityFeePerGas uint256 最大优先费(类似于 EIP-1559 max_priority_fee_per_gas) paymaster address paymaster 合约地址(或空,如果 sender 自己支付 gas) paymasterVerificationGasLimit uint256 为 paymaster 验证代码分配的 gas 量(仅当 paymaster 存在时) paymasterPostOpGasLimit uint256 为 paymaster 后操作代码分配的 gas 量(仅当 paymaster 存在时) paymasterData bytes paymaster 的数据(仅当 paymaster 存在时) signature bytes 传入 sender 以验证授权的数据 上链时部分字段会被打包,转变成 PackedUserOperation ...

December 1, 2025 · 7 min · 1476 words · Guangyang Zhong