What Is Crypto Wallet, Encryption And Private-Public Keys — Part 3 of 3

By Munish Kohli on ALTCOIN MAGAZINE

Munish Kohli
The Dark Side
Published in
4 min readJun 23, 2019

--

In my previous articles, I went through explaining Public-Private Keys and Encryption concepts. In conclusion of this series let me explain what is Distributed Application (Dapp). To interact with Ethereum smart contracts through front end apps, web 3.0 protocol is needed. MetaMask provides Web 3.0.

It’s a Chrome browser extension developed by Google. MetaMask is not the only Wallet, but also when installed injects web 3.0 in Chrome so that front end Dapps can be designed and tested. In one of my article, I explained Web3 module usage for the deployment of Smart contract, but that requires reference to the web3 module. For a novice user who does not understand web3 and just wants to send/receive ethers, MetaMask comes into play. MetaMask can let user either plainly transact ethers or interact with Smart Contract through the Chrome Browser. In summary, MetaMask is a bridge between your browser and Ethereum blockchain.

MetaMask belongs to Hierarchical Deterministic (HD) wallet family. What is HD?

You remember in above MEW steps; a private key was generated and its encrypted version gets stored in a KeyStore file. In case you need to have another account, a similar process is needed in MEW for the generation of the private key which in turns create another paper wallet or KeyStore file. When the complexity of transactions increases where you may need to store them in multiple accounts having multiple private keys or KeyStore files is cumbersome. Here come HD wallets to make life easy. In HD wallets, private keys are determined (Hence deterministic) behind the scenes through a seed key. This seed key is composed of 12 or 24 words. A seed is also called Mnemonic code. This seed is itself a private key. From these Key multiple private keys are determined in a hierarchical (Hence hierarchical) manner. Similar to a private key, in case seed is lost, the information would be left vulnerable to whoever now possesses the seed to get into private information. This seed is initially generated by the wallet. I have made up seed below in bold just to show how it appears.

finger want arm control setup pencil local book sweet then merchant loose

Here is a nice article about HD. You will see a real Seed generation during account setup in MetaMask.

I can show step by step installation and account setup for MetaMask, but it is so simple that I can just refer to tons of material on the web. Here is an article on how to install and setup MetaMask. You can always install/uninstall MetaMask with no hassles.

In case you are developing and testing Dapps, MetaMask can interact with local blockchain (Ganache) environment, Rinkeby testnet or real Ethereum network.

MetaMask Security

MetaMask is locked by default. During the course of the transaction, MetaMask needs to be unlocked. This may expose to a possible phishing attack as MetaMask stores the private key in a browser local storage. In case multiple tabs are open hacker can steal your private key by popping a page informing you that transaction did not go through. This may force you to unlock MetaMask by entering your password. Hackers now have access to your wallet. Best way to do a transaction in MetaMask is to go through a single tab. So, is MetaMask secure? Anxiously yes. It is as secure as users are. In case you are trying to download a movie from an illegal web site and MetaMask is unlocked then you are responsible for the safety of your Ethers.

Different wallets developed just make life easy in terms of generating and managing accounts. One can generate its own private keys using various ways. That requires some technical skills. Here is one article I liked.

There are hardware wallets too. They are like USB, removable storage devices. They are also called cold storage because they keep your private key offline. One should always store cryptos in different wallets. In case one gets hacked or stored then at least you will have a backup. In the next article, I will show how to deploy to Rinkeby testnet using HD wallet and Infura API.

In case you like this article, feel free to give as many claps or have any suggestions, please leave comments.

--

--

Munish Kohli
The Dark Side

Technology Enthusiast | Business & Data Analyst | Machine Learning | Big Data | Blockchain | IBM Hyperledger | Ethereum Smart Contracts