Credits Updates The Staking Regulation Process: Trusted Nodes Selection
Previous Staking Algorithm Concept (31.03.2019 - 20.11.2019)A previously functioning selection model implied assigning random nodes to participate in consensus with 50,000 CS on their account.
The main factors that influenced the selection of the trusted nodes, among all nodes that had more than 50.000 CS in the account, were the following:
- Compliance with recommended specifications;
- The proximity of nodes within the network topology, where the connection of nodes passes through the nodes "neighbors*". The number of intermediaries between a node applying consensus and a trusted node of the current round directly affected the speed of application. A temporary gap for applying was 170 milliseconds. If the required number of nodes had been accumulated within a given time, a consensus round was launched. If the required number of nodes had not been accumulated, the next period of 170 milliseconds started, and so on until the required number was recruited;
- In a situation where the trusted nodes of the current round received more applications than necessary for the next round of consensus, the nodes were selected randomly from those who managed to apply.
Current Staking Algorithm Concept (20.11.2019 - Q3 2020)In the current version, when there should be 6 or fewer nodes validators for consensus round - the nodes from the list with the highest staking are taken into the trusted ones (those who have the most balance - participates in consensus more often).
When there are more than 6 nodes - we take the nodes from the list with the highest staking, three fourths (¾) of the total required number. The remaining one fourths (¼) part of the total required number of trusted nodes for consensus - is chosen according to conditions of Previous Staking Algorithm Concept.
In this case, the updated formula in the code for the required number of trusted nodes for consensus participation is calculated from the number of all nodes that have submitted their applications. The formula is as follows:
N (the number of trusted nodes) = (4 + 1.85 * log (The number of applications for participation in consensus / 4))
Why is it necessary?This measure is temporary excess security of the network, for a reliable start and protection from vulnerable factors. At the initial stage of the network operation in a real business environment, it is quite important to support the platform stability and security level. Therefore, we were forced to update the staking algorithm to eliminate the possible threats at the beginning of the network operation with a small number of participants.
An approximate forecast for maintaining such conditions is 4-6 months, depending on the network operation, identified issues, the number of users in network and their behavior.
Final Staking Algorithm Concept (from Q3 2020)Further, developers team plans to implement a trusted coefficient, which will directly affect the chance of a node to be selected as a validator of the next round of consensus. The higher the trusted coefficient of the node is, the more likely the node will get into the next round of consensus.
However, this coefficient will not be strictly determined. The nodes with a low trusted coefficient will also be able to participate in consensus.
The trusted coefficient is a dynamic variable that will be calculated on the basis of many criteria, for example:
- The node technical characteristics;
- The speed of application for being validator of next consensus round;
- The number of coins on the balance of the node;
- The number of times the node was trusted;
- The total amount of time when the node was active on the network;
- The number of times the node was in the “gray list”.
Furthermore, Credits is planning to implement a system that will reduce the possibility of a node getting into the next round of consensus, if it was selected as a trusted one in the previous consensus. Additionally, we plan to complicate and expand the “grey list” algorithm.