January 22, 2018

The IOTA Foundation has publicly announced the next snapshot of the Tangle for January 28th, 2018.

Basically, without going into too much detail, a snapshot reduces the size it takes for nodes to save the entire Tangle (to disk). In the foreseeable future, this process will be automated. At the time of this writing, it is a coordinated roll-out usually in tandem with an update of the node software (“IRI”).

The snapshot compacts the Tangle by removing parts of its history, except addresses with value.

The good: Your IOTA tokens are 100% safe, even if you do not do anything, are on vacation during the snapshot period or on a trip to the moon!

The bad: If you log into the wallet with your seed sometime after the snapshot, your wallet might report a zero balance and might not be able to see the transaction history you’ve become so used to. Don’t worry!

Why is this so?

At the current stage of the project, the official IOTA wallet is completely stateless. It does not store anything locally on your machine. Once you log out, it forgets everything. Instead, the wallet relies on the data available on the Tangle, which it requests immediately after you log in. (That’s also the reason, why sometimes it takes a while to start up.)

The following section does not want to be technically precise. It is an attempt to provide a high level illustration in clear words, which hopefully helps you to understand the bigger picture.

So you log in. The wallet derives the first address from your seed and asks the node to look it up on the Tangle. The wallet repeats this process, until the node reports that an address could not be found. The wallet then stops and starts calculating the sum of all balances it has received from the node.

Now, with much of the transaction history on the Tangle gone due to snapshotting, your wallet might not be able to reconstruct this “address history” on its own. In fact, even the first request from the wallet to the node might fail, as the node might no longer know this address. The wallet will stop the process and assume a balance of zero.

This is, why you have to help with some manual support.