Wallets are a necessity to secure digital assets on a blockchain wallet. A wallet serves as a digital container that holds cryptographic keys used to access, send, and receive digital assets. In a previous blog, we did an overview of common wallet types and in this article we will focus on Multi-signature (multisig) and multiparty computation (MPC) wallets. These are two types of cryptocurrency wallets that offer enhanced security features compared to traditional wallets.
The key difference between MPC and multi-sig wallets is in the signature process. A multi-signature wallet employs separate signatures from different private keys for security, while MPC generates just one signature, irrespective of how many shards of the private key contribute. Both approaches necessitate multiple parties to authorize a transaction.
Below we'll outline the advantages and disadvantages of each type of wallet and help you decide which is right for your use case.
A multi-signature wallet is a type of cryptocurrency wallet that requires multiple parties to sign off on transactions before they can be executed. This means that in order to make a transaction, multiple individuals must provide their digital signature, adding an extra layer of security. As an analogy, a multi-signature wallet is like a board of directors where all parties have to give their stamp of approval to approve a major transaction.
Multi-sig wallets have a variety of m-of-n schemes where m out of n parties must sign off on a transaction. The most common implementations are 2-of-3 and 3-of-5 which offer strong security while also balancing simplicity.
The chart above does a good job of explaining the nuances. 1-of-1 is simply a regular wallet where only 1 private key is needed to transact. 1-of-n are setups if you want to share the wallet with other trusted parties and schemes where m=n require a full quorum to transact. As seen here, it is up to you to define the proper implementation for your use case.
To give an example, suppose there are three users (Annie, Bob, and Chris) who have created a multisig wallet and agree that at least two of them must approve any transaction. This would be a 2-of-3 example and each of them would have their own cryptographic key with a unique address generated for their multisig account.
If Annie decides that she wants to send digital assets from the wallet, a transaction is initiated and sent to the other users for approval. In this case, Annie would be an approval signature and one of either Bob or Chris would need to approve for the transaction to go through. If approved the digital assets are transferred, if it is denied the transaction is cancelled.
MPC wallets use a technique called multi-party computation (MPC) to secure transactions. MPC splits a private key into multiple encrypted shares that are divided among multiple parties. Each of these parties holds a part of the key that when joined with the others, enables transactions to be done with the wallet. While this seems similar to multi-sig wallets, a key differentiator is that these encrypted shares may be dynamic and divided between several devices. For example, shares of the private key may be single use with time expiration similar to how 2FA authenticators work today.
Let’s go back to our example with three users (Annie, Bob, Chris) who have created a MPC wallet. The MPC wallet then splits the private key into three shares with each party holding one share.
Suppose there are three users (A, B, and C) who want to create an MPC wallet. They each create a unique cryptographic key and then use an MPC algorithm to generate a set of shared cryptographic keys. These shared keys are then used to create a unique wallet address.
When one of the users wants to send digital assets from the wallet, they initiate a transaction using their individual cryptographic key. The transaction is then split into multiple pieces and sent to the other users, who use their individual keys to verify and approve the transaction.
The MPC algorithm is then used to combine the approved transaction pieces and execute the transaction. The cryptographic keys are never shared or revealed, ensuring that no single user has complete control over the wallet.
While both multi-signature and MPC wallets are designed to provide a high level of security for digital asset management, there are some key differences between the two.
Multi-signature wallets use a method of authentication where multiple parties must provide their signatures to approve a transaction. MPC wallets, on the other hand, use a complex mathematical algorithm to securely generate and store cryptographic keys.
Multi-signature wallets require a pre-determined number of signatures to execute a transaction. MPC wallets do not require multiple signatures but instead use a distributed key generation process that ensures no single party has complete control over the wallet.
Multi-signature wallets are widely available and are supported by many blockchain networks. MPC wallets, on the other hand, are relatively new and are only offered by a few providers.
Both multi-signature and MPC wallets are more complex to create and use than traditional single-signature wallets. However, multi-signature wallets are generally considered to be easier to set up and use compared to MPC wallets.
Both multi-signature and MPC wallets offer a high level of security for digital asset management. While multi-signature wallets provide increased security by requiring multiple signatures to approve a transaction, MPC wallets use a distributed key generation process to ensure that no single party has complete control over the wallet. The choice between the two ultimately comes down to the specific needs and preferences of the user. It's essential to consider factors such as the number of parties involved, the level of security required, and the complexity of use before selecting a wallet type.
Kaleido is your easy button for developing next era blockchain based business applications.