Description of node types in the Credits decentralized network
General definition of the system. The concept of nodes.
The system is a set of decentralized nodes of the network that process, store and execute transactions and confirm the terms of smart contracts, process requests from third-party systems, and provide information when requested.
A network node is a computer on which a complete client of the network is installed and a registry storage is connected to a common system, participating in voting rounds for selecting the processing node and trusted nodes, confirming or rejecting transactions and keeping them in the register.
To build a decentralized network based on free access and
node connections, several types of nodes are used depending on their purpose:
- A normal node is a node that receives a validated block from the writing node and writes it to its own repository.
- The trusted nodes is the node that performs the transaction validation (the validation process is the interaction between each other using the BFT protocol, each compares each transaction on its balance sheets with the recorded chain), then the trusted nodes give the pool of validated transactions to the writing node to compose the block, sign it with a hash and write it to the repository.
- The main node is the node that forms the pool (the list of non-validated transactions), then sends it to the trusted nodes for verification. In parallel with this, it initiates the next round in which it conducts the definition of trusted nodes. The main node is the node that first sends the hash of its last block.
The system uses a trust coefficient - an absolute fractional numerical value from 0 to 1, expressed in mathematical terms of the number of trusted nodes + 1 to the total number of nodes in the network. The maximum number of trusted nodes cannot exceed 50% of the network nodes.
- A writing node is a node that is randomly selected from the list of trusted nodes in each round. It writes the generated block by trusted nodes, forms a hash of the block (the hash of the previous block + its own) and sends it to be recorded to all nodes of the network.
Algorithm for assigning nodes
Filtering nodes with an irrelevant registry. The nodes that did not provide the hash within the specified time are excluded from the list of nodes that participate in the consensus procedure. Also, nodes with an irrelevant registry cannot become the main or trusted node of the next round.
Selecting the main and trusted nodes that will participate in the consensus mechanism.
Those nodes that managed to send hashes of their last blocks within a given limited time are listed into the table. The first node that provides the result becomes the main node, the remaining nodes become trusted nodes.
Since the network is public, there is a way of adding to the network of non-legalized nodes. To minimize this probability, the following node validation method is used.
Node validation is a method (process) that proves that the node is real and has the resources it needs to support the network. The node confirms its operability by sending its last block to the storage, followed by sending to the network for further participation in the voting for choice of trusted and main nodes in a new round on a signal in the network at about the start of a new election (a new round).