Blockchains usually feature individual accounts that are only set up if a transaction to or from it is initiated. Each account is addressed by and consists of a public alphanumerical key (public key), which is derived from a matching private key only known to the account owner. Both keys are cryptographically linked. A correlating public key could be calculated for any given private key but not vice versa, and both keys allow for asymmetric encryption. Therefore, any transaction initiated for a given public key can be and must be signed/authorised with the corresponding private key and the validity of the signature can be verified by the public key. The private/public key pair is not stored in the blockchain but is usually generated and stored off-chain. Only the public key may be stored on-chain as an account number.
In a strict sense, a wallet may only refer to any storage of such private/public key pair. That may be in paper form (paper wallet – a rather unsecure solution) on an encrypted external storage device (hardware wallet) or stored securely on any user device or online by software featuring additional functionality, such as being an interface for sending transactions to the blockchain (software wallet). Software wallet software almost always features the possibility to create new private key public key pairs/accounts at the touch of a button and allows secure storage. In the Ethereum blockchain, for example, one of the most commonly used wallets is a software program named Metamask, which is installed as a simple browser extension. Once installed, a new Ethereum account can be generated and the public address is immediately shown. As indicated earlier, no transaction in the blockchain is needed for this. An account is created in the blockchain under this public key only when any cryptocurrency is transferred to the public key. This may happen when funds are added to the account for the first time, for example by transferring them from an existing account/wallet to the newly created one. Multiple service providers meanwhile offer transfer of cryptocurrency against a corresponding amount of fiat currency.
In a nutshell, wallets are nothing more than tools for accessing, sending and receiving crypto assets such as Bitcoin or Ethereum.
- A wallet can be either a physical medium such as paper or a device, or a software program.
- A wallet is essentially used to store single or multiple public key / private key pairs.
- A wallet only interacts with a blockchain but does not contain the crypto assets themselves.
What crypto-wallet did we choose for our NFT self-experiment and why?
As NFT trading primarily runs on the Ethereum blockchain we needed to use a crypto-wallet for our NFT self-experiment that supports Ether. From the variety of crypto-wallets on the market we decided to use the software-wallet Metamask which we installed as a browser extension of our google chrome web browser. The main reason for this was the fact that the NFT platform (OpenSea) we used for the placement of our NFT required us to have a software wallet that the respective web applications could communicate with. In this case a physical wallet (paper or device) would not be suitable and would only have caused complications for us.