---
title: "什么是 Ethereum Pectra 升级？11 个 EIP 开发者指南"
description: "Ethereum Pectra 升级打包了 11 个 EIP，涵盖智能钱包功能、质押机制和 rollup 数据效率。了解具体变化及其意义。"
---

# 什么是 Ethereum Pectra 升级？11 个 EIP 开发者指南

**Pectra** 升级（Prague + Electra）是 Ethereum 的下一次主要硬分叉，也是按包含的 EIP 数量计算规模最大的一次**升级**，已于 2025 年 5 月 7 日上线。它捆绑了 **11 个 EIP**，涉及范围从[智能钱包功能](/smart-wallets)到质押机制，再到 [rollup](/rollups) 数据效率等各个方面。下面我们逐一拆解每一项改进，说明**具体改变了什么**以及**对你作为开发者有什么影响**——无论你是在部署应用、智能合约，还是自己的链。

## 关键 EIP 一览

Ethereum **Pectra** 中即将到来的 EIP 有哪些？我们来逐一拆解。

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 150, title: "EIP", dataType: "object" },
      { key: "2", width: 800, title: "Description", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>EIP-7702</p>", tooltip: "", icon: "" },
        "2": { title: "<p>将 EOA 升级为智能钱包，支持交易打包、gas 代付、会话密钥、资产恢复、passkeys</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>EIP-7691</p>", tooltip: "", icon: "" },
        "2": { title: "<p>提升 blob 容量，将最大 blob 数量从 3/6 翻倍至 6/9，从而提升 rollup 可扩展性并降低交易费用</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>EIP-7251</p>", tooltip: "", icon: "" },
        "2": { title: "<p>将每个验证者的最大质押量从 32 ETH 提高到 2048 ETH，实现奖励自动复利，降低网络负载并提升质押效率</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>EIP-7623</p>", tooltip: "", icon: "" },
        "2": { title: "<p>提高 rollup 的 calldata 成本，鼓励其专用 blob，同时保持普通 L1 用户的成本稳定</p>", tooltip: "", icon: "" },
        id: 3,
      },
      {
        "1": { title: "<p>EIP-7002</p>", tooltip: "", icon: "" },
        "2": { title: "<p>支持通过执行层进行验证者提款，使无需信任的质押池成为可能，减少提款和奖励对中介的依赖</p>", tooltip: "", icon: "" },
        id: 4,
      },
      {
        "1": { title: "<p>EIP-7685</p>", tooltip: "", icon: "" },
        "2": { title: "<p>支持执行层与共识层之间的直接通信，智能合约现在可以直接交互</p>", tooltip: "", icon: "" },
        id: 5,
      },
      {
        "1": { title: "<p>EIP-2537</p>", tooltip: "", icon: "" },
        "2": { title: "<p>使 BLS 签名和 zk 证明等操作更快、更便宜，降低 rollup、桥和隐私类应用的 gas 成本</p>", tooltip: "", icon: "" },
        id: 6,
      },
      {
        "1": { title: "<p>EIP-2935</p>", tooltip: "", icon: "" },
        "2": { title: "<p>将链上区块历史扩展到 8,192 个区块，支持无状态客户端，并改善 rollup 与跨链应用的无需信任访问</p>", tooltip: "", icon: "" },
        id: 7,
      },
      {
        "1": { title: "<p>EIP-6110</p>", tooltip: "", icon: "" },
        "2": { title: "<p>通过将存款直接记录在区块中来加快验证者激活速度，缩短等待时间并提升质押效率</p>", tooltip: "", icon: "" },
        id: 8,
      },
      {
        "1": { title: "<p>EIP-7549</p>", tooltip: "", icon: "" },
        "2": { title: "<p>优化验证者签名聚合，大幅降低验证成本，支持高效的轻客户端，并改善 zk 证明生成</p>", tooltip: "", icon: "" },
        id: 9,
      },
      {
        "1": { title: "<p>EIP-7840</p>", tooltip: "", icon: "" },
        "2": { title: "<p>通过在执行层配置中正式定义 blob 容量，改善 blob 的可配置性，实现准确的费用预测并使未来升级更加平滑</p>", tooltip: "", icon: "" },
        id: 10,
      },
    ],
  }}
/>

## 智能 EOA（EIP-7702）：钱包获得“超能力”

[EIP-7702](/blog/account-kit-now-supports-eip-7702) 允许普通的外部账户（EOA）在一笔交易期间**临时执行智能合约代码**。具体来说，它引入了一种新的交易类型，EOA 可以附加并运行字节码，而**不会永久变成**合约。可以把它想象成你的普通钱包在某一笔交易中突然具备了完整智能合约钱包的行为能力。这次升级被称为 Ethereum 钱包的[“iPhone 时刻”](https://x.com/binji_x/status/1874422577298620428)[](https://x.com/binji_x/status/1874422577298620428)——极大地扩展了钱包的能力，远超发送 ERC-20 代币或调用合约。它与目前主流的账户抽象（AA）标准 [ERC-4337](/overviews/what-is-account-abstraction) 兼容，因此现有钱包无需创建新地址、转移资产即可变为[智能钱包](/smart-wallets)。

### 对应用和钱包开发者的影响

对于**已有用户**的应用和钱包开发者来说，EIP-7702 意义重大。它在协议层面直接解锁了更好的用户体验流程（批量交易、无 gas 体验、社交恢复逻辑、多签认证等）。[钱包提供方](/overviews/eip-7702-metamask-and-wallets)可能需要集成这种新的交易类型，并为这些“智能账户”功能提供 UI。

对于面向**全新用户**上线的应用，建议选择 ERC-4337 以获得最佳的安全性和功能。详细建议参见[本指南](/overviews/eip-7702-ethereum-pectra-hardfork)。

<ImageBlock
  src="https://media.alchemy.com/1746545449-image-4.png"
  alt="信息图:概述 EIP-7702 如何让 EOA 执行智能合约代码"
  width={2048}
  height={2048}
  caption="Ethereum Pectra EIP-7702 摘要"
/>

### 对智能合约开发者的影响

对于**智能合约开发者**，需要注意一些旧有假设已不再成立。依赖 `tx.origin` 来确认调用方是 EOA 的合约（一种反重入或反机器人模式）将不再有效。

在 7702 之下，一个 EOA **既是** `tx.origin`，**又**可以发起内部调用——这意味着 `tx.origin == msg.sender` 检查已无法可靠地区分“外部调用”与“内部调用” 。如果你的代码使用了这种模式，建议进行更新。反过来，你现在可以设计合约来应对 EOA 更复杂的交易逻辑——例如，某个 dApp 可以假设用户会把授权和操作打包在一起，并针对这一点进行优化。

另外，如果你计划使用 `EXTCODESIZE==0`（`EXTCODESIZE` 是一个返回账户代码大小的操作码），请记住在 7702 之后 `EXTCODESIZE` 将返回非零值，因此强制执行 `EXTCODESIZE==0` 检查会拦截所有使用 7702 的钱包。

<CalloutBlock>

**提醒**：在此之前，[绕过合约大小检查](https://www.cyfrin.io/glossary/bypass-contract-size-check-hack-solidity-code-example)本来就是可行的——通过合约构造函数中的外部调用即可实现，因为在合约创建过程结束之前，该合约地址上并不存在任何代码，因此返回值为零。

</CalloutBlock>

我们随时为你集成 EIP-7702 提供帮助。了解[智能钱包功能](/smart-wallets)，阅读 [EIP-7702 实现指南](https://www.alchemy.com/docs/wallets/transactions/using-eip-7702)，或就集成问题[联系我们](/contact-sales)。

## 数据可用性与 rollup 可扩展性（EIP 7691、7623、7840）

[**Rollup 开发者**](/rollups)，这一部分是为你准备的。Pectra 对 Ethereum 数据可用性层进行了升级，这将直接影响 L2 的吞吐量和成本。总体思路是**“使用 blob，而不是 calldata，并且用得更多！”**——延续 proto-danksharding（Dencun 中的 [EIP-4844](https://www.eip4844.com/)）的势头，让 rollup 变得更便宜、更高效。

### EIP-7691：将每区块 blob 容量翻倍

**具体改变：**

EIP-7691 提升了 Ethereum 每个区块可承载的 blob 容量，将目标 blob 数量从 3 翻倍到 **6**，并将允许的最大数量从 6 提高到 **9**。它还对与 blob 相关的费用机制做了微调：当区块满载时，blob 基础费用的上涨幅度会略微降低（约上涨 8.2%），而当 blob 稀缺时，下降幅度会更明显（约下降 14.5%）。这确保了即使 blob 容量扩大，费用依然保持稳定和可预测。

**影响：**

这直接使 rollup 受益，让它们能在每个 Ethereum 区块中包含两倍的数据量。实际上，rollup 可以选择提升交易吞吐量、降低费用，或两者兼顾。使用 Optimistic 或 [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups) rollup 等 L2 方案的用户应该会看到交易费用明显降低，或性能明显提升，因为数据可用性成本对整体交易费用有重大影响。

### EIP-7623：提高 calldata 成本以推动 rollup 转向 blob

**具体改变：**

EIP-7623 有针对性地提高了交易 calldata 的 gas 成本。在 blob 出现之前，rollup 通常将压缩数据直接存储在 calldata 中，这种方式曾一度受到 Ethereum 的激励。现在，Ethereum 通过让 calldata 相对昂贵来鼓励 rollup 将其数据存储完全迁移到 blob。

**影响：**

这种经济上的引导旨在推动 rollup 摆脱低效的 calldata 使用方式，转向专用的 blob 存储层。打个比方，把 Ethereum 区块想象成行李箱：普通交易就像常规行李，而大量的 calldata则像是往里塞保龄球。EIP-7623 意味着塞“保龄球”的人需要支付高得多的费用，从而激励大家使用 blob 这个 Ethereum 专用的数据舱。

Rollup 开发者必须相应更新其系统。仍在使用 calldata 作为数据可用性方式的老旧 rollup 需要完全迁移到 blob，否则将面临大幅上升的运营成本。普通的智能合约和标准 Ethereum 交易由于 calldata 使用量极小，基本不受影响。

### EIP-7840：可配置的 blob 参数（面向未来）

**具体改变：**

EIP-7840 在客户端配置中引入了一个新的对象“blob schedule”。以前每次分叉都需要将 blob 相关参数（如每区块的目标和最大 blob 数）硬编码，现在这些设置可以通过配置文件调整，从而实现更简便、更可预测的网络调优。

在客户端配置文件中扩展 `blobSchedule` 对象，结构如下：

<CodeSnippet
  language="json"
  code={`
"blobSchedule": {
  "cancun": {"target": 3,"max": 6,}
  "prague": { "target": 6, "max": 9 },
  "osaka":   { "target": 12, "max": 16},
  ...
}`}
/>
当当前分叉没有明确配置时，使用上一个指定分叉的值。如果没有指定过任何值，则将两者都设为零。

**影响：**

这一改变简化了未来的调整。例如，在后续升级中再次提高 blob 容量时，不再需要大量的代码改动——只需简单调整配置即可。这为 rollup 和 Ethereum 核心开发者提供了更大的灵活性，也使 Ethereum 的扩容路径更透明、更易维护。

运营节点或基础设施的开发者应确保其执行客户端在升级后正确包含这些 blob 参数。应用开发者不会立即感受到直接影响，但会间接受益于 Ethereum 数据可用性层更平滑、更可预测的扩容效果。

如果你有兴趣部署 rollup，或对相关收益有疑问，欢迎[联系我们](/contact-sales-rollups)。

## 质押与验证者升级（EIP 7251、7002、6110、7549、7685）
**具体改变：**

Pectra 升级为 Ethereum 质押引入了几项关键改进。验证者现在最多可持有 **每个验证者 2048 ETH**（EIP-7251），降低了复杂度并支持奖励自动复利。验证者现在可以直接从执行层发起退出（EIP-7002），存款激活速度更快（约 13 分钟，此前需数小时），这得益于更简化的处理流程（EIP-6110），认证签名的效率大幅提升（验证次数减少约 60 倍，EIP-7549），并且建立了执行层与共识层之间的标准化通信通道（EIP-7685）。

**为什么重要：**

这些改变共同提升了质押体验，使验证者操作更简单、更安全、扩展性大幅提升。更少数量的验证者管理更大的质押量，意味着更少的运营开销和更高的网络效率。执行层退出提升了验证者的安全性和去中心化程度，而更快的存款处理改善了用户体验。跨层通信的标准化也为未来更平滑的升级奠定了基础。

**对开发者的影响：**

基础设施和质押池开发者必须调整其工具和工作流程，以适应更大的验证者质押量、执行层触发的退出，以及更精简的认证流程。客户端和节点运营者将受益于更低的复杂度和更高的网络效率，但需要相应更新软件。普通 dApp 开发者受到的直接影响很小，但会间接受益于网络性能和稳定性的提升。

## 密码学与历史数据增强（EIP 2537 与 2935）
**具体改变：**

EIP-2537 为 Ethereum 添加了原生的 BLS12-381 椭圆曲线预编译，使 BLS 签名验证和 zk-SNARK 证明等操作的成本大幅降低。此前，这类复杂的密码学检查在智能合约中的成本高得令人却步。EIP-2935 将 Ethereum 的 BLOCKHASH 历史记录从约 1 小时（256 个区块）扩展到约 27 小时（8192 个区块），使合约能够在链上直接引用近期的历史区块。

**为什么重要：**

EIP-2537 使开发者能够直接在 Ethereum 上以显著更低的 gas 成本构建先进的密码学应用——例如 zk-rollup、链上轻客户端证明、无需信任的桥，以及隐私保护合约。同时，EIP-2935 解决了 Ethereum “短期记忆”的限制，支持需要可靠链上历史引用的场景，如增强型随机数生成、可验证证明以及 rollup 欺诈证明。

**对开发者的影响：**

智能合约开发者获得了强大、高效的链上密码学工具（EIP-2537），以及更广泛的近期历史数据访问能力，可用于合约逻辑（EIP-2935）。涉及先进密码学方案的应用——如使用聚合 BLS 签名的 [DAO](https://www.alchemy.com/dapps/top/daos)、基于 zk 的隐私应用，或链上验证系统——的实现将变得容易得多。此外，依赖近期区块哈希进行随机数生成或验证的合约，现在可以可靠地访问链上数据，从而简化设计并减少对外部依赖。

## 常见问题

### Ethereum Pectra 升级什么时候进行？

Pectra 升级已于 2025 年 5 月 7 日上线。与以往的 Ethereum 硬分叉一样，具体时间取决于出块速率，但生态系统参与者和开发者应在此目标日期之前做好系统准备。

### pectra 升级的主要特性有哪些？

Pectra 的突出特性包括：

- 为普通钱包提供临时的智能合约能力（EIP-7702），被称为 Ethereum 钱包的“iPhone 时刻”
- 将每个区块的 blob 容量从 3 翻倍到 6，使 rollup 更高效、更具成本效益
- 将最大验证者容量从 32 ETH 提高到 2048 ETH，简化验证者操作
- 增加对 BLS12-381 密码学的原生支持，使高级密码学应用在链上变得可行
- 将区块历史引用范围从约 1 小时扩展到约 27 小时，增强智能合约功能

### pectra 升级将如何影响 Ethereum 开发者？

Pectra 的影响因开发者关注点不同而各异：

- 应用和钱包开发者通过 EIP-7702 的智能账户功能获得强大的用户体验能力
- 智能合约开发者需要审查依赖 `tx.origin` 检查或 `EXTCODESIZE==0` 假设的代码
- Rollup 开发者应完全从 calldata 迁移到 blob，以获得最佳成本效益
- 基础设施提供方需要更新客户端以支持新的 blob 参数和验证者操作
- 密码学应用开发者现在可以实现此前不切实际的 zk-SNARK 和 BLS 签名方案

### pectra 与 dencun 等以往的 Ethereum 升级有何不同？

Pectra 建立在 Dencun 的 proto-danksharding 基础之上，但采取了更广泛的方式。Dencun 主要聚焦于引入 blob 用于数据可用性（EIP-4844），而 Pectra 同时涉及 Ethereum 协议的多个方面。它大幅增强了钱包功能、优化了质押经济学、将 blob 容量翻倍，并引入了原生密码学运算。这种全面的范围使 Pectra 成为按包含 EIP 数量计算 Ethereum 规模最大的一次升级，触及的协议层面比 Dencun、Shanghai 或 Paris 等以往升级更多。

## 让每个人都能拥有更好的链上未来

**Pectra 升级**为 Ethereum 带来了实质性的改进，带来了更智能的钱包、可扩展的质押、强大的密码学能力，以及增强的数据可用性。对开发者而言，这意味着更强大的工具、更简单的操作，以及在构建下一代去中心化应用时更大的灵活性。这是一次意义重大的进步——助力你打造更好的用户体验、更强大的解决方案，并最终推动一个更健康的 [Ethereum 生态系统](https://www.alchemy.com/dapps/ecosystem/ethereum)。

**探索资源**

- **Rollups** - 了解 [World 和 Degen 如何扩展到数百万用户](/case-studies/scaling-world-chain)，并联系团队[获取访问权限](/contact-sales-rollups)
- **EIP-7702** - 查看[入门指南](/overviews/eip-7702-ethereum-pectra-hardfork)，了解如何[开始集成](/blog/account-kit-now-supports-eip-7702)。
- **账户抽象** - [了解 AA](/overviews/what-is-account-abstraction)，以及 Azuki 如何借此让 330 万动漫爱好者上链。

我们随时为你利用所有这些升级、构建成功的链上应用提供帮助。

[联系我们的团队](/contact-sales)，一起构建吧！
