Wallets are a core component to any blockchain. It is the place where digital assets such as cryptocurrencies and NFTs can be transferred to and from. One of the most important questions when choosing a wallet is how can we properly secure it so that your assets remain protected? With browser based wallets like MetaMask, or hardware wallets like the Ledger Nano, there is a single private key to be safeguarded. Whoever controls that private key has unfettered access to all assets in that wallet. Wallets that store the private key in one single location suffer from a potential single point of failure. Hence, we see multi-key wallets such as multi-signature (multi-sig) smart contract wallets or multiple-party computation (MPC) wallets on the rise, where more than one private key or party is needed to sign a transaction. In this article, we will explore these two types of multi-key wallets.
Multi-signature Smart Contracts
Multi-signature (multi-sig) wallets are smart contracts that allow multiple parties to sign a single transaction. A transaction will go through if a predefined M out of N signatures submit their approvals. Multi-sig technology is widely used for decentralized governance and ensures that a transaction won’t succeed even if one party’s key is compromised. Furthermore, it protects assets from internal fraud or collusion, preventing any single privileged accounts from stealing the assets. However, multi-sig wallets are platform dependent, Gnosis Safe is a popular multi-sig wallet in the Ethereum system.
Being a smart contract wallet, it costs more gas for each transaction. Thus, multi-sig technology is not ideal for organizations that require operational flexibility and handle large volumes of transactions. Furthermore, all the addresses associated with a multi-sig wallet, as well as their signing for each transaction are transparent and traceable on chain. This may create privacy issues which may not be beneficial to an organization.
Multi-party Computation (MPC) Wallet
Similar to Multisig wallets, the key of an MPC is never stored in one place but broken up into multiple pieces and held by multiple parties. MPC wallets use a novel cryptographic algorithm to compute the private key off-chain and sign a transaction on a network. The on-chain representation of an MPC wallet is not differentiable from a plain externally owned address. This simplicity of the on-chain representation makes it integratable with all existing protocols. This also helps with reducing transaction costs to support large volumes.
The off-chain private key computation gives extra flexibility to large organizations to update their signing scheme. The signature scheme such as the “M out of N” structure can be modified without having to create a new wallet address. This makes it easy to include a new employee (changing N) or adjust the risk profile (changing M) related to the account as the organization deals with operational changes.
There are also risks associated with MPC wallets. Since the encryption and decryption algorithms, as well as each wallet’s associated addresses and signing logs are stored off-chain, it is possible to suffer from the usual cyber security breaches and also physical attacks.
We have extensive experience working with Fireblocks for institutional digital asset custody, on our most valuable smart contracts. They combine MPC technology with Hardware Isolation Modules to protect cryptographic materials when the system is compromised and distributed across security enclaves to exponentially increase the security of the system.
Both Multi-sig and MPC wallets add valuable protection to a wallet and its assets. If you are looking for a purely on-chain and transparent solution then a Multi-sig wallet might be a good choice for you. However, if you are looking for greater privacy and flexibility and don’t mind having off-chain infrastructure then MPC wallets are the way to go. We support both methodologies at BlockFold and we often find that the best solution will come down to the needs of the individual project.