A blockchain wallet is a software program or a hardware device that could be used to store cryptographic keys.
The term “Wallet” could have several meanings or interpretations in the context of blockchain.
At the very basic level, a wallet is just your key-pair that can hold a token or cryptocurrency balance on a blockchain. In the previous episode, I explained Accounts and Keys. So, a wallet is basically an account and it’s associated keys that may or may not have a balance on a blockchain.
In contrast to the physical wallet in which we keep currency notes, a digital or blockchain wallet does not hold digital currency. Instead, the wallet holds the cryptographic keys so that they could be used is a simpler way. So, another and more widely accepted definition of a blockchain wallet is a software program or a hardware device that could be used to store cryptographic keys associated with one or more blockchain accounts.
A software wallet is a program or an application that generates and stores cryptographic keys for signing blockchain transactions. In addition, some wallets also allow the signing of transactions. These software wallet applications typically have three main functions that users could use. These functions are:
- Generate new account + keys using a password or a random seed.
- Sign transactions using the generated keys.
- Query and show the balance of an account from a blockchain network.
A hardware wallet is a hardware device that does the function of a blockchain wallet. Hardware wallets are more secure than software wallets as they have the keys safely stored on the secured memory area of a purpose-built chip. Using hardware wallets, keys are safe as they can’t be accessed directly as plain text and transactions are signed inside the device itself. Hardware wallets generally connect with a computer using USB and have associated apps that connect to a blockchain network for balances and sending transactions.