Conflux 网络 Harkfork 升级清单及 RPC 变更概述(20250624)

Conflux 计划在下一次系统 Hardfok 升级中激活并实施包括CIP-150、CIP-151、CIP-152、CIP-154、CIP-156、CIP-165、CIP-645 以及 CIP-7702 共 8 个不同的 CIP(改进提案)的更改以及 RPC 的变更。

相关详情可查看该链接:https://www.confluxdocs.com/docs/general/hardforks/v3.0

CIP更改:

CIP 主要分为以下几类:

  • EVM 兼容:CIP-150, CIP-151, CIP-152, CIP-165, CIP-645, CIP-7702

  • Bug 修复:CIP-154

  • 规范调整:CIP-156

以下是上述 8个 CIP 的概述,供大家交流讨论。

CIP 150

本提案对应 EIP-3541,禁止部署以 0xEF 字节开头的新代码。

CIP 151

本提案对应 EIP-6780,该提案在大多数情况下禁止使用 SELFDESTRUCT 操作销毁合约,唯一的例外是:合约可以在与其创建同一笔交易中被销毁。

CIP 152

本提案对应 EIP-3607,解决了因地址碰撞攻击可能导致外部账户(EOA)与合约共享同一地址的潜在安全问题。为特定用途设计并带有代码的 EOA(如 EIP-7702)不受影响。

CIP 154

本提案修复了 CIP-142 的实现错误,该错误将 TLOAD 操作码错误地实现为 SLOAD

CIP 156

本提案将 PoS 恶意行为的惩罚机制由永久质押没收改为临时锁定质押。

CIP 165

按照 EIP-2537 的定义引入 BLS12-381 曲线操作的预编译合约,用于高效执行 BLS 签名验证等操作。

CIP 645

本提案旨在使 Conflux eSpace 的行为与以太坊 EVM 保持一致,从而兼容以太坊开发工具,并为开发者提供一致的体验。同时也处理了新 EIP 对 Conflux Core Space 的影响。

引入或适配的以太坊 EIP 包括:

描述 链接
EIP-1108:降低 alt_bn128 预编译操作的 gas 成本 EIP-1108
EIP-1884:调整依赖状态树大小的操作码 gas 成本 EIP-1884
EIP-2028:降低 Calldata 的 gas 成本 EIP-2028
EIP-2200:调整 SSTORE 操作的 gas 成本结构 EIP-2200
EIP-2565:降低模幂运算的 gas 成本 EIP-2565
EIP-2929:提高某些操作码的 gas 成本以防御 DDoS 攻击 EIP-2929
EIP-3529:取消 SELFDESTRUCT 的 gas 返还并减少 SSTORE 的返还 EIP-3529
EIP-3651:降低访问 COINBASE 地址的 gas 费用 EIP-3651
EIP-3860:将 initcode 的大小限制为 49152 字节 EIP-3860

此外,本提案还解决了以太坊行为对齐测试中发现的以下差异:

CIP 7702

本提案在 Conflux eSpace 中引入 EIP-7702

RPC 变更

以下 RPC 接口新增对 EIP-7702 交易的支持:

  1. eth_calleth_estimateGas

  2. 与交易相关的 RPC 接口:eth_getTransactionByHasheth_blockByNumbereth_blockByHash

其他变更:

  1. eSpace RPC 的交易回执中支持 gasFee

  2. eSpace 中的 block.gasLimit 修改为共识 gas 限额的一半,新增 block.espaceGasLimit 以返回 eSpace 交易的真实 gas 限额

  3. eSpace Parity 风格的 trace RPC 接口更新:

    a. Trace RPC 方法现在兼容 Parity 和 Erigon,包括 trace_blocktrace_transactiontrace_filter,这是一次 API 不兼容变更

    b. 新增两个 RPC 接口:trace_gettrace_blockSetAuth

    c. trace_blockSetAuth 是 Conflux 特有的 RPC,用于获取区块设置授权结果,详细信息请查阅 trace 文档

    d. 这些 trace 方法现在支持 SelfDestruct(Suicide) 追踪,若需访问历史自毁交易数据,需重新同步相关数据

  4. eSpace 现在支持 Geth 风格的 txpool 命名空间方法,包括:txpool_statustxpool_inspecttxpool_contenttxpool_contentFrom

  5. eth_calleth_estimateGas 增加对 stateoverride 功能的支持