I am getting questions all the time about the upcoming snapshot so I thought I would write up how best to prepare for the snapshot.What is a snapshot?
IOTA's nodes are receiving transactions in a staggering amount. They need to keep track of them all and sort through them. This means ever increasing memory and CPU requirements. To combat this every now and then a snapshot occurs. This essentially throws away all the transaction history and resets the IOTA ledger to a list of all the addresses that have a nonzero balance and of course their balances.
After the snapshot processing resumes and a new Tangle grows on this basic ledger. Until it grows so big that another snapshot is required.
In the future nodes will decide for themselves when to do a snapshot, but at the moment this is still a synchronized operation. The snapshot ledger is prepared by the IOTA team, then it is verified that it contains all the transaction history correctly by a number of nodes, and only when the consensus is that the snapshot data contains no errors the green light is given and every node out there will switch to this new ledger at the same time.Do I care and why?
Well you definitely should. At least as long as your wallet takes its state information from the Tangle, like the light wallets are doing at the moment. The wallet stores absolutely no state information on your device. That means it has to use the seed you provide at login to generate addresses one by one, check if these addresses are used in a transaction already, and if they are it knows that it already gave out those addresses and can retrieve the balances of these addresses to give you your total wallet balance.
However, since the snapshot removes all transaction history from the Tangle, the wallet loses all its state information and therefore will show you a zero balance after the snapshot! Don't worry. This is expected. All you need to do is reattach all previously used receive addresses to the tangle manually.Wait, what?
Yep, because IOTA was designed for the Internet of Things, and those devices follow simple rules with extreme precision and patience, this is no problem for the IoT devices. They will happily and patiently reattach every address they ever used to the Tangle. Our problem is that we are no IoT devices. And the wallets at the moment don't hide this tedious process behind the scenes. So we will have to do this manually so that we can see our balance being restored.
One additional important reason to do this is to avoid re-using any addresses that we have used before the snapshot, so we don't end up with multi-spends from these addresse and won't be subjected to hackers intercepting out transactions.
I know, WTF, right? But this is what happens when beta software gains large acceptance before the hurdles get ironed out. We can complain all we want about this, but fact is that we will have to deal with this until the next generation of wallets come out that do this stuff automatically behind the scenes.Preparations that will help you get through the snapshot.
There are a few things you can do in preparation of a snapshot. One is to log into your wallet using your seed, go to the history section, then click on addresses. You now want to make a note of the amount of addresses used, plus the what the first and last address are.
That way, when you want to restore the wallet after the snapshot, you have some data that can assist you in knowing:
1. whether you are in the correct seed. (You can compare the first receive address you re-attach with the one you wrote down)
2. how many times you will have to re-attach receive addresses for your funds to show up.
Knowing this is having won half the battle. You know immediately if you are in the correct seed. And you know exactly how many re-attachments it will take to regain your balance. For the rest it is just a tedious process.
After the snapshot, if you have any doubts, just follow the steps as detailed in this article:https://forum.helloiota.com/588/Help-My-IOTA-balance-is-zero-steps-to-help-you-find-your-balance-v256