MPC stands for secure Multi-Party Computation, which is dozens of years old, and its initial development began in the 1980s.
MPC is a technology and system for securely computing an agreeable function when the participants do not share their respective data and there is no trusted third party. Through secure algorithms and protocols, the participants convert the data functions in plaintext form into encrypted arithmetic circuits. By using secret sharing to implement the underlying operations, they can achieve the computation of encrypted data. Neither participant can access the data in the plaintext form of the other parties, thus ensuring the security of each party’s data.
Generally, MPC allows two or more parties to jointly compute a function output without revealing their inputs.
How does MPC work?
MPC works by splitting the traditional private keys into key shares and distributing them in multiple places to ensure no one person has full access to the conventional private key. The major advantage here is that the private key is always used in a distributed manner.
When a transaction signature is required, the parties involved in order to separately run a computation to make whatever you wanted to happen on the blockchain. The best part of this process is no single entity can ever get access to any private key: There is no single point of vulnerability. Even if an attacker tried to get access to one of the two shares, they can’t access all of the ‘secret shares’ simultaneously, making your digital assets much safer than in the traditional private key architecture.
Advantages of MPC
- Avoid single point of vulnerability
As mentioned above, the process of MPC doesn’t allow a single entity to get access to any private key. The Threshold Cryptography (TSS) based on MPC technology can still sign and use funds normally as long as the threshold conditions are met, which eliminates a single point of vulnerability.
- Entirely user controlled
The number of signatures and demand can be dynamically adjusted, and the original wallet address on the chain can be retained after adjustment. Thus it is controlled greatly by users.
- Easy to recover
Although the private key does not appear at all, if it is lost, the key share can be computed by the participants using their respective pieces of private keys.
Defects of MPC
- MPC contains complex cryptographic operations and is less efficient than TEE(Trusted execution environment)-based privacy computing. MPC consumes a lot of computational and communication resources, and its distributed computing system leads to latency, thus extending the total time consumed.
How is MPC technology implemented in blockchain?
MPC can be used to derive a public digital signature from a set of private keys or shared keys. A signature must be generated from a private key, but this private key will not be fully grasped by anyone, in MPC technology the private key is somehow divided into many shares, these shares can be held by multiple people at the same time, and then through the MPC protocol to ensure that these shares do not need to be put together to generate a valid signature. The result is more secure and avoids the risk of the contract being hacked. Because the MPC-based threshold signature is completely decoupled from the contract module, for example, the contract does not need to understand the signature protocol, it only needs to confirm the validity of the signature, which is exactly the same as the traditional contract verification model.
The MPC algorithm uses a threshold signature scheme(TSS) to compute the final public collective identity and these shared keys are encrypted using zero-knowledge proofs. Threshold Signature Scheme (TSS), an important branch of digital signature, is an MPC-based cryptography technique and an important research direction for MPC key management. MPC-based key management, on the one hand, allows secure storage of keys, and the loss of a single or small batch of fragments will not have any impact on the security of that key; on the other hand, it allows individuals or enterprises to use keys more easily, more securely, and in a way that satisfies MPC wallet is a product for such an application scenario.
Two features of MPC:
- Accuracy — The output produced by the algorithm is accurate. The MPC technique enables multiple parties that do not trust each other to compute any function correctly, and it can be seen as a way to provide a trusted third party, even if this trusted party is not actually needed. Ideally, the trusted third party obtains secret input information from the parties, computes the function, and then returns the result securely to the parties.
- Privacy — The shared key is not disclosed to the participating parties. MPC technology also ensures the privacy of the input and output information of each party. MPC can be abstractly summarized as a mathematical model with the formula:
f(x1,x2,x3,… ,xn) = (y1,y2,…. ,yn), where x1,x2,… ,xn are the inputs of each participant, y1,y2,… ,yn are the corresponding outputs of each participant. f is the agreed computational function of each participant. Each participant can only see their own input and its own output in the whole MPC protocol, and cannot perceive the input and output of other participants.
MPC & Multichain
Based on MPC technology, Multichain independently developed fastMPC, which is a set of integrated engineering implementations applying for a variety of cryptography technologies and ZK proof. FastMPC is an upgrade of MPC with higher speed and more security.
MultiDAO is incubating an MPC wallet that provides asset escrow service based on MPC threshold signature technology. Stay tuned for more updates!