v3.0
Key Information | Details |
---|---|
Version | Conflux v3.0.0 |
Hardfork Introduced | Yes |
Incompatible Changes | Yes (CIP-150, CIP-151, CIP-152, CIP-154, CIP-156, CIP-165, CIP-645, CIP-7702) |
Introduction
Conflux v3.0.0 is a hardfork introducing incompatible protocol changes including new type transaction, bug fixes, EVM Opcode changes
This update extensively modifies the EVM implementation details to ensure consistency between eSpace and Ethereum, especially various edge case behaviors and gas cost adjustments, to optimize the development experience for developers and the usage experience of various Ethereum development tools.
Upgrade Overview
- Set code transaction (CIP-7702) in eSpace is now supported. This kind of transactions can set code for EOAs, which means users can now batch transactions, enable social recovery, and pay gas fees in tokens other than native CFX, all without migrating to a new wallet.
- The penalty for PoS malicious behavior from permanent stake forfeiting to temporary stake locking for 6 months.(CIP-156)
- EVM changes: This hardfork introduces a great many changes to the EVM, including new precompile contracts(CIP-165), bug fixes(CIP-154, CIP-645), and behavior alignments with Ethereum to enhance the development experience(CIP-150, CIP-151, CIP-152, CIP-645).
- RPC changes:
- Supports for CIP-7702 changes:
- Transaction Query RPCs(
eth_getTransactionByHash
,eth_getBlockByHash
,eth_getBlockByNumber
): fieldauthorizationList
is added to the transaction object. eth_estimateGas
andeth_call
: supports fieldauthorizationList
- Transaction Query RPCs(
- Support gasFee in transaction receipt for espace RPC
- eSpace
block.gasLimit
change to half of the consensus gas limit, addblock.espaceGasLimit
to return the real gas limit for eSpace transactions. - eSpace parity style trace RPCs updates:
- Trace RPC methods now compatible with parity and erigon, including
trace_block
,trace_transaction
,trace_filter
, this is aAPI breaking change
- Two new RPCs
trace_get
andtrace_blockSetAuth
are added trace_blockSetAuth
is a Conflux specific RPC used to get the block set auth result, check trace doc for details.- These trace methods now support
SelfDestruct(Suicide)
trace, to access historical selfdestruct transaction data, a resync of the data is required.
- Trace RPC methods now compatible with parity and erigon, including
- eSpace now support geth style
txpool
namespace methods, including:txpool_status
,txpool_inspect
,txpool_content
,txpool_contentFrom
eth_call
,eth_estimateGas
add support forstateoverride
feature.
- Supports for CIP-7702 changes:
CIP List
CIP-7702
CIP-7702 Set Code for EOA introduces EIP-7702 to Conflux eSpace, enabling EOAs to have code set for them. This allows users to batch transactions, enable social recovery, and pay gas fees in tokens other than native CFX, all without migrating to a new wallet. This is one of the most impactful features in Ethereum's Pectra upgrade.
CIP-645
CIP-645 Align Conflux eSpace Behavior with EVM proposes aligning Conflux eSpace's behavior (especially those relating to gas costs) with Ethereum's EVM to ensure compatibility with Ethereum development tools.
This includes implementing multiple EIPs:
Description | Link |
---|---|
EIP-1108: Reduces gas costs for alt_bn128 precompile | EIP-1108 |
EIP-1884: Reprices trie-size-dependent opcodes | EIP-1884 |
EIP-2028: Reduces Calldata gas cost | EIP-2028 |
EIP-2200: Rebalances net-metered SSTORE gas cost | EIP-2200 |
EIP-2565: Reduces gas cost for modular exponentiation transactions | EIP-2565 |
EIP-2929: Increases gas costs for opcode transactions to mitigate DDoS | EIP-2929 |
EIP-3529: Removes gas refunds for SELFDESTRUCT and reduces SSTORE refunds | EIP-3529 |
EIP-3651: Reduces gas fees for accessing COINBASE address | EIP-3651 |
EIP-3860: Limits initcode size to 49152 | EIP-3860 |
Furthermore, this CIP addresses various opcode discrepancies to provide a consistent development experience.
CIP-150
CIP-150 Reject New Contract Code starting with the 0xEF byte replicates EIP-3541, which disallows new code starting with the 0xEF
byte to be deployed. This is a prerequisite to ensure future compatibility with Ethereum's subsequent upgrades, such as the EVM Object Format and EOA account code.
CIP-151
CIP-151 SELFDESTRUCT only in Same Transaction replicates EIP-6780, which prevents contracts from being destroyed by SELFDESTRUCT
in most cases, with the only exception being the destruction of a contract within the same transaction as its creation. This is a prerequisite for implementing EIP-7702, as it prevents security issues like replay attacks when EOAs have proxy contract addresses set.
It should be noted that this CIP also disables the destroy
function in the Conflux core space AdminControl
internal contract, which means that the destroy
function will no longer be usable and will result in an internal contract error.
CIP-152
CIP-152 Reject Transactions from Senders with Deployed Code replicates EIP-3607, which addresses a potential security issue where an EOA could share the same address as a contract due to a collision attack. This prevents scenarios where a seemingly legitimate contract could attract user funds, only for those funds to be spent using the private key of the EOA with the same address.
CIP-154
CIP-154 Fix Inconsistent Implementation of TLOAD addresses an implementation error in CIP-142, which incorrectly implemented the TLOAD
opcode as SLOAD
. This fix ensures that TLOAD
properly reads from transient storage instead of persistent storage, preventing security vulnerabilities and unexpected behavior in smart contracts.
CIP-156
CIP-156 Change the PoS Malicious Penalty From Stake Forfeiting to Stake Locking changes the penalty for PoS malicious behavior from permanent stake forfeiting to temporary stake locking for 6 months. This reduces concerns for honest but careless node operators while still providing the community time to investigate and decide on appropriate penalties for actual attacks.
CIP-165
CIP-165 Precompile for BLS12-381 curve operations replicates EIP-2537, which introduces new precompile contracts to Conflux eSpace for BLS12-381 curve operations.
Releases
Testnet
Key Information | Details |
---|---|
Release | Conflux v3.0.0-testnet |
Anouncement | Conflux Network Hardfork Upgrade List and RPC Changes Overview (May 24, 2025) |
Deadlines |
|
Mainnet
Key Information | Details |
---|---|
Release | |
Anouncement | |
Deadlines |