Everscale Node April 2024 Updates

Everscale Node April 2024 Updates

SMFT

SMFT in shadow mode was released and deployed on the mainnet. It allows us to measure performance and stability metrics without risking instability. The testing uncovered several performance issues related to the collection of historical consensus data, so SMFT was temporarily turned off until a stability patch is ready.

Avoid Deletion of Frozen Accounts

According to the principles of Everscale blockchain operation, a smart contract that has overdue storage payments will first be frozen, and if the overdue amount exceeds the limit, the contract will be deleted. This scenario is critical for practical security because it increases the attack surface to contracts that accept arbitrary data from outside. It is possible to push contract storage to grow accidentally, which could lead to the deletion of the contract. After deletion, a contract at the same address can be recreated by an attacker and thus be substituted.

The countermeasure to avoid this kind of attack is to prevent the deletion of frozen contracts entirely. According to our investigations, the additional load on the blockchain state, when frozen accounts are not deleted, is no more than one cell per frozen contract, which does not significantly burden the network. We added the new capability CapUndeletableAccounts to support this feature.

Support of BLS Instructions in TVM

BLS instructions can be used as a basis to implement a wide range of Zero-Knowledge Proof (ZKP) schemes flexibly at the smart contract level. Support for these instructions was included in the virtual machine and can be activated by the capability CapTvmV20.

Node Refactoring

  • To adapt to the growing size of the blockchain state, low memory mode was made a permanent mode for node operation. This mode allows the utilization of disk cache when processing persistent states during the sync procedure. Related settings were removed from the node config file.
  • The repositories ever-block and ever-types were merged together to simplify the node development process further.
  • Most of the node libraries were renamed from ton* to ever*.
Read More