Hi,I was wondering if cold storage is possible for IOTA. With cold storage I mean to generate a seed offline on an air gaped computer. This seed can never touch the internet. Because the seed generates an address and this address must be attached to the Tangle I was wondering if (and how) this is possible. Thanks!
Addresses actually do not strictly need to be attached to the Tangle. See this post for more info:
Thanks! So, if I understand correctly attaching to the Tangle is only done in order to minimize the number of addresses the function createNewAddress has to generate until it finds one that has no associated transactions with it.
Affirmative. You can send IOTAs to any address regardless of whether it has been attached to the Tangle.
OK, that's nice! Is it also possible to create a "watch only" wallet? With that I mean to have a wallet where you can check the balance of a certain address. Or is there some kind of address explorer where you can check the balance of an address?
Aye. At the moment, there's a few Tangle explorers that you can use for this purpose:
(all listed on https://coinmarketcap.com/currencies/iota/)
Cool! One more question about this. Is it currently possible to sign a transaction offline (with the above seed that has never seen the internet) and then publish the transaction ID on the Tangle? In other words, transferring funds but not exposing the seed to the internet.
Your seed doesn't go on the internet no matter what because you sign your transactions with addresses which are generated by your seed but not your seed.
OK, I'm sorry for the confusion here. I'll adjust my question later. I understand that the seed does not go on the internet. What I meant is that the computer where the seed is stored is air gaped and stays air gaped. Is it possible to sign a transaction on this air gaped computer and then publish the proof of your transaction signature online? Just like in the case of using a hardware wallet for Bitcoin.
But when you go for a transaction you have to do PoW for two other transactions randomly assigned to you by the Tangle. How could you do that offline?
Aah yeah that's right. So I guess it's not possible to do that. Thanks.
You can sign the inputs in a bundle 100% offline (in fact, this is necessary for multisig to function).
Once the signature fragments are attached to the bundle, you can then transfer the trytes to a different system to perform the PoW.
The process looks like this:
Thanks a lot!! All my questions have been answered.
This could work well with https://iotaseed.io/ for generating a seed based on mouse entropy!