The Wallet War: Understanding the Misunderstood Concept of Crypto Wallets
By Volodymyr Pavlyshyn
Hello, folks! Today, we’re diving deep into the world of crypto wallets. I’ve previously discussed the differences between hot wallets, cold wallets, agents, hubs, and other components actively used in Self-Sovereign Identity (SSI). However, today, we’re focusing solely on wallets.
What is a Wallet?
A common misconception is that your wallet holds your assets, NFTs, Assets , and all things crypto. In reality, your wallet is your key management assistant, primarily responsible for managing your private keys and, in some cases, timing. Hence, the term ‘wallet’ is somewhat misleading. It would be more accurate to call it a signer, keychain, or key master.
The Problem with Wallets
The adoption of SSI and crypto comes with a significant responsibility: managing your private key. If you lose the key, you lose everything. This creates a huge usability problem as there’s no way to recover or have a recovery system in place.
The most popular approach to wallets is based on the idea of using a ‘seed’ instead of keys. This seed is a form of entropy from which you can deterministically generate private keys. This concept was sold as a secure method, with the Bitcoin standard BIP 32 outlining how to convert the seed into multiple different keys of different types.
The Issue with Seeds
However, the question arises: how do you keep the seed secret? How do you recover it? The common solution is to convert your binary entropy into a mnemonic phrase, giving you 12 to 24 words that you need to memorize. But this method has failed spectacularly.
The hierarchical wallet, which is essentially a wallet at its core, has a significant flaw: if you lose the seed, you lose multiple private keys. This is one problem. Another issue is that it works well for one type of cryptography. If you want to combine one key from Bitcoin with another key from more modern chains like Solana, you lose the possibility because of the different cryptography involved.
The Limitations of Hierarchical Wallets
Hierarchical wallets were a cool concept that simplified a lot and allowed you to just memorize a phrase and manage multiple keys. However, it created a single point of failure, a lot of limitations, and the main problem of the hierarchical wallet is the process of recovery, or rather, the lack thereof.
The Quest for the Perfect Wallet
So, what’s the best wallet in the world? It’s one that the user doesn’t even know exists. If we can create a seamless experience for the user, where they don’t even realize they have some magic wallet, that would be a success. But what about recovery? What can we do there?
Multi-Part Computations (MPC)
The first idea was multi-part computations, where you split your private key into multiple sub-keys that need to come together to form a quorum. For example, you split it into ten parts, but to get the signature, you need six parts. This off-chain approach allows you to distribute cryptographic materials over the wire, and different people need to come together in some quorum to sign the transaction. However, the problem with MPC is that it’s off-chain, and many threshold signature algorithms are not compatible with each other. Currently, we lack a standard that allows us to do this.
Multisig
Another approach, quite similar to the previous one, is multi-signatures or multisig. This is not a new concept. If you’re a Bitcoin user, you know that you canbuild an unlocking script that requires the same scheme. For example, in the Lightning Network, you need two of two signatures to unlock the transaction. The idea is simple: you have multiple independent private keys, but you need several of them to unlock the wallet or sign the transaction.
Smart Contracts as Wallets
The majority of multisigs are smart contracts, so the cost of these operations can be high. It usually requires multiple operations. Some networks require you to have some kind of smart contracts, and we will talk about smart contracts as wallets in a moment. But the idea is simple: you have multiple keys, you can distribute them over the wire, and have social recovery.
Account Abstraction
The Ethereum folks came up with the concept of account abstraction. This means that your account and the signing of your transactions can be managed by a smart contract. This changes a lot, including how we validate signatures and operate with accounts. With account abstraction, you have a programmable way of managing your account, signing your transactions, and it could still be social recovery, multisig, or you could create your own programmable concept that will allow you to manage transactions, sign transactions, and manage keys.
Programmable Key Pairs (PKP)
If you don’t have such things in your blockchain or maybe you’re completely off-chain, you could look at the LIT protocol. The guys there have a quite cool idea of programmable key pairs (PKP) as some kind of NFT. This means that you could mint the key, manage the keys like NFTs, and it’s more blockchain-independent, so you could port the programmable key pairs to different networks.
Seedless Wallets
All these things like multisig, MPC, PKP, and others revolve around the concept of seedless wallets. In seedless wallets, you don’t have a seed, but you have a different programmable mechanism that allows you to recover your wallet easily.
Conclusion
The world of wallets is complex and ever-evolving. As we continue to innovate and explore new ways to improve security, usability, and recovery, it’s crucial to stay informed and understand the mechanisms at play.
If you’re doing something in the space of wallets, recovery, security, or usability of Web3 solutions, I’d love to hear from you. I’m always ready to share my knowledge, provide consultation, and collaborate on building something new.
Remember, the best wallet is one that provides a seamless user experience, robust security, and easy recovery. As we continue to innovate in this space, I’m confident that we’ll get closer to this ideal.