Skip to main content

v2.4


Key InformationDetails
VersionConflux v2.4.0
Hardfork IntroducedYes
Incompatible ChangesYes (CIP-130, CIP-131, CIP-132, CIP-133, CIP-136, CIP-137, CIP-141, CIP-142, CIP-143, CIP-144, CIP-145, and CIP-1559)

Introduction

Conflux v2.4.0 is a hardfork introducing incompatible protocol changes including transaction fee changes, bug fixes, EVM Opcode changes

Upgrade Overview

  • Transaction fee model changes (CIP-1559 and CIP-137) (Check base fee for the detailed explanation)
    • The concept "base fee per gas" and relating mechanisms are introduced.
    • Part of the base fee will be paid to miner, which ratio is determined by on-chain DAO vote with initial ratio set to 0.5.
  • New transaction formats supported
    • Core Space: A Conflux verison Typed Transaction Envelope is implemented in the format of b'cfx' || TransactionType || TransactionPayload
    • Core Space: Type-1 transaction (Optional access list) FORMAT is defined and supported. Note: Conflux only provides limited support for access list field, resulting in solely format support without actual gas deduction.
    • Core Space: Type-2 transaction (dynamic fee) is defined and supported. Similar to EIP-1559, the type-2 transactions have field maxFeePerGas and maxPriorityFeePerGas in substitute of gasPrice field.
    • eSpace: Typed Transaction Envelope is supported.
    • eSpace: Type-1 transaction (EIP-2930: Optional access lists) FORMAT is supported. Note: Conflux only provides limited support for access list field, resulting in solely format support without actual gas deduction.
    • eSpace: Type-2 transaction format defined by EIP-1559 is supported.
  • Block gas limit changes:
    • The block gas limit doubles from previous 30,000,000 to 60,000,000.
    • The mechanism of how core space and espace share the block gas limit changes (Check spaces): previously, the espace block will occupy core space block gas limit on specific heights, while after the hardfork, the core space and espace will have divided block gas limit budget.
    • The meaning of the block gas limit changes (got via cfx_getBlockByHash or other block query rpcs). It does not present the value of core space or espace block gas limit but derives them, with core space gas block limit calculated as 0.9 * block_gas_limit and espace block gas limit calculated as 0.5 * block_gas_limit.
  • RPC Changes
    • Transaction Query RPCs (cfx_getTransactionByHash, eth_getTransactionByHash, etc): New fields type
    • Transaction Receipt Query RPCs (cfx_getTransactionReceipt, eth_getTransactionReceipt, etc):New fields type, effectiveGasPrice, burntGasFee(NOTE: this fields is also added for espace transaction receipts)
    • The gasUsed field returned by eth_getTransactionReceipt previously represented gasCharged. Now, it reflects the actual gasUsed. If you previously calculated the transaction gas fee using gasUsed * gasPrice, you need to adjust it to max(gasUsed, 3/4 * gasLimit) * gasPrice.
    • eth_sendTransaction: New supported params: type, accessList, maxPriorityPerGas, maxFeePerGas
    • cfx_getParamsFromVote: New return field baseFeeShareProp
    • New RPCs
      • cfx_maxPriorityFeePerGas, eth_maxPriorityFeePerGas
      • cfx_feeHistory, eth_feeHistory
      • cfx_getFeeBurnt
  • VM opcode changes
    • Enhances BLOCKHASH opcode capability.
    • Disables BEGIN_SUB (0x5c), RETURN_SUB (0x5d), and JUMP_SUB (0x5e) (CIP-141).
    • Introduces BASEFEE(0x48), MCOPY (0x5e), TLOAD(0x5C) and TSTORE(0x5D).
  • New precompile contracts(CIP-144)
  • Bug fixes

CIP List

CIP-130

CIP-130 Aligning Gas Limit with Transaction Size introduces a rule requiring a transaction's gas limit to be no less than 100 times the byte size of its call data to rectify a pricing imbalance and ensure fair resource allocation and efficient block utilization within the Conflux network.

CIP-131

CIP-131 Retain Whitelist on Contract Deletion suggests removing the feature that clears the contract whitelist upon contract deletion, due to identified bugs and its limited use in the Conflux blockchain.

CIP-132

CIP-132 Fix Static Context Check for Internal Contracts aims to fix a bug in Conflux's internal contracts by ensuring that functions without the view keyword correctly identify and reject calls originating from any static context.

CIP-133

CIP-133 Enhanced Block Hash Query aims to improve the block hash query capability in the Conflux network by expanding the range to 65,536 blocks and addressing current limitations and inaccuracies in block hash retrieval.

CIP-136

CIP-136 Increase the PoS Lock/Unlock/Retire Periods suggests increasing the PoS lock/unlock/retire periods back to their original values before CIP113, which are 13 days for locking, 1 day for unlocking, and 3 hours for force retiring.

CIP-1559

CIP-1559 Fee market change for Conflux aims to introduce a tailored version of Ethereum's EIP-1559 fee structure to the Conflux network, accounting for its unique dual space structure, tree-graph consensus mechanism, and random transaction packing.

CIP-137

CIP-137 Base Fee Sharing in CIP-1559 aims to adjust the transaction fee distribution under the Conflux CIP-1559 update, allowing a portion of the base fee to be shared with miners, as determined by the DAO vote.

CIP-141

CIP-141 Disable Subroutine Opcodes proposes disabling the subroutine opcodes BEGIN_SUB (0x5c), RETURN_SUB (0x5d), and JUMP_SUB (0x5e) from the withdrawn EIP-2315 to align Conflux with Ethereum's opcode standards set by EIP-1153 and EIP-5656.

CIP-143

CIP-143 MCOPY (0x5e) Opcode for Efficient Memory Copy proposes introducing the MCOPY (0x5e) opcode for efficient memory copy, aligning with Ethereum's EIP-5656 to ensure compatibility with the newest EVM standards.

CIP-144

CIP-144 Point Evaluation Precompile from EIP-4844 proposes introducing the KZG point evaluation precompiled contract from EIP-4844 to Conflux, enhancing compatibility with Ethereum's latest standards.

CIP-145

CIP-145 Fix Receipts upon NotEnoughBalance Error proposes fixing the gas_sponsored field in transaction receipts when a transaction fails due to the sender not having enough balance, ensuring accurate reflection of the gas sponsorship status.

Releases

Testnet

Key InformationDetails
ReleaseConflux v2.4.0-testnet Pre-release
AnouncementConflux v2.4.0-testnet Testnet Hardfork Upgrade Announcement(20240611)
Deadlines
  • Node Upgrade: Before epoch number reaches 175600000 (estimated on June 13th 2024)
  • CIPs Activation: When block number reaches 226570000 (estimated on June 14th 2024)
  • CIP-136 Activation: When PoS block number reaches 1685544 (estimated on June 14 2024)

Mainnet

Key InformationDetails
ReleaseConflux v2.4.0
AnouncementConflux v2.4.0 Network Hardfork Upgrade Announcement(20240628)
Deadlines
  • Node Upgrade: Before epoch number reaches 101900000 (estimated on Aug 6th 2024)
  • CIPs Activation: When block number reaches 247480000 (estimated on Aug 13 2024)
  • CIP-136 Activation: When PoS block number reaches 1684080 (estimated on Aug 13 2024)