⛏️CESS Nodes

CESS Network has two types of nodes, including: Consensus Nodes and Storage Nodes.

CESS testnet RPC address: wss://testnet-rpc.cess.network/ws/.

Consensus Nodes

Consensus nodes are essential in validator elections and authoring blocks in the CESS blockchain. All consensus nodes have the following features:

  • Record and store the transaction results and state changes

  • Communicate among nodes that form a peer-to-peer network in a decentralized fashion

  • Execute consensus algorithm to ensure on-chain data's security and sustained growth

  • Contain cryptographic algorithm for signatures and transaction verifications

Consensus node is developed using Substrate framework. According to different responsibilities, the consensus node is divided into CESS Worker and TEE Worker.

CESS Worker

CESS worker is responsible for the packaging of transactions, transaction verification, block generation and blockchain data storage for the entire network.

TEE Worker

The main task of the TEE worker is to mark data (generate file tags) for user's files that are used in PoDR² (Proof of Data Reduplication and Recovery) proofs and to generate space-holder files for the space provided by the storage miners in PoIS (Proof of Idle Space) proofs. Every job completed in the TEE worker is tamper-proof and verifiable, which can effectively ensure data authenticity.

TEE worker is developed based on the Gramine library and currently only supports Intel series chips.

A TEE worker is bound to a consensus node and can only work after registering a transaction with the account signature of the consensus node. It requires a relatively high hardware requirement and needs the support of TEE functions. To balance out the higher cost, miners also earn a higher reward.

If a CESS node is running in both full-node mode and TEE worker mode, it is eligible to be elected as a validator which responsible for producing and verifying blocks.

If you are interested in running a consensus node, please refer to the section Consensus Nodes.

Storage Nodes

Storage nodes play a crucial role in the distributed storage system. All nodes are peers and form a globally distributed storage network using P2P communication technology based on libp2p implementation.

Storage nodes are responsible for providing storage space, storing data, providing downloads, and calculating data proof. They also control which disk to use and the maximum storage capacity to serve the CESS network. The larger the storage provided, the higher the rewards obtained.

The CESS network incentivizes storage nodes to offer disk capacities of 4GB and above, preferably utilizing SSDs with a network bandwidth of no less than 2Mbps. Storage nodes satisfying this requirement can yield higher rewards at an accelerated pace.

Chain Client Component

The chain client component is based on the open-source go-substrate-rpc-client implementation, which specifies how storage nodes interact with blockchain nodes and provides functions such as viewing chain status, transactions, and listening for events.

Database Component

The database component adopts a high-performance LevelDB based on the open-source goleveldb implementation. It is used to provide on-chain metadata cache and accelerate reading.

P2P Network

The P2P communication component is based on libp2p development, which realizes the formation of a P2P network between storage nodes. For details, refer to the GitHub repository CESSProject/p2p-go.

If you are interested in running a storage node, please refer to the section Storage Node.

Last updated