Functionality of Monolith Blocks

Monolith blocks are generated on average once a day and primarily record significant updates to the node registry, such as the addition or departure of nodes, along with other metadata. Importantly, they do not contain transaction data, resulting in a very light set of blocks for download. This design ensures that a node needs to download only a minimal amount of data for each day of the blockchain’s existence, providing an always up-to-date list of nodes in the registry at any historical moment. Consequently, this allows nodes to verify if the next monolith block was created by a legitimate node and make informed decisions in the event of a fork.

Bootstrapping a New Node

The initial step for a new node involves downloading all monolith blocks from the genesis block, choosing the set of blocks with the highest cumulative difficulty in the event of a fork, until it reaches the latest available monolith block. The node then uses the hash of the most recent blockchain snapshot found in a spine block to identify and download a snapshot of the blockchain from network peers. This process enables a new node to quickly update itself with the blockchain’s current state within minutes, significantly reducing the time and resources needed to become a fully participating member of the network.

This innovative approach to blockchain architecture not only enhances the efficiency of accessing historical data but also simplifies the process for new nodes to join and synchronize with the network, ensuring the Savitri network remains robust, secure, and accessible.