Wallet Technology — Birds Eye View

Jason Rudolph
4 min readFeb 14, 2023

--

Web3 wallet technology is constantly evolving however the basic wallets types have actually remained stable for the last few years at least. This article aims to provide useful background information that helps readers understand this important building block of web3.

Whilst wallet types have remained stable its important we acknowledge that within each type of wallet there has been constant innovation to provide better features or improve security. There has also been some cross pollination between wallet types.

Photo by Shubham Dhage on Unsplash

Wallet Types

The four different wallet types identified are:

  1. Smart Contract Wallets. Funds are custodied in a smart contract. Such wallets allow for access to funds from multiple EOA’s based on various conditions (social recovery, n of m signing etc). Reduces risk of compromise/loss of access to a single EOA. However introduces significant smart contract risk and potential loss of all funds.
  2. Hardware Wallet. Private keys are kept securely in a hardware dongle that is protected by something memorable to users (eg: pin code). Wallets are offline and cannot be used in automated trading. They are also easy to lose and cumbersome to use!
  3. Hot wallets. Online at all time and very easy to use. Store key in a single location often a folder inside wallet software. Introduce risks around wallet compromise by hacking and do not have any 2FA security controls for movement of large asset values.
  4. Centralised MPC. This technology shards or splits a private key into 3+ pieces stored on different servers called nodes. Sophisticated algorithms can sign a transaction using these key shards without ever storing the key in a single place. All quorum of nodes participate in the signing process often this is 3 nodes out of 3 but different configurations are possible. If decentralised key generation is used in node initialisation there is no concept of a seed phrase and no single location the private key is ever stored even briefly (ie: volatile storage etc) which tightens security yet again. MPC algorithms can also handle the loss or compromise of a single node and its stored shard without risking assets. Centralised MPC requires trust in the provider as they store some (or all) of the key shards on disparate nodes. Digital asset owners may be able to run a node to fulfil partial self-custody however this requires technical ability in running a node server. It also does not mitigate the risks of server centralisation itself (hacking, downtime via technical faults or DDOS, government control).

Supporting Technology

Photo by Markus Spiske on Unsplash

Understanding the supporting technology used by some of these wallet types is useful especially to distinguish the difference between a supporting technology and the type of wallet implementing the technology. Marketers can blur these lines making it confusing for web3 participants.

  • HSMs/Secure Enclaves. Used in hardware wallets, some hybrid hot/cold wallets (termed warm wallets) and certain MPC solutions. These trusted execution environments are used to create seed phrases and private key pairs. Often configured to not allow export of this information the HSM can sign off on transactions whilst keeping the private key information safe. HSM’s utilise a secure dedicated piece of hardware like a microchip. HSMs have their own operating systems embedded such as BOLOS (ledger). “Virtualized HSMs” such as Amazon Nitro Enclaves are relatively new and imitate the security of HSMs without the hardware — in fact they are not actually called virtualised HSM’s that is just the easiest way to think of them. Note this is different to many cloud HSM solutions that run HSM hardware but allow remote access via a trusted communication medium. HSM technology has been in existence since the 1980’s. It’s had some exploits over the years leading to private key breaches however using HSM’s is still a lot more secure than storing keys on local storage like hard drives. Generating and storing private key information on a HSM does not mean transactions cannot be signed once a wallet is compromised. It does mean however it’s highly unlikely the private key can be extracted. In a compromised wallet (if no other risk controls are in place to stop a wallet being drained) then safeguarding of the private key is possibly not that useful. Ledger provides a very simple second risk control by requiring a pin to sign transactions.
  • MPC libraries. Used in MPC wallets not surprisingly! Many MPC solutions implement existing MPC libraries available today (often open source). This is usually because implementation of MPC mathematical algorithms from research papers is difficult and requires highly skilled mathematicians and developers. Such libraries are somewhat battle tested, most are open source and vulnerabilities quickly fixed once spotted. However the quality of the code and how closely it matches the mathematical model on which it is based introduces risk into MPC wallets.

Wallets are the gateway to web3 so its always a fascinating area of blockchain to watch.

Any questions reach out to me on twitter @JasonCRudolph

© Kitefin Labs. Authored by Jason Rudolph. Feb 2023.

--

--

Jason Rudolph

Kagami Co-founder. Kitefin founding team member. Passionate about web3 especially accelerating mainstream adoption.