Roles
This section introduces the important roles and corresponding functions in CESS network.
Consensus Node
Consensus node is an important role in validators elections and block packagings in CESS chain. Consensus nodes have the following functions:
Record and store the transaction results and state changes.
Decentralized communication among nodes which forms a peer-to-peer network.
Conduct consensus algorithms to ensure on-chain data's security and sustained growth.
Conduct cryptographic algorithm for signature and transaction verifications.
Consensus nodes are developed using Polkadot's open-source substrate framework, which share native advantages of Polkadot System.
cess-node
cess-node is one of the basic components in CESS network. It is a blockchain node program developed based on the Substrate framework. If running TEE Worker at the same time, a cess-node runs in full node mode and will be elected as the validator, who will be responsible for producing and verifying blocks.
TEE Worker
The main task of TEE Worker is to mark data and generate random files to store on storage nodesοΌas validated space). Tasks completed in TEE has the characteristics of being tamper-proof and verifiable, which can effectively ensure the authenticity of data.
A TEE Worker is bond to a consensus node and can only work after registering transactions with the account signature of the consensus node. It requires high hardware performance, needs hardware support for TEE functions, and entails a powerful CPU to enable TEE Workers to quickly complete the marking data task, thereby quickly accumulating workload and earning more rewards.
TEE Worker is developed based on the Gramine library and currently only supports Intel series chips.
Storage Node
Storage nodes is another important role in the distributed storage system of CESS network. All nodes are peers and form a globally distributed storage network through the use of P2P communication technology (based on libp2p implementation).
The main functions of a storage node include providing storage space, storing data, providing downloads, and calculating data proof. Storage nodes can control which disk to use and the maximum amount of space to serve the CESS network. The larger the space provided, the greater the proportion of rewards obtained. With the same amount of occupied space, the rewards obtained from storing data are greater than those obtained from providing space only.
The CESS network incentivizes storage nodes to offer disk capacities of 4TiB and above, preferably utilizing SSDs, with a network bandwidth of no less than 2M. By adhering to these recommendations, storage nodes can optimize their earning potential, receiving rewards in greater proportions and at an accelerated pace.
Reference: Storage Node Operation Manual.
Chain client component
The chain client component is based on the open-source go-substrate-rpc-client implementation, which describes 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 communication component
The P2P communication component is based on go-libp2p development, which realizes the formation of a P2P network between storage nodes. Please refer to for details CESSProject/p2p-go.