The blockchain is, in concrete practice, a distributed and decentralized database. But it is not famous for that, but for using cryptocurrencies. Like all forms of money, cryptocurrencies must be stored somewhere safe. In the traditional banking system, the banks are the ones that offer the service of storing our money, but this scheme is not compatible with the blockchain.
Within the blockchain, the user manages his cryptocurrencies himself. As a crypto is not money in the conventional sense, that is, it is not paper money or does not ordinarily have a physical equivalent, this problem must be treated in a different way.
The solution that the developers found was to create a software that will keep the record. They called this software “Wallet”, in analogy to the wallets that each person can have in physical reality.
What is a wallet?
The Wallet is a software that fulfills the role of storing and protecting the crypto assets that the user has, which can be tokens or cryptocurrencies. Since a blockchain always uses an encryption algorithm, the wallet must also use that same algorithm (or complement it with additional security) to communicate with the blockchain where the transactions will take place.
A wallet is one of the most important parts of a blockchain, because it communicates the user with the blockchain and allows him to carry out all the transactions he requires with the other members of the community. These transactions are, of course, deposits and withdrawals. The wallet software must implement a security system and a protocol for these operations.
Each transaction between one wallet and another generates a record that, as such, will be stored in the blockchain (in a block); this set of records is what is called the “ledger”. This makes wallets very important to the functioning of the entire blockchain community. Basically, the reason for the existence of the blockchain is to store the record of all the operations that the community performs through its wallets.
How does a wallet work?
The core of the functionality of a wallet is the key pair: public key and private key. The first thing we do when installing the software on our computer is to generate the private key. Quite strong encryption algorithms are usually used for this purpose.
The private key is the heart of our wallet. It is a unique number that provides to us with total power over the contents of the wallet and that key is required to be able to carry out any operation with our crypto assets.
From the private key, the public key is then produced. This public key is the one that the software uses to generate the different addresses through which we will receive our crypto assets.
It is important to know that, as a security standard, the algorithms used by wallet software allow the public key to be deduced from the private key (so we can always reconstruct our addresses), but not the other way around. In other words, we cannot know anything about the private key of a wallet just from its public key and the time it would take to solve the algorithm that built the key would be computationally infeasible.
What else can we do with wallets?
The crypto assets exchanged between the wallets of a blockchain community are not necessarily of a financial nature. With the advent of tokenization in networks like Ethereum and BSC (Binance Smart Chain), smart contracts exchange many more kinds of transactions. NFT’s are an example of them, but so are the governance tokens used in DAOs and decentralized communities.
That is to say, the name “wallet” is already a historical curiosity of the blockchain, a mere convention. In practice, the wallet as software is the way in which users can interact with other users and it is the record of these interactions that is kept by the “ledger”.
This shows a glimpse of what can be found. There are many kinds of Wallets; they vary from the way of encrypting and handling cryptographic codes (the encryption of assets), to the type of tokens or cryptocurrencies that are stored and the level of security that is put on them (that is, the private key management).