It is well known that an address that was used to send IOTA (i.e. a transaction was signed with that addresses private key) should not be used a second time because security weakens exponentially with every use.

On the roadmap for IOTA I find automatic snapshots. From what I heard, they are supposed to happen on node-level, which means, every node does snapshots for itself.

However automatic snapshots are implemented. How will be assured that addresses are not reused? Will wallets search on perma-nodes? Won't that become slow at one point or might even cost IOTA in longterm? Or will wallets have to sync over a tangle-independent channel? Or is this still an open topic?

Edit: Thank you for linking How many addresses do I have to reattach after a snapshot? I think my question can be rephrased to: Are there already any proposed solutions to the fact that wallets can not determined which addresses has been used after a snapshot removed the neccessary informations? Are there other possible solution than I stated above?


1 Answer 1


One forthcoming solution to this is for wallets to remain stateful. Therefore, they will not ping the tangle every single time for a list of addresses like they have to do now. What this means is that they will locally store the list of generated addresses, so regardless of the snapshot, they will know what index number of addresses generated they are on, requiring no need to manually regenerate.

  • Thank you for your answer. This works if only one wallet software on one device is used. If the seed is used from several devices, the information needs to get synced somehow. While adding state is not so hard, a robust sync might be a bit more subtle, especially when thinking about software from different vendors.
    – BernB
    Jan 4, 2018 at 11:08
  • additionally, snapshots could include a list of spent addresses. Would surely bloat up the snapshot a bit but in my case this is a more secure way as you loose the state after reinstalling the wallet Jan 4, 2018 at 13:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.