MainNet Update is Just Around the Corner!
Dear Credits Community,
The Credits team finally got to the good part, to which we referred earlier. Today, we are excited to announce that we have begun the process of update implementation. This activity brings us one step closer to the MainNet Update! As previously mentioned, our main activity focuses on the implementation of new features that optimize the use of resources, expedite network functioning, and improve stability and fault tolerance. You can find our roadmap here!
Here is a full list of changes and new features introduced in the first update phase:
The New Version of Synchronization
The updated synchronization works with an emphasis on the DHT network model. During operation, the nodes exchange technical messages, which helps to avoid congestion, i.e. situations when a node sends too many requests, and in response receives so many messages that it cannot handle the workload for a long time. This algorithm has been tested during speed test and is aimed at minimizing traffic during synchronization.
Refining the Mechanism for the Transactions Distribution
We have strayed from the continuous distribution of packets to all nodes. Now only packet headers are being sent, and, if necessary, the nodes themselves request packets from each other, thereby avoiding the barrage of transaction packets and also unloading the network and the transport module.
Besides, the two previous improvements significantly affect the hardware load, since the number of serializable/deserializable packets decreases significantly (about 5–20 times for synchronization and 5–15 times for distribution of transaction packets).
Multithreaded Transaction Verification
From now on, the validator fully uses all available CPU resources, which allows loading all processor threads on middle-class hardware, thereby improving system performance. According to the carried out speed tests, we assume that in a distributed network nodes will be able to freely process up to 15–20 thousand transactions per second and pass peaks of up to 50 thousand transactions per second.
Quick Nodes’ Start
Here we have applied the system to rapidly launch a node without reading the entire database. For the user, this can be seen by a shorter start time of the node. The update contains several novelties:
Replacement of the wallet caching system which greatly frees up memory;
Adding a system for creating and saving the current state of the blockchain (wallets + smart contracts). By simply loading the state of the database, synchronization begins at the block following the block of the recorded state.