In this post, you will get knowledge on how you can set up a crypto wallet which will hold multiple crypto and digital currencies. In the main part of this article, I will outline how you can create a secure backup for your cryptocurrency wallet. We have previously talked about the best EOS wallets and the best hardware and software wallets for EOS tokens; you would also get to know how to store the backups for long periods of time.
Table of Contents
A short introduction to Cryptocurrency Wallet Keys and Addresses
In the early implementation of cryptocurrency wallets, simple & independent Elliptic-curve key pairs were used to secure the funds kept within the wallet:
A private key can be created by taking 256bit of random data that nobody else will ever come up with (that is why it is good to pick a random password for the wallet). From that private key, a public key would be calculated with the use of the Elliptic-curve cryptography (in major cryptocurrencies, it is secp256k1).
The public key is hashed multiple times (two times with SHA256, and once with RIPEMD-160) and finally, it is encoded with the base58check; encoding its results in a human-readable string composed of approximately 34 characters.
The problem faced by people using this method is that every address (with the corresponding private key) that is used, needs to be kept separately. So a classic wallet is just a collection of public, loose and independent private and public keys. This is nice as long as you back up your wallet.data.
Writing down every single key down is not an option for you if you are making use of this approach. For this reason, the BIP32 was introduced as a way to generate key pairs deterministically from a single secret (seed).
A seed is randomly generated and it is usually displayed as 12 to 15 mnemonic words for the sake of being easily memorized and written down. This seed can also be encrypted optionally with the use of a passphrase to further help to protect the seed in case another person happens to find the backup of the mnemonic words.
The seed together with the optional passphrase will then be transformed mathematically with the use of HMAC-SHA512 to a Master Root Key.
From this master key obtained, an infinite number of key pairs would be calculated by applying a path (for instance m/2’/345). Further ideas, like BIP44 for instance, would define how the standard paths should be applied to generate the keys for wallets of various cryptocurrencies.
In this step, you’ll be taught on how to create the BIP32 master extended key which is also referred to as the root key or the HD root node key. With this key, all your addresses would be gotten and derived; this is why you should back up and protect this key.
However, if someone attempts to get this key from you, they will be able to control and manage all your funds and also steal all your coins. That is why we aren’t going to create some random characters but also encrypt with a password. With such a mechanism in place, you can be able to control the way on how you back up and store these separate pieces of information.
1. Go to the HD Wallet tool, but if you’re not sure about the security of your computer or with the HD wallet too, you can as well download the code and also run it offline by opening the index.html file. Note that there is a warning about using an internet browser to generate random numbers.
If you are already using a recent version of Google Chrome or Mozilla Firefox, you won’t need to worry about because they have implemented a kind of strong pseudo-random number generator. Also, the generated phrase would be encrypted with a password.
If you are already using the Internet Explorer or Edge, you should not be buying crypto-currencies at all but should just give away your funds to charity!
2. You’ll see 12 random English words which are already pre-filled in the “Seed Mnemonic“ field. Click on the tab “Generate new“ to generate random words (you can click on it as many times as you like until you get the password that suits your taste.
DO NOT make use your own words, if they are not in the BIP39 dictionary, you might just end up with a worse entropy than the pseudo-random number generator of your internet browser.
3. Once you are satisfied with some 12 words, ENSURE THAT YOUWRITE THEM DOWN. Yes, you can write them down on paper!
4. Now, come up with a password/passphrase which you will likely remember in the next couple of years. This phrase will assist in protecting your 12 words. For example, if someone is able to find or get the paper you have used to take down the words, they spend all your coins.
But with the password, you prevent all that from happening. But of course, if you still write down the password together with your own 12 words, you won’t need to add any extra security.
We recommend that you write down a hint of your password together with the 12 words; this will enable you to still have a clue about your password. Take this important because if you forget your password, it can never be recovered and no one will reset it foryou!
5. Make sure that the chosen/selected “Method“ is set to “BIP39 default (like Coinomi)“
6. Now, you should be able to see a long string in the field “HD root node key base58“, beginning with XMRV. This is your root key which is calculated from the 12 words and your password.
That is why you should never copy or write it down in any medium or application which you don’t trust. Write it that down or you can copy to any medium or app which you don’t completely trust!
Make a Back-up In The Cloudcoins Zero-Knowledge Storage Service
A single copy of anything is not enough to call a backup. You can go ahead and make another copy of the paper which you just wrote, write everything down and store it in a fireproof safe.
Now that you have a backup, you can possibly get another medium as a backup option. Another way to securely store your key and still be able to generate addresses from it is through the following method.
1. Create an account on www.cloudcoins.ch. You can make use of the same password which you used in the previous step to create the account. But of course, it is always a risk to use a password multiple times. However, what is important is to be able to remember your passphrase or your password in the future because when you forget it, no one would be able to help you to recover it.
2. After creating the account, log into the account and move to “My keychains“. Setup a keychain, select any name for it and select the tab “Import coinomi recovery phrase“. Now, go on and enter the 12 words together with your password.
3. By clicking ” keychain“ you store the root key into the database of cloudcoins.ch. But this key is only stored in a heavily encrypted system (AES256) with your password which you used to create the account. The unencrypted key will never leave your computer! If you choose to enter paranoid mode, you can as well run your own version of cloudcoins on an offline computer system.
4. Now that you have a keychain, you should be able to generate addresses for your coins. For instance, if you can click on “Add coin/cryptocurrency“ and select the Bitcoin (BTC) option. This tool will show you an address where you can send your Bitcoin. The service cloudcoins offers is mainly meant as a piece of backup but it is more accessible than real cold storage for crypto coins.
Zara is a business consultant, life coach, content creator and a media entrepreneur. On this blog, I share various tips as I inspire my readers and provide business ideas that would generate revenue for them. Feel free to read and share my posts with your friends.