An Explanation of IOTA’s Local Snapshots That Will Prune Transaction History on the Network
In the coming weeks, the IOTA (MIOTA) foundation aims at introducing a new feature onto its network known as Local Snapshots. A brief definition of the concept has been provided via twitter by IOTA News, who made the announcement about the technical development only yesterday as follows:
The upcoming feature of Local Snapshots will not just solve the space problems that arise with the growing adoption of
#IOTA, but will also simplify the setup of new nodes and allows to operate permanodes. IOTA will be opening this up for beta testing in the coming weeks.
More Details About the Snapshots
Further investigating the new feature on IOTA’s blog-site, we find a broader more technical explanation.
The origin of the Local Snapshot can be attributed to developers implementing solutions based on the Tangle. As IOTA becomes popular, its database size will increase as well, which becomes problematic to the nodes.
The IOTA foundation has been performing these global snapshots on a regular basis and involves pruning/trimming the transaction history and the resulting balances are consolidated into a new genesis state. This state then allows for the nodes to start over with an empty database. One can consider it as balancing the books as seen in regular accounting bookkeeping.
Such global snapshots prevent the ledger from growing too large and causing the following issues:
- Temporarily stop the coordinator
- Generate the snapshot state
- Give the community time to verify the generated files
- And finally restart the coordinator
How the Local Snapshots will Solve the Problem
Once fully tested and operational, the Local Snapshots will prune the transactions as follows:
- Choose a considerably old confirmed transaction and use it as an ‘anchor’ for the local snapshot
- Then prune all transactions that are directly or indirectly referenced by this transaction and clean up the database
- Before cleaning old transactions, balances affected by these transactions are checked and the resulting state of the ledger is ‘continued’ in a local snapshot file which is subsequently used by IRI as a new starting point
- To enable new nodes to ‘enter’ the network, they are synced to know at which point it can stop solidifying a chain of transactions and just consider the sub-tangle solid
In conclusion, and complex as it might sound, local snapshots provide a solution to an ever growing ledger as the IOTA network becomes more popular. This then solves the question of sustaining dataspace in the network. It will also simplify the setup of new nodes and allow organizations and community members to operate permanodes. More on this topic can be found on the IOTA blog as well as their #snapshot channel on Discord.
Disclaimer: This article is not meant to give financial advice. Any opinion herein should be taken as is. Please carry out your own research before investing in any of the numerous cryptocurrencies available.