Crypto Academy Season 5 Beginners' course - Task 9: Blockchain Wallet-- Types, Uses, Installation, etc.
Introduction to Blockchain Wallet
Blockchain wallet is a tool to store keys(private key+public key), using that key, one can send the crypto to another peer and/or manage the crypto from simple to sophisticated financial use-cases.
Blockchain is the underlying infrastructure, the Blockchain wallet is a decentralized application(aka dApp) on the top of Blockchain to facilitate a user to manage crypto.
Crypto is a digital asset of a Blockchain network(a distributed network). Blockchain is an immutable digital ledger powered by a cryptographic signature.
- Cryptography makes Blockchain a secure ledger.
- Immutability makes it impossible to tamper with, as you can't erase the data.
In the traditional financial system(Bank), when you make a transaction the trust is governed by a third party(Banks), in Blockchain, it happens peer-to-peer, the trust is governed by the code, thus it eliminates the third party.
The distinguishing feature of a Blockchain wallet is the absolute control of the asset.
The Blockchain wallets are key-based wallets (Private Key+Public Key).
Private Keys should remain private all the time. In the traditional financial system, you always have an option-- "forgot password" using that you can restore your password. By contrast, there is no such concept/option exists in a Blockchain-based wallet. So you have to take utmost care in securing your private key. There is an adage in crypto-- "Not your key, not your asset".
A Blockchain wallet is associated with a wallet address which is obtained by hashing the public key. And the public key is generated from the private key using cryptography which is a one-way function, thus making it secure.
In the traditional financial system, when you issue payment by cheque you need to enter the Beneficiary name-- "In favor of" or "Pay to", then you put your signature in the check. That signature is unique to you.
When you transfer funds through Online Banking you enter Beneficiary Bank Account Number and then you authorize the transaction through OTP, Transaction Password.
When you make a payment through a Credit/Debit Card, you need to enter the CVV, PIN.
In all three cases, your Name or Account Number can be made public in order to receive payment from someone(in business). But your Signature or OTP or PIN or Transaction Password is private, which should be kept secret.
In Blockchain, you are issued with a key pair-- Private Key and Public Key.
The Public Key is just similar to a Bank Account Number or Beneficiary Name. You can share it with anyone in order to receive money, to remain in business with your counter-party.
The Private Key is similar to the Signature, OTP, PIN, Transaction Password, etc. It should be kept secret. It is used for Authentication & encryption.
- Public Key/Wallet Address ~ Bank Account Number
- Private Key+Password ~ Transaction Password+OTP
The keys are created locally, stored locally either as a file or a database or simply as a wallet. The private key is critical to your absolute control of the asset.
Different forms of Private Key & How does it look like?
- Private Key(A string of alphanumeric characters)
- Mnemonic key(Seed)
- Keystore file(JSON File)
A private key is a string of alphanumeric character and that is created randomly using cryptographic functions as soon as you create a Blockchain wallet.
Using this key you can unlock & spend your crypto assets. So this should be kept secret and should be kept safe all the time.
This is another form of the private key, also known as a mnemonic phrase, mnemonic passphrase, seed key, etc. You can perform the same function as that of a private key.
The essence of the mnemonic key is that it is easy to handle, human-readable, and can also be memorized. Generally, BIP-32, BIP-39 specifications are used for mnemonic phrases. The mnemonic phrases are generally 12, 15, 18, 21, 24 words long.
It can be used to restore a wallet, reset the password, can be used to generate wallet addresses. But always pay attention to the sequence of words when you store it and when you restore a wallet.
When you restore a wallet using mnemonic phrases it will show you all the addresses containing in it. Further, once you restore your wallet using the mnemonic key, you can also generate new wallet addresses.
The Keystore file is another form of the private key, but a Keystore file alone is not a private key(a JSON file). When you set up a wallet you set your own password locally on your device for that wallet. If you have backed up the Keystore file, then you can restore your wallet again with the help of the Keystore file and the password (set by you previously).
So we can say Keystorefile+Password(set by you)= Private Key.
This is how it is different from Private Key and Mnemonic Key. In the case of a Private Key or Mnemonic phrase, you don't need the password(set by you) when you restore your wallet.
Different types of Blockchain wallet and their uses
Hardware Wallet & Software Wallet
A Hardware wallet is a portable electronic device that uses randomness to generate Private+Public Key pair and gives secure access to the crypto asset. So they remain in the offline environment and they can be connected to a computer/laptop via USB port or Bluetooth.
A hardware wallet does not risk disclosing sensitive information to an internet-connected device even when you connect and sign a transaction. That is how they have better security advantages over the software wallets. Alongside it always creates a feeling that you own that asset, that is in your hand, in your hardware device.
Example-- Ledger Nano X, Trezor, KeepKey, BitBox, etc.
A software wallet can be either in the form of a web wallet or a desktop client or a mobile client. In both desktop(Computer/Laptop) and mobile clients(Android, iOS) you have to download and install it, whereas, in the case of a web wallet you don't need to download anything, you just need to set up your wallet; and they run on the browsers. Whether you install it on a Desktop/Smartphone or you set it up on the web, always back up your private key. Even if it is connected to the internet, don't forget to back up and store your private key offline.
Note- Extension- Metamask, TronLink, etc(installed in Chrome, Firefox, Brave, etc) can be categorized as Web wallets.
A web wallet may be easy and convenient for general users, but vulnerable to hacking. In the case of a Desktop/Mobile client, make sure your Computer/Laptop/Smartphone is free from virus/malware.
Out of the three forms, these days people prefer a mobile client over the other forms of Software wallets as Smartphone by nature is mobile, so users can carry it anywhere and can use as per their convenience.
Cold Wallet & Hot Wallet
A Hot wallet ideally works in an online environment(connected to the internet) whereas a Cold wallet works in an off-line environment, thus offers better security(in the context of virus/malware, hacking threats) than Hot wallets.
- Desktop clients, Mobile clients, Extensions, etc are examples of Hot wallets.
- Hardware wallets, Paper wallets, etc are examples of Cold wallets.
Deterministic Wallet & Non-Deterministic Wallet
A Blockchain wallet always comes with a key pair- private key & public key. In non-deterministic wallets, you can create many such pairs, but the pairs are not rooted to a single seed, which means every time you generate key pair in a non-deterministic wallet, you have to keep it secure. So if a person strategically uses a different public key & addresses every time(for anonymity), then it becomes hectic management of securing your private key. Because every time you do so you have to take care of the private key also.
In contrast, a deterministic wallet comes with a seed key, all the subsequent private/public key pairs are rooted to that seed key. So in such a wallet, even if you use a different public address, you don't have to back up the associated private key every time, as all the subsequent keys are rooted to the seed, backing up the seed will be enough, as the seed will automatically take care of the rest of the keys.
All modern-day's wallets are Hierarchical Deterministic (HD) wallets. Most of such wallets use a 12-word seed key.
Single-chain Wallet & Multi-chain Wallet
A single-chain wallet supports coin(s) belonging to a particular Blockchain. It can't support coins belonging to heterogenous Blockchains.
A single-chain wallet is basically for the targeted use such as for developer/miner of a Public Blockchain, sophisticated DeFi use of a particular chain.
Example-- Bitcoin core client supporting Bitcoin only is an example of Single-chain wallet, similarly, Metamask which supports ETH & ERC 20 tokens(multiple coins but same family), TronLink which supports TRX, TRC20 tokens(multiple coins but belonging to the same family/Blockchain), etc.
A Multi-chain wallet supports coins of heterogenous Blockchains, hence more general than a single-chain wallet. This type of wallet is well known for versatile use, interoperability, web 3.0 features, encrypted back-up, etc. A user can easily manage cryptos of heterogenous Blockchains from a single place.
A multichain wallet can be imported into another Multi-chain wallet of different services. A single-chain wallet can also be imported into a Multi-chain wallet.
Example-- Guarda Wallet, Trust Wallet, Atomic Wallet, etc.
Web 3.0 Wallet
- Fundamentally a web 3.0 wallet has to be non-custodial-- Absolute ownership.
- A web 3.0 wallet is always a key(Private Key+Public Key) based wallet.
- It should be able to interact with other dApps(Gaming, DeFi, Exchange, Loan, etc) of the same family(at least).
- It should be compatible, seamlessly integrated, and must operate through Smart contracts.
Examples of Web 3.0 wallet--
- Metamask- A web browser extension.
- Tron Link- A web browser extension.
- Trust Wallet- A Multichain wallet.
General practice during "Download, Installation, and Restoration of a Blockchain wallet"
Once you download a wallet, the setting up of the wallet begins with storing your key(Private key/Mnemonic key/Keystore file). Pay attention to the sequence of the words(in the case of Mnemonic Key) as you are required to enter the words in the correct sequence, and then set your password.
You don't need a password if you are dealing with a private key/mnemonic key, but if you are dealing with a Keystore file, then you have to remember your password as well, otherwise you won't be able to re-install it on a new device.
You can import another wallet, should you know the private key/mnemonic key/(Keystore file+password) of that wallet.
You can also export the keys of the existing wallet.
The password set by you is local to that device. The private key is always paramount. Knowing the private key(in the case of the Keystore file, it will be Keystore file+password) is enough to regain access to your wallet. So always keep it off-line.
Never store your private key/mnemonic key in your email/never send it to another email.
Don't take a screenshot of your private key/mnemonic key.
Avoid making a digital copy & storing it in cloud services.
The best practice is to write it down on a piece of paper and making more than one copy of it. Better laminate it. But don't write all the words of the mnemonic phrase on a single piece of paper. The best practice is to divide it into 3 or 4 parts.
You can also store it in a pen drive which is not used before. But even if you do so, never forget to keep a hard copy by writing it on a piece of paper.
TronLink is also available for Android, iOS.
Download/Installation/Set up a new wallet
Click on Chrome Extension. Then Chrome Webstore.
Click on Add to Chrome. Then click on Add Extension.
Now you can notice-- it is added as an Extension in your browser.
Set up your wallet by entering a new password/repeat the password, then click on Continue.
Now you can see three options-- Create, Restore, Hardware. Create will create a fresh wallet for you. Restore will restore your already existing wallet if you have the private key. Hardware is for connecting your Hardware wallet(e.g. Ledger). Click on Create.
Set Account Name. Click on Continue.
Now write down the Mnemonics(12 words) displayed in front of you. (Very very important). Pay attention to the correct sequence. Click on Continue.
Now enter the words(Mnemonics) in the correct sequence/order. Click on Confirm.
You are good to go now. You are now done with the setting up of your Tron Wallet(You have created a New Wallet).
Restore an already existing wallet
Click on Restore.
Set Account Name. Click on Continue.
You can import your account by using any of the three forms of Key-- Private Key, Mnemonics, Keystore File. I would select Mnemonics.
Enter the Mnemonics phrase in the correct order/sequence. Then click on Continue.
You are good to go now. You have successfully restored your Tron Wallet.
(1) How do you store/secure your keys? What are the different forms of Private Key(Examples/Screenshot)? Download & Install TronLink Wallet(Android/iOS/Extension)? How do you store the key(Hint- write it down on a notepad, demonstrate it with examples)? Which form of the key are you comfortable with to handle your TronLink Wallet? Include Screenshots & hide/blur the sensitive information.
(2) Please indicate your Steem integrated TronLink wallet in Steemitwallet.com? If you already have the private key/public key of your Steem integrated Tron Link wallet, demonstrate how do you restore this wallet in a fresh installation or device? How important is the password that you set locally in a fresh installation? Which form of the private key needs the password too to unlock the crypto asset? Include Screenshots and hide/blur the sensitive information.
(3) If you have already installed your TronLInk wallet, demonstrate how do you export your account? Which form of the private key are you comfortable with to deal with your wallet? How do your store your keys? Demonstrate your experience with all three forms of keys during the installation/restoration of the TronLink wallet? Include screenshots and hide/blur the sensitive information.
(1) Your article should be at least 300 words.
(2) This homework task does not have an expiry, however, you can submit your assignment only once. If you have already completed Task-6 of Beginner[Fixed] in Season 3, then you do not need to attempt this Task again. Your label will be updated according to Sl no of Task(Season 4).
(3) Eligibility Criteria--
- Must have a reputation of 50 or above
- Must have at least 150 SP (excluding any SP delegated-in, Delegating to vote-buying services is viewed negatively)
- Must have completed Achievement Task-4 in Newcomers' Community
(4) Add tag #academys5-intro09 #cryptoacademy in your post and should be among the first five tags. And also make sure you post in the Steemit Crypto Academy community.
(5) You can attempt anyone out of the three questions, but you must write the entire Question in Bold letter at the beginning of the post.
(6) Your homework title should be Your homework title should be [Your Title] - Steemit Crypto Academy Season 5 - Homework Post for Task 9. For example-- Blockchain Wallet(Types, Uses, Installation) - Steemit Crypto Academy Season 5 - Homework Post for Task 9.