1. Background
Data from Tokenterminal shows that there are about two million addresses active on mainstream chains such as Ethereum, BSC, and Polygon on a daily basis. A16z predicted in a 2022 report that the number of Web3 users will reach 1 billion. Based on that prediction, Web3 is still in its infancy and has a huge potential for growth. As major infrastructures in the crypto world, wallets are users’ gateway to Web3.
Today’s crypto wallets are not that friendly to beginners. For instance, though required to keep their mnemonic phrases, many users cannot fully understand the significance of mnemonics and private keys, and they often leak or forget their mnemonics, leading to the loss of cryptos. Despite the products like multi-signature wallets that mitigate the security risks of having just a single set of mnemonic phrases, it is hard to fully integrate them into existing apps, and they are normally used as a way for institutional investors or whales to store their assets. To avoid the inconvenience of integrating with native crypto wallets, some applications choose to keep the accounts in a centralized manner and access crypto wallets when users request to deposit or withdraw cryptos. Yet, that centralized approach entrusts users’ assets to project teams, and users do not really own their cryptos, which goes counter to the principles of Web3.
New wallets that cater for user experiences have emerged in response. Today, we will look into the existing wallet solutions and iconic projects based on different technologies, and it will be clear that features including social recovery and the elimination of mnemonics/Gas are becoming the new narrative of the category.
2. Hierarchical Deterministic (HD) Wallets
i) Rationale
Since Satoshi Nakamoto created Bitcoin, we have been able to access and control our cryptos through private keys in blockchain-based, decentralized electronic cash systems. As a core component of crypto wallets, private keys consist of a long string of random letters and numbers, and HD wallets use a hierarchical deterministic algorithm to generate and manage private keys. In an HD wallet, all private keys are generated by a master key and divided into countless grandchild keys through the HD algorithm. Mnemonics that users back up are a human-friendly, easy-to-remember manifestation of the master key.
In a sense, private keys are equivalent to assets, meaning that they should only be kept by users and never disclosed. Once a user’s private key was leaked to others, they could then steal his cryptos or conduct unauthorized transactions. Right now, most crypto wallets provide a wide array of security mechanisms to protect private keys, such as encrypted private keys and mnemonic backups. For the sake of both security and convenience, wallet developers have created different products such as web plugins, mobile wallets, and hardware wallets within the HD framework to meet all kinds of demands.
ii) The status quo of HD wallets
Yet for many users, understanding private keys and their importance can be a challenge. Although users don’t need to be expert at the tech details of cryptography to use crypto wallets, beginners could hardly realize the significance of private keys or mnemonics. Private keys, which are managed by users, are often leaked or lost, resulting in asset losses. As blockchain technology advances, Web3 applications including GameFi apps are attracting a large number of Web2 users, yet the design of native HD wallets has become a stumbling block for them to join Web3. Therefore, many projects have to educate their users on wallet security. As non-custodial wallets, HD wallets grant users full control over assets, but that might not be the best practice for beginners, and it still takes time for users to understand and manage their private keys.
Custodial wallets, on the other hand, refer to wallets whose private keys are kept by third parties. Though users do not have direct control over assets, this approach might be more beginner-friendly. The market abounds with non-custodial wallet solutions, including Multi-Party Computation (MPC) wallets and smart contract wallets.
3. MPC Wallets
i) Rationale
Multi-Party Computation (MPC) is a cryptographic technique that allows multiple parties to calculate a function based on their inputs without disclosing their inputs to any other party. MPC wallets typically use the Threshold Signature Scheme (TSS) to eliminate a single point of failure that usually troubles conventional private key wallets. This approach can be useful for crypto wallets because it allows multiple parties including users and custodians to generate a single private key, and no one needs to reveal his or her inputs. Under that scheme, which is known as Distributed Key Generation (DKG), private keys are split into multiple shares and distributed among different parties involved in the computation. In other words, no party has access to the entire private key, which prevents unauthorized access to user funds.
ii) Advantages of MPC wallets
- MPC wallets have no single point of failure, and, as a result, the private key will never be centralized on one device.
- MPC wallets offer adjustable signature solutions, so organizations can dynamically adjust the signature settings without updating the address every time.
- MPC wallets provide a way to manage private keys off-chain. In other words, they do not need to store or manage private keys on the blockchain, so they also support multiple chains. Since private keys are shared and the signature is generated off-chain, transactions in MPC wallets are no different from those in traditional HD wallets.
iii) Limits and challenges facing MPC wallets
MPC wallets also face certain limits and challenges. First, signing authorization policies and approval quorums are managed off-chain, so these custom rules are still subject to centralized failures. Second, MPC wallets are incompatible with most conventional wallets like Ledger and Trezor as the whole private key is not stored on a single device. Additionally, MPC algorithms are not yet standardized, and most MPC libraries and solutions are not open-source, which means that the ecosystem cannot independently audit or integrate these specifics. Meanwhile, as MPC wallets might be more complicated, they require dedicated hardware and software, as well as higher bandwidth. As a result, they may not be suitable for all users.
iv) Use cases of MPC wallets
Below are several wallets that use MPC. Apart from personal wallets, there are also protocols focusing on wallet or authentication services for DApps. Designed for app developers and project teams, they provide the corresponding SDKs for DApps so that users can log in to the app by Web2 means, making themselves more friendly to both developers and new users.
Unlike self-custodial wallets, MPC-based wallets do not provide mnemonics and can combine the shards of partial private keys with conventional Web2 login methods. With this design, MPC wallets can divide the management right of a wallet into several parts, and certain rights are bound to the user’s Web2 applications (e.g., mailbox) and passwords. Moreover, transactions can be validly signed, sent and confirmed only when the cumulative signatures reach a certain threshold. For example, a project team will need to obtain the API key from Google to access the API and integrate it into the MPC wallet, so that users can log in to the wallet through Web2 methods, including email, Facebook, Apple, Twitter, etc.
4. Smart contract wallets
i) Rationale
On Ethereum and similar EVM public chains, there are two basic types of accounts:
- Externally owned accounts (EOAs): EOAs are accounts that are controlled by private keys. They typically represent users or entities interacting with Ethereum. EOAs can be used to send and receive transactions, deploy and interact with smart contracts, or perform other on-chain operations.
- Contract accounts (CAs): CAs are self-executing contracts with their logic written directly into codes and deployed to the blockchain. These accounts can interact with EOAs and other smart contracts.
Smart contract wallets represent a type of CA-based wallet solution that uses smart contracts to manage and control users’ cryptos. Smart contracts are self-executing contracts that automatically execute transactions based on pre-defined rules and conditions. For instance, smart contracts can be used to automatically transfer funds from a user’s wallet to another address if certain conditions (e.g., a specific date or the receipt of payment) are met. This helps to simplify and automate the management of users’ cryptos.
ii) Differentiation and advantages of smart contract wallets
- Control: Smart contract wallets can be controlled by multiple parties with the logic of smart contracts, while EOA wallets are controlled by a single private key. That said, the current CA logic requires Gas payments through EOAs.
- Compatibility: Most smart contract wallets are only compatible with blockchains like Ethereum that support smart contracts, while EOA wallets can be used on any blockchain supporting externally owned accounts.
- Security: Smart contract wallets provide additional security measures, such as multi-signature and social recovery features that are enabled by the logic of smart contracts. EOA wallets, on the other hand, rely on the security of private keys to protect the assets and functions of wallets.
- Functionality: Smart contract wallets use smart contracts to manage wallet assets. As shown in the table below, they can flexibly execute complex logic and business rules. EOA wallets, however, only offer simple functions and depend on the private key of EOAs to initiate and execute transactions.
iii) Use cases of smart contract wallets
iv) Limits and challenges facing smart contract wallets
Smart contract wallets also struggle with some limitations and challenges. For instance, once deployed on the blockchain, smart contracts become difficult to modify or update, which means that it can be hard to change the rules or terms governing a wallet. Since smart contract wallets depend on their underlying blockchain in terms of security and functionality, a problem with the chain could impact their performance and reliability. Besides, smart contract wallets tend to charge higher transaction fees than conventional wallets, which is especially the case if frequent operations are performed on Ethereum.
“Achieve the key goal of account abstraction: allow users to use smart contract wallets containing arbitrary verification logic instead of EOAs as their primary account. Completely remove any need at all for users to also have EOAs”)。
Smart contract wallets are also closely related to account abstraction (AA), a goal stated by Ethereum. Aiming to improve Ethereum’s scalability and flexibility by enabling more advanced transactions and interactions, AA allows a contract to be the top-level account that pays fees and starts transaction execution. The Ethereum community has been exploring AA and proposed multiple EIPs, including the famous EIP-4337 which aims to achieve the key goal of account abstraction: allow users to use smart contract wallets containing arbitrary verification logic instead of EOAs as their primary account. Completely remove any need at all for users to also have EOAs.
5. Conclusion
Back in the early days, wallets were often regarded as tools for managing cryptos, storing assets, and making transfers and payments. However, as Ethereum’s smart contracts gain traction, DApps (decentralized applications) have thrived, and crypto wallets have become a gateway to Web3. Despite that shift in development, conventional crypto wallets focus more on the security of asset management yet fail to deliver sufficient convenience and cater for the habits of Web2 users or beginners.
MPC wallets and smart contract wallets are not exactly new inventions. Both offer distinctive features that meet different demands. In particular, conventional crypto wallets emphasize the secure self-custody of assets and are suitable for crypto veterans. MPC wallets provide private key management solutions that allow users to share their security and disperse the custody risks. With MPC wallets, users no longer need mnemonics and can try out Web3 products directly through Web2 login methods. Smart contract wallets expand the functions of DApps and provide more possibilities, including Gas-free and social recovery features. We believe that these wallets that account for the habits of Web2 users will get more opportunities as the crypto space continues to attract numerous new users.