March 2024 Node Updates

March 2024 Node Updates

Everscale Node March 2024 Updates: Block Size Estimation, Shadow SMFT, Extra Currencies Proposal

We had been busy making the Everscale node better and efficient in March 2024. Read about the refined process of a block size estimation, improvements to the node’s network subsystem, code refactoring and other news in our monthly digest to learn all the details.

Refinement of the Block Size Estimation

In the previous article, we mentioned changes to the mechanism for clearing the outgoing queue during the shard-splitting process that Everscale workchains go through. As part of this advancement, we discovered inaccuracies in the block size estimation mechanism that could cause network freezes under heavy load. Let's take a closer look at the mechanism.

When creating a block, there are several parameters that, when reached, indicate that the block needs to be finalized. One of these parameters is the size of the block. The exact block size can only be known after this block is serialized, which is a costly operation and is performed once per block. Because of that, during the block creation process, the collator continuously calculates an estimate of the final block size. There were inaccuracies in the estimation algorithm regarding pruned cells, which we have now corrected.

Improvements to the Node's Network Subsystem

  • We discovered a behavior of nodes in the testnet that did not happen yet in the mainnet: if neighbors did not provide key blocks, it could lead to unstable syncing of new nodes. We made adjustments to increase the reliability of the key block collection algorithm.
  • We reinstated the ability to synchronize through downloading archives, which is a faster algorithm than block-based synchronization. It is not yet ready for a network with more than one workchain, but we have reintroduced this option because it significantly speeds up the synchronization of nodes with high latency to neighbors.
  • We improved the algorithm that assesses the safety and quality of neighboring nodes in terms of their data provision capabilities.

Cell Caching Enhancements

Data caching is an important characteristic of node performance, as it reduces the number of disk read operations if properly configured. In March 2024, we removed the “FULL” caching mode and are currently in the process of refining the primary caching mode. We have made it asynchronous and continue to monitor and improve it.

Extra Currencies

A new issue #232 was published in the node repository. Currently, tokens in Everscale are created with the TIP-3 standard. As the issue’s authors emphasize, there is also an option to issue a currency collection at the protocol level, but the latter has a number of limitations. In particular, there is no burning function, new tokens are always minted to a minter’s address, and for a new token to be produced, changing the global network configuration is needed. 

To overcome these flaws and make protocol-level currency collections more accessible, authors propose to introduce a new smart contract for creating, minting and burning non-native currency collections, which is technically possible. New functions and modifications to the virtual machine to enable such a contract are specified in the issue. If executed, currency collections shall complement the TIP-3 standard.

As interesting as it sounds, this idea carries both its benefits and drawbacks, and the Everscale dev community still discusses it, so we will probably get an update later.

Speaking about tokens in Everscale, we also patched a bug in the process of minting the second and consecutive currencies, which caused the validation failure.

Mesh Network

The work on an ambitious technology for inter-blockchain communication called Mesh Network was continued in March 2024. Specifically, we published changes to the network part of libraries that turned on the support of several chains within the Mesh Network.

Shadow SMFT

Another good news: we activated a new consensus algorithm, the Soft Majority Fault Tolerance (SMFT), in the testnet. We have been testing SMFT to prepare it for the mainnet release in April, which should bring Everscale closer to achieving fast finality. This vital goal was outlined in Everscale's 2024 roadmap. We will definitely tell you more about SMFT in one of the future articles.

Node Refactoring

  • Refined logs and metrics (unseen but crucial aspects for monitoring the node's performance).
  • Merged the ever-node-tools and ever-node repositories.
  • Combined the DHT, Overlay, RLDP, and ADNL protocol repositories
  • Merging repositories is necessary to simplify code support, documenting and testing, as well as increasing the development efficiency.

Other improvements

  • Fixed scripts for running the test network locally, and removed compiler warnings.
  • Resolved a bug in the mechanism for storing cells.
Read More