v2.4
Key Information | Details |
---|---|
Version | Conflux v2.4.0 |
Hardfork Introduced | Yes |
Incompatible Changes | Yes (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
andmaxPriorityFeePerGas
in substitute ofgasPrice
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.
- Core Space: A Conflux verison Typed Transaction Envelope is implemented in the format of
- Block gas limit changes:
- The block gas limit doubles from previous
30,000,000
to60,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 as0.9 * block_gas_limit
and espace block gas limit calculated as0.5 * block_gas_limit
.
- The block gas limit doubles from previous
- RPC Changes
- Transaction Query RPCs (
cfx_getTransactionByHash
,eth_getTransactionByHash
, etc): New fieldstype
- Transaction Receipt Query RPCs (
cfx_getTransactionReceipt
,eth_getTransactionReceipt
, etc):New fieldstype
,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 usinggasUsed * gasPrice
, you need to adjust it tomax(gasUsed, 3/4 * gasLimit) * gasPrice
. eth_sendTransaction
: New supported params:type
,accessList
,maxPriorityPerGas
,maxFeePerGas
cfx_getParamsFromVote
: New return fieldbaseFeeShareProp
- New RPCs
cfx_maxPriorityFeePerGas
,eth_maxPriorityFeePerGas
cfx_feeHistory
,eth_feeHistory
cfx_getFeeBurnt
- Transaction Query RPCs (
- VM opcode changes
- Enhances
BLOCKHASH
opcode capability. - Disables
BEGIN_SUB (0x5c)
,RETURN_SUB (0x5d)
, andJUMP_SUB (0x5e)
(CIP-141). - Introduces
BASEFEE(0x48)
,MCOPY (0x5e)
,TLOAD(0x5C)
andTSTORE(0x5D)
.
- Enhances
- 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 Information | Details |
---|---|
Release | Conflux v2.4.0-testnet Pre-release |
Anouncement | Conflux v2.4.0-testnet Testnet Hardfork Upgrade Announcement(20240611) |
Deadlines |
|
Mainnet
Key Information | Details |
---|---|
Release | Conflux v2.4.0 |
Anouncement | Conflux v2.4.0 Network Hardfork Upgrade Announcement(20240628) |
Deadlines |
|