Skip to main content

Overview

In the Hydra hardfork (v2.0) Conflux will introduce serveral big upgrades through 8 CIPs (Conflux improvement proposal).

PoS#

Through CIP-43 Hydra has introduced a PoS system to improve the finality of the whole Network. CFX holders can stake their CFX to PoS to protect high-value transactions and also earn CFX rewards of participating the PoS. For detail information about PoS check:

Conflux eSpace#

The CIP-90 has introduced a new fully EVM-compatible space. The new space is called eSpace, and the current space is called Core Space. The eSpace follows the same rule as EVM and supports eth rpc like eth_getBalance, so the tools (web3.js, ethers.js, hardhat, truffle and so on) from ethereum ecosystem can be used on Conflux directly. Check eSpace documentation for more info.

New Added InternalContracts#

Hydra hardfork has intoduced three new InternalContracts:

  • ConfluxContext (CIP-64)
  • PoSRegister (CIP-43)
  • CrossSpaceCall (CIP-90)

RPC changes#

cfx namespace RPC change#

  • New added methods: cfx_getPoSRewardByEpoch, cfx_openedMethodGroups, cfx_getPoSEconomics.
  • New added EpochNumber tag: latest_finalized indicating latest finalized (by PoS) epoch.
  • cfx_getStatus reponse have two new field: latestFinalized, ethereumSpaceChainId
  • Block header new added field: posReference which is the latest pos blockHash when the PoW block is mined.
  • Block header's custom field's type has changed from array of number array to array of hex string.
// before
custom: [[1, 2]]
// after
custom: ["0x12"]

Note: CIP-90 will break some block field's verifiability for example: hash

trace RPC breaking change#

New added namespace#

eSpace eth RPC#

The eSpace has introduced the eth namespace RPC, check the RPC compatibility doc for details

Conflux-rust config file#

The mainnet config file has been renamed from tethys.toml to hydra.toml, the bootnodes has changed and several options are added:

  • jsonrpc_http_eth_port = 8545
  • jsonrpc_ws_eth_port = 8546
  • public_evm_rpc_apis = "evm"
  • evm_chain_id = 1030

Mainnet Upgrade schedule#

  1. Conflux client program need to be updated before Epoch Number reaches 36935000 or Block Number reaches 92060600 (around 10:00 Feb.23th, 2022(GMT+8))
  2. The PoS registration start at Block Number 92060600 (around Feb.23th at 12:00)
  3. The PoS registration close at Block Number 92751800 (around Feb.25th at 12:00)
  4. The deadline for adding pos_config is before Epoch Number reaches 37400000 (around Feb.28th 12:00). Hardfork upgrade completed at this time.

Testnet Upgrade schedule#

  1. Conflux client program need to be updated before Epoch Number reaches 55095000 or Block Number reaches 68845000 (around 10:00 Dec.9th, 2021(GMT+8))
  2. The PoS registration start at Block Number 68845000 (around Dec.9th at 10:00)
  3. The PoS registration close at Block Number 69245000 (around Dec.11 at 18:00)
  4. The deadline for adding pos_config is before Epoch Number reaches 55665000 (around Dec.13th 15:00). Hardfork upgrade completed at this time.

For detail infomation check Conflux v2.0.0-testnet Hardfork Upgrade Announcement

Upgrade CIP list#

The following is a brief introduction of these CIPs.

CIP-43#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-43.md

In this CIP, we propose introducing finality to the Conflux chain via voting among staked CFX holders. This will increase the confidence of high-value transactions happening on Conflux in the future and protect Conflux against potential 51% attacks from PoW.

CIP-64#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-64.md

Currently, transactions on Conflux have no direct access to the number of the epoch they are executed in. To maintain EVM compatibility, this CIP introduces a new internal contract that makes this information available to contracts.

CIP-71#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-71.md

Fully disable the anti-reentrancy for their contract.

CIP-76#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-76.md

We should remove VM-related constraints in syncing blocks, like requiring the transactions to have enough gas limit.

CIP-78#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-78.md

Fix incorrect fields in transaction receipt.

CIP-86#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-86.md

Reduce the period of difficulty adjustment and apply the simple moving average method.

CIP-90#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-90.md

This CIP aims to introduce a new fully EVM-compatible space. The new space is called eSpace, and the current space is called Core Space. The eSpace follows the same rule as EVM and supports eth rpc like eth_getBalance, so the tools from ethereum economics can be used on Conflux directly.

CIP-92#

Detail link: https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-92.md

Enable Blake2F builtin function in EIP-152.