How to store GRIN in cold storage?

How would someone go about holding grin in cold storage? I’ve made plenty of Bitcoin paper wallets in my time and I’d like to do something similar with GRIN.

I’d rather not have to have a dedicated air-gapped system to hold my grin, but even I were to do so I’m hazy on the details. Has anyone found a good method yet?

1 Like

Just keep you private key - that’s all there’d be to it.

create a wallet, write the seed phrase onto a paper, transfer your grin on the wallet, delete everything from the disc. Store the paper with the seed phrase somewhere safe.
In future you should be able to re-create the wallet with the seed phrase holding the right amount of grin.
The command-line input for restoring the “paper wallet” with the default grin-wallet would be:
grin-wallet init -r
#type in seed phrase
grin-wallet check

K. So how do I generate a private key rather than a mnemonic seed phrase? How would I easily do that on a Linux live USB?

That’s not really cold storage though. If I go on my internet connected device, create a mnemonic seed phrase, write it down and delete it, I just exposed that mnemonic seed phrase and might as well leave it as a hot wallet at that point. That’s what I’m trying to avoid.

I’d rather use an air-gapped system to generate a private key, but then how would I ever receive grin? That’s the biggest hurtle when I compare grin cold storage to bitcoin cold storage

There are some hardware wallets like the Trezor https://trezor.io/passwords/ that can you can use for your passwords and wallet keys, and it is accessible by using your hardware wallet.

It’s not the perfect solution but it’s perhaps acceptable…

It’s an idea, but I don’t own a Trezor and won’t be buying one. I’ve never trusted hardware wallets and likely never will (for long term cold storage anyway).

You don’t need to be connected to a grin node or anything to use account creation in grin-wallet, which was moved to separate files. You could get a rasb pi, github clone, build, disconnect, create account, wipe the pi, you’re done. Account creation just is storing files in the .grin folder. It’s actually just a common 24-word key - that is the grin private key/address. Same as all these other coins with the 12-word mnemonic phrase, your standard BIP39 128bit security key (except grin is 24-words of the BIP39 word list or 256bit) https://en.bitcoin.it/wiki/Seed_phrase The software for setting these up has nothing to do with grin.

As a total aside, I find it disturbing that there are only 128bits with these keys, and bitcoin and everyone has one. It seems like collisions are really likely, especially with 1000s of coins using the same system. Grin is better than that, with a 24-word seed phrase, which I find comforting. But you can restore your wallet from your BIP39, and you can make your BIP39 without being connected.

See here https://en.bitcoin.it/wiki/Seed_phrase where you initialize the wallet and get the seed before connecting to a node or anything (which follows). It is the exact same as a bitcoin paper wallet, which is just a private key and a public address, grin is just private key, as grin has no public addresses!

1 Like

Ok so why not this https://cryptosteel.com/product/cryptosteel/?attribute_letter-set=mnemonic to lock up your seed phrase?

I believe that this is a good way to hold a 24 word seed phrase

1 Like

Hey that’s pretty sweet! I was looking for something like this. I was thinking of making bracelets engraved with keywords from all these coins - this is just what I was thinking of!

1 Like

Even if you can create a wallet without connecting to a node, that wallet can’t receive Grin without connecting to a node. So it’s not cold storage.

1 Like

THIS is the issue I’m trying to overcome. I know how to generate a 12, 18 or 24 word seed. I know how to generate it on an air-gapped system. I know how a paper wallet works. I know that steel doesn’t burn up like paper could in a safe. I’ve got that part covered with bitcoins. My issue now is, how can I possibly receive funds with cold storage, when my wallet wouldn’t be initialized because it’s… you guessed it, cold storage. Is this done on purpose so you can basically only use a hot wallet? That doesn’t promote spending, it just promotes insecure storage methods.

It’s better to just buy a dremel and engrave something yourself. It’s very simple, but it takes some time. These aren’t reliable in the condions they’re supposed to be used for (e.g. a house fire)

Source: https://medium.com/@lopp/metal-bitcoin-seed-storage-stress-test-21f47cf8e6f5

1 Like

Oh you can’t grin has no public addresses - just a private key. You must interact to transact – sounds like a catchphrase!

Storage means storage. You want to store and be able to add to it - not possible with grin for the above.

I always heard grin was supposed to be ‘digital cash’. Like cash, you literally have to hand it from one hand to another, or have a box set up to collect it (like a piggy bank, i.e. server). And you must be connected and use your key in either case.

You could just put every 1000 coins you get into true cold storage with a new key if you’re that paranoid.

But how would I get those 1000 coins into cold storage to start with? That’s where I’m lost. There doesn’t seem to be any true cold storage option to make a private key and accept funds to it, all without connecting to the internet. I guess I could build a blockstream satellite node but what a pain and idk if that would even solve the issue entirely.

Seppat, Please if you find a solution, can you let me know what you come up with? I’ve been looking for the same thing and Wallet 713 is beyond my technical ability. --Thanks

1 Like

Grin transactions are interactive. Your private key thus needs to interact with the transaction slate even as the recipient. Your private key cannot be truly isolated (e.g. written down on a piece of paper and never used in any way) from the rest of the world as it can with traditional cryptocurrencies.

Your best bet is probably to have your private key/seed on a device that is not connected to any network, and do file transactions with removable media (e.g. flash drives). That way you’re technically air-gapped, but you can probably never be completely certain that your flash drive doesn’t infect your air-gapped computer.

4 Likes

I suppose if I used a fresh USB stick each time to send a slate file that could be a half decent cold storage solution. I’ll have to tinker with that. Thanks!

1 Like

Today I would suggest a installed linux distro on a old harddrive thats treated as single purpose then removed from the computer once your recevied what you want, live usb linux comes with headaches and with early days software is weird so its a good idea to keep the secrets with the software that uses it.

In a few months I’d bet someone gets around to providing a proper solution, but thats not today.

1 Like

?

I know its command line, but its not the linux elitism command line rot that your probably picturing.

Google is a text interface for example, I imagine you know how to do math with it; its a question of good design and wallet713 is one of the good ones.

1 Like