Crypto Wallets : Comprehensive View

Crypto Wallets

A Crypto Wallet is a device, physical medium, program or service which stores the public and/or private keys that can be used to track ownership & transactions, receive & send cryptocurrencies within a distributed network like Blockchain. 





Cryptocurrency wallets are similar to existing wallets like Google Pay (GPay), PayTM, Phonepe, the only major difference is former wallets transact using cryptocurrencies instead of traditional fiat currencies like later.  Bitcoin, Litecoin, Ether are the widely known Cryptocurrencies. 



Cryptocurrency wallets are classified based on its connectivity to the internet, the functionality, storage methods and also based on its security mechanism. 

Types of Crypto Wallets

Connection to the Internet 

  • Hot Wallet: 

Wallets that are connected to Internet are referred as Hot Wallet. It is not a recommended practice to keep the cryptocurrency or the associated private keys in hot wallet as the hidden vulnerabilities could be exploited by hackers to steal the cryptocurrency or private keys. 

  • Cold Wallet: 

Wallets that are not connected to Internet are called Cold Wallet. It is one of the secure means to store the private keys. Cold Wallet are connected to the system only when performing any transaction. 

Functionality

  • Full Node: 

A Full Node is a network node part of the decentralized network that maintains the distributed ledger like Blockchain. The full node is referred to as mining node as they validate transactions & blocks and relaying them to other nodes in the blockchain network. Running a full node requires certain hardware, storage and connectivity requirements. For Example, running a Full node of Bitcoin Blockchain requires storage space around 300 GB (at the time of writing). 

  • Simple Node: 

A Simple Node is a wallet only client which allows any node to participate in the transaction. These nodes does not involve in any mining activities nor does it store any data from the blockchain. 

Storage

  • Desktop Wallet :
A Desktop wallet is the mostly commonly used cryptowallets. A Desktop wallet could either be a full node client or simple node client

Examples: 
  • BitcoinCore - Full Node Bitcoin Wallet
  • Electrum - Simple Node Bitcoin Wallet
  • GreenAddress - Simple Node Bitcoin Wallet
  • Web Wallet :
Web wallet is browser based simple node wallet that run either from a remote URL or as a browser extension. 

Examples:  
  • BitGo - Bitcoin Wallet
  • Metamask (Browser Extension) - Ethereum Wallet
  • SpectroCoin - Multicurrency Wallet - Bitcoin, Ether, NEM, Dash
  • Mobile Wallet :
Mobile Wallet is simple node wallet capable of running in mobile devices. Most of the Mobile Wallets are additionally supported by either Desktop or Web Wallets.

Examples:  
  • Electrum - Bitcoin Wallet (Desktop wallet also)
  • Metamask - Ethereum Wallet (Web wallet also)
  • Samourai -  Bitcoin Wallet 
  • SpectroCoin - Multicurrency Wallet - Bitcoin, Ether, NEM, Dash (Web wallet  also)
  • Hardware Wallet :
A Hardware wallet is a Cold Wallet which is not connected to the internet. The hardware stores the private key in secured manner like that of a protected microcontroller. This is considered to be the safest methods for storing and securing the private key required for transacting the cryptocurrencies. 

Examples:  
  • Ledger Nano
  • Trezor


 

  • Paper Wallet :
A paper wallet is the offline method (cold wallet) for storing the cryptocurrencies or the private key of the crypto wallet. Paper wallets were mainly used during the initial days of cryptocurrecies mainly for bitcoin. But as the awareness on the cryptocurrencies and the wallets has improved over the years, paper wallets are not preferred any more. Additionally, paper wallets are unsafe. 

Examples: 
 
Bitcoin Paper Wallet

 

Bitcoin Core



Bitcoin Core is a Full Node Desktop Wallet for Bitcoin from bitcoin.org. Full Node refers to a (bitcoin) node which maintains the distributed ledger and participates in the mining process (consensus).

To download BitcoinCore, click here. Once downloaded please install.

The default location in which BitcoinCore gets installed is C:\Program Files\Bitcoin. Since BitcoinCore is a Full Node, on running the application it will download the blockchain ledger from Genesis block till now. 

The default location in which these blocks (distributed ledger) and the associated files (mempool.dat, wallet.dat, ...) is C:\Users\<Username>\AppData\Roaming\Bitcoin




The Initial Block Download (IBD) will download the block from genesis block till the latest block. Based on the network speed, it may take many hours to download. Only after the download and sync are complete, you will be able to perform any transactions.  

Blockchain network normally has a Mainnet and one or more Testnet.  Mainnet is the actual production network where the transactions are real and cryptocurrency have real economic value. Testnet is the development and testing playground for exploring & understanding the blockchain where the cryptocurrency does not mean anything economic value.

Electrum

Electrum is a third party simple node desktop wallet for Bitcoin. Unlike a full node, a simple node contains only a section of block data i.e. block header. 

To download Electrum, click here. Once downloaded please install.

The default location in which the Electrum gets installed is C:\Program Files (x86)\Electrum.

Electrum Testnet wallet can be accessed by using the command "C:\Program Files (x86)\Electrum\electrum-4.0.2.exe" --testnet


Electrum wallet in Mainnet Mode - Showing Send Tab

Electrum wallet in Testnet Mode - Showing Receive Tab

To do transactions in a Testnet we need to have test bitcoins in our wallet. Click here to get test bitcoins from the Faucet. Faucet is a service from where developers can request & get Test Cryptocurrency (like bitcoin) for development and testing purposes.


Bitcoin Faucet

The faucet normally has a limit for requesting, maximum 0.01 bitcoin/hour. After requesting, it will take a few seconds to minutes for the transaction to reflect in Electrum wallet. 



Electrum wallet (Testnet) showing multiple transactions

Transaction Details


Metamask



Metamask is a Browser-based Web and Mobile Wallet for Ethereum blockchain. Metamask acts as a bridge between the traditional browsers and the Ethereum blockchain (distributed web).

Metamask browser extension is available for Brave, Mozilla Firefox, Google Chrome, Android and iOS.

Metamask allows connecting with different Ethereum testnets like Ropsten, Kovan, Rinkeby and Goerli. Like Bitcoin, Ethereum testnets also have Faucets for providing Test Ethers. Click here.to access Metamask Faucet.

To read more about Metamask, check this post

 

Authors: 

Minu M, Subject Matter Expert - Auditing and Forensics

Ramaguru Radhakrishnan, Lead Researcher

Total Pageviews