Self-custody is considered the best practice for managing crypto assets, but many users still accept custodial risk for ease of use and lower costs. Recent incidents, such as those involving FTX, Voyager, and Celsius, have reminded the industry of the importance of self-custody, leading to an increase in demand for non-custodial wallets. However, infrastructure for self-custody still needs to improve to make it the default option. The best wallet solution will depend on the specific use case and the balance of requirements for the users. There are mainly two types of users: Institutions, who want to outsource liability with chain-agnosticity, auditability, and institutional-grade security, and Individuals, who want a good user experience, low cost, security, and flexibility.
There are three main categories of wallet solutions: Conventional Wallets, Smart Contract Wallets, and Multi-party Computation Protocols (MPC wallets).
Let's first cover all of the attributes that a wallet should have.
Recoverability - How easy it is to recover assets and access the funds.
Privacy - How easy it is to keep addresses linked to individuals or organizations private.
Security - The degree of protection against attacks.
Extensibility - How well the wallet can integrate new features and integrations.
UX - How easy and intuitive it is for the user to use the wallet.
Cost - How expensive it is to perform transactions, create accounts, and manage access.
Many wallets have been developed over the past years. Here is a list of some and what type they are:
Conventional Wallets
Matamask
Trust Wallet
Coinbase Wallet
Casa
Ledger
Trezor
Rainbow
Smart Contract Wallets
Argent
Pillar
Safe
Linen
MPC Wallets
Sepior
Fireblocks
Lit
Coinbase
ZenGo
Qredo
Conventional Wallets use a seed phrase and a hierarchical deterministic (HD) structure to generate private keys, public keys, and addresses for users. They are the main entry point for self-custody of assets, but have a single point of failure. Users can lose all their assets if private keys are lost and have to manually keep track of multiple addresses and approvals. Even though this type of wallet has onboarded many users, many are still hesitant to dive into crypto as they do not want to run the risk of losing all of their assets due to forgotten keys. The users that use these wallets are mostly individuals and multisig signers. Multi-Party Computation (MPC) and smart contract wallets remove this single point of failure and have been adopted by institutions, individuals, and DAOs. Both types have their own trade-offs, but are fundamentally different in their technical approach. Conventional Wallets six attributes:
Recoverability - If a private key or seed is lost or compromised, there is NO recoverability.
Privacy - Users need to use multiple accounts and fund gas costs via another account, resulting in not-so-good privacy.
Security - Browser wallets run the risk of being compromised. Hardware wallets are safer.
Extensibility - Good to grow ecosystems within the wallet. Its dependent on the developers on the wallet.
UX - Easy onboarding with browser extensions, but cumbersome due to seed phrases.
Cost - Accounts are free to create. Fees are based on on-chain activity.
MPC Wallets allow multiple parties to jointly manage a public-private key pair without a single point of failure by splitting, encrypting, and distributing the private key among multiple parties. This allows a threshold of parties to generate a signature using their secret shares, making the signature indistinguishable. It also allows parties who do not trust each other to jointly run a function over their inputs while keeping their privacy. These types of wallets are currently used by institutions and their clients because it allows for both parties to have access and control while preserving access, safety, and privacy. There is also no single point of failure, unlike in conventional wallets, if the user loses their private key. These wallets also have cheaper gas fees because it is represented as a single address and the signatures can happen off-chain. MPC wallets can also be easily applied to different chains and also interact with https which connects them to Web2 platforms. However, lack of support from consumer hardware manufacturers like Ledger and Trezor has limited the adoption of MPC wallets by retail customers and it has primarily been used as an enterprise solution. Some downsides to MPC wallets are they are mostly siloed from developers, they are not compatible with hardware wallets, and because the signing authorizations is done off-chain they are a bit centralized. MPC Wallets six attributes:
Recoverability - Can recover keys either by multiple recovery schemes off-chain or private key rotation.
Privacy - Uses off-chain signing schemes which preserves privacy.
Security - Browser wallets run the risk of being compromised. Hardware wallets are safer.
Extensibility - Most libraries are closed source and incompatible with other wallets.
UX - Easy onboarding with browser extensions. But cumbersome due to seed phrases.
Cost - Accounts are free to create. Fees are based on on-chain activity.
Smart Contract Wallets are simply smart contracts that act like a wallet. This allows for logic and code to be implemented directly on the contract layer in relation to a user. Unfortunately, at the time of this writing smart contract wallets are dependent on the consensus layer they sit on, and those consensus layers or chains need to be redesigned and forked in order to incorporate smart contract wallets. What really hinders smart contract wallets right now is that they cannot operate on their own; they need an externally owned account (EOA), such as Metamask, to originate the transactions and pay the gas to trigger an action. One solution to this problem is called Account Abstraction (AA), which unifies the EOA and smart contract account while abstracting the user account from the execution of the transaction. This will overall help the usability of wallets. Note: this was written just before ERC-4337 is being voted on which enables account abstraction without requiring changes to the Ethereum protocol. Currently, a Metamask user has to sign three different transactions, which is cumbersome. With AA, this will only take one step. The advantages of a smart contract wallet include its open-source nature, signatures taking place on-chain, cost savings with transaction batching, the ability for the user to define parameters with programmable access control, easy key recovery through trusted guardians, and there is no single point of failure. The current drawback without AA is that it is not universally supported currently, recovery is expensive, and it comes with higher fees due to the verification of multiple signatures. Smart Contract Wallets six attributes:
Recoverability - They can be recovered through deadman switches, collaboration with custodians, or through social means.
Privacy - They use on-chain signing schemes, which make audits more straightforward.
Security - They are very secure with no single point of failure.
Extensibility - They are open and encourage an ecosystem to extend wallet features.
UX - They can be greatly customized and will be simplified with AA.
Cost - They may have higher costs than others, but this could be reduced with transaction batching.
As the goal is to continue on-boarding as many people to blockchain, I believe that currently, decentralized multiparty computation (MPC) wallets are the best options. They may not offer the highest level of security and flexibility, but they are versatile and can be applied to multiple platforms and even non-blockchain systems. They also eliminate the worry about individuals losing their keys and assets. However, I hope that in the near future we can move to smart contract wallets with account abstraction, which will offer the most secure, efficient, and user-friendly experience for self-custody on the blockchain. Conventional wallets were a good start, but it is time to move on. I will cover MPC wallets and account abstraction smart contract wallets further in future posts. I am extremely excited about this area and believe it will be a pillar of the future of blockchain.
With Love, CookieMonster

