Conflux is planning to activate and implement modifications of 8 different CIPs (improvement proposals), including CIP-150, CIP-151, CIP-152, CIP-154, CIP-156, CIP-165, CIP-645 and CIP-7702, as well as related RPC updates in the next Hardfork system upgrade.
For more details, please refer to: https://www.confluxdocs.com/docs/general/hardforks/v3.0
CIP Changes:
These CIPs are mainly divided into the following categories:
-
EVM Compatibility: CIP-150, CIP-151, CIP-152, CIP-165, CIP-645, CIP-7702
-
Bug Fix: CIP-154
-
Specification Adjustment: CIP-156
The following is a brief introduction of these CIPs.
CIP 150
This CIP replicates EIP-3541, which disallows deploying new code that starts with the 0xEF
byte.
CIP 151
This CIP 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.
CIP 152
This CIP 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. Specifically designed EOAs with code (like EIP-7702), are not affected by this restriction.
CIP 154
This CIP addresses an implementation error in CIP-142, which incorrectly implemented the TLOAD
opcode as SLOAD
.
CIP 156
This CIP changes the penalty of PoS malicious behavior from permanent stake forfeiting to temporary stake locking.
CIP 165
Introduces precompiles for BLS12-381 curve operations as defined in EIP-2537, enabling efficient execution of tasks such as BLS signature verification.
CIP 645
This CIP proposes aligning Conflux eSpace’s behavior with Ethereum’s EVM to ensure compatibility with Ethereum development tools and provide a consistent experience for developers. It also addresses the impact of new EIPs on Conflux Core Space.
The following Ethereum Improvement Proposals (EIPs) are implemented or adapted:
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 |
Additionally, this CIP addresses discrepancies found during Ethereum behavioral alignment tests, including:
-
Implementation of EIP-4844-related opcodes (BLOBHASH and BLOBBASEFEE) with consistent “zero” results.
-
Nonce alignment for failed CREATE2 operations (EIP-684 compliance).
-
Proper validation of fee-related conditions for transactions (EIP-1559 compliance).
-
Memory boundary handling in MCOPY (EIP-5656 compliance).
-
Transient storage lifecycle changes to conform to EIP-1153.
-
Link:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-645.md
CIP 7702
This CIP introduces EIP-7702 to Conflux eSpace.
RPC changelog
Below RPC add support for EIP-7702 tx:
-
eth_call & eth_estimateGas
-
transaction related RPCs: eth_getTransactionByHash, eth_blockByNumber, eth_blockByHash
Misc changes:
-
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:
a. Trace RPC methods now compatible with parity and erigon, including
trace_block
,trace_transaction
,trace_filter
, this is aAPI breaking change
b. Two new RPCs
trace_get
andtrace_blockSetAuth
are addedc.
trace_blockSetAuth
is a Conflux specific RPC used to get the block set auth result, check trace doc for details.d. These trace methods now support
SelfDestruct(Suicide)
trace, to access historical selfdestruct transaction data, a resync of the data is required. -
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.