Multiparty Computation (MPC) and its use
- transparency
- EURR
- blockchain
What is MPC?
MPC allows multiple parties to jointly compute a function over their private inputs without revealing individual information. MPC is useful in protecting cryptographic keys and personally identifiable information.
In crypto, MPC allows for more protection against compromises through a series of cryptographic protocols. For example, MPC aids users with verifying a transaction, without exposing their individual data. For stablecoins and other cryptocurrencies, MPC allows for secure decentralized exchanges, privacy-preserving smart contracts, and anonymous voting systems. By leveraging MPC, cryptocurrencies can achieve a level of privacy and security previously unattainable.
Andrew Yao’s Millionaires’ problem
The millionaires’ problem, proposed in 1982 by Andrew Yao, serves as a simple yet powerful illustration of the concept of secure multiparty computation. The problem is stated as follows: Two millionaires, Alice and Bob, want to determine who is wealthier without revealing their actual wealth to each other. The goal is to find a protocol that allows them to compute the result without disclosing any unnecessary information.
The solution to the millionaires’ problem lies in secure two-party computation, where two parties can jointly encrypt data about their earnings while never revealing the actual number. In this case, Alice and Bob can use cryptographic techniques to compare their wealth securely.
One commonly used approach to solving the millionaires’ problem is through the use of Yao’s garbled circuits. Garbled circuits allow parties to compute a function by encrypting their inputs and transforming the function’s logic gates into encrypted form. The encrypted circuit is then evaluated by the other party, who does not have access to the original inputs. Through this process, Alice and Bob can securely compare their wealth without revealing any sensitive information.
The millionaires’ problem is a starting point for understanding the broader field of multiparty computation. It highlights the need for secure protocols that enable parties to collaborate on computations without compromising the privacy of their inputs. As technology advances and the need for privacy increases, multiparty computation continues to play a crucial role in ensuring confidentiality and integrity in various domains.
MPC protocols
An MPC protocol must guarantee two fundamental properties:
Privacy: The protocol must ensure that the private information held by the participating parties cannot be deduced from the protocol’s execution.
Accuracy: Even if a subset of parties collude or attempt to manipulate the protocol during execution, the MPC protocol should prevent them from forcing honest parties to produce incorrect results or disclose confidential information belonging to honest parties.
MPC protocols can be built on two different security models: the semi-honest and the malicious. These are named after the possible forms of corrupted parties, also known as “adversaries”:
The semi-honest (or “honest-but-curious” or “passive”) model: Adversaries have the ability to observe all information communicated to and from the corrupted parties. However, these adversaries are expected to strictly adhere to the prescribed MPC protocol, meaning that corrupted parties will provide accurate inputs to the protocol.
The malicious (or “active”) model: Adversaries are free to act arbitrarily and depart from the specified MPC protocol. This means that a single adversary could potentially control or obtain information from the corrupted parties.
Employing an MPC protocol that only ensures semi-honest security guarantees that data leakage is prevented only under the condition that the adversaries also act in a semi-honest manner. This implies that corrupted parties complying with the MPC protocol cannot gain access to anything beyond the output. Conversely, a protocol achieving malicious security ensures that no adversarial attacks can be successful.
How does MPC work?
The core idea behind MPC is to divide the computation into smaller sub-computations, where each party only has access to its own input and a limited view of the overall computation. In general, there are 4 steps involved in building MPC.
Setting up the computation: The first step is establishing a secure communication channel among the participants. This can be achieved using cryptographic protocols like secure sockets layer (SSL) or secure shell (SSH). The parties also agree on a specific function they want to compute, in this case, the average function.
Input sharing: Each party privately inputs their salary into the MPC protocol. However, they use a cryptographic technique called secret sharing instead of revealing the actual salary. Secret sharing splits the input into multiple shares, distributing them among the parties. Each share individually does not reveal any information about the original input.
Computation: The parties then perform a series of secure computations on their shares to compute the desired function. In this case, they would add their shares together and divide by the total number of parties to calculate the average. Importantly, at no point during this computation are the actual salary values revealed to any party.
Output reconstruction: Once the computation is complete, the final result is reconstructed by combining the computed shares from each party. This reconstruction process ensures that only the function’s output is revealed while the original inputs remain private.
Throughout this process, cryptographic techniques such as homomorphic encryption, secure function evaluation, and zero-knowledge proofs are employed to ensure the privacy and security of the participants’ inputs. These techniques guarantee that even if some parties collude or attempt to gain information about the others’ inputs, they cannot learn more than what is revealed by the final output.
Secure MPC in private key protection
Private keys are central to the security of cryptocurrency transactions. They sign and authorize transactions, allowing users to prove ownership and control over their digital assets. However, if a private key is compromised, it can lead to unauthorized access and potential loss of funds.
One popular technique used in secure multiparty computation for private key protection is threshold cryptography. In this encryption scheme, the private key is divided into shares, with each share held by a different party. To perform cryptographic operations, a minimum number of parties must collaborate and contribute their shares. This ensures that no single party can access the complete key and eliminates needing a trusted third party.
Secure multiparty computation also provides additional benefits beyond private key protection. It allows for secure and decentralized key generation, where multiple parties collaboratively generate a private key without any individual party having knowledge of the complete key. This ensures that no single party can compromise the key generation process.
Furthermore, secure multiparty computation can be utilized for secure transaction signing. By distributing the signing process among multiple parties, the risk of a single party misusing the private key or being compromised is significantly reduced. This enables secure and trustless transactions, even without a centralized authority.
StablR uses MPC to fortify security
StablR partners with Fireblock to use MPC technology in safeguarding the issuance and redemption process for EURR. Security keys are never gathered as a whole but instead broken down and encrypted for multiple parties, making sure that no single party are compromisable. Additionally, MPC is only part of a multilayered security approach consisting of secure enclaves, a policy engine, and Fireblock’s institutional asset transfer network.
Read more: StablR and Fireblock’s collaboration to fortify security
Other uses of MPC
Besides cryptocurrency, multiparty computation (MPC) has many other uses and applications. MPC is a cryptographic protocol that enables multiple parties to collaboratively compute a function without revealing their individual inputs. This technology has the potential to revolutionize various fields and address critical challenges in privacy, security, and data sharing.
Privacy-preserving data analysis
MPC allows multiple parties to perform joint data analysis without sharing individual data. This is particularly valuable in industries like healthcare, finance, and marketing, where sensitive data needs to be analyzed while preserving privacy. MPC enables secure collaboration between multiple organizations or entities, ensuring no party can access others’ sensitive information.
Secure machine learning
MPC can be applied to train machine learning models using sensitive data from multiple sources. By securely combining data from different parties without revealing their individual datasets, MPC enables collaborative model training while maintaining data privacy. This is crucial in scenarios where data owners are reluctant to share data due to privacy concerns or legal restrictions.
Fraud detection and prevention
MPC can be utilized to detect and prevent fraud in various domains, such as banking, insurance, and e-commerce. By securely analyzing transactional data from multiple sources, MPC enables fraud detection algorithms to operate on combined data without exposing sensitive information. This enhances the accuracy of fraud detection systems while preserving the privacy of individual transactions.
Secure cloud computing
MPC can enhance the security of cloud computing environments by enabling secure computation on encrypted data. It allows multiple parties to jointly perform computations on their encrypted data without decrypting it, thus protecting sensitive information from unauthorized access. This can be particularly useful for organizations that want to leverage the benefits of cloud computing while maintaining strict control over their data.
Secure auctions and bidding
MPC can be applied to conduct secure auctions and bidding processes. By utilizing cryptographic techniques, MPC ensures that the auctioneer and participants can compute bids and determine the winner without revealing any sensitive information. This enhances the fairness and privacy of auction mechanisms, making them more reliable and trustworthy.
Privacy-preserving identity management
MPC can be used to develop secure identity management systems that protect users’ privacy. By securely combining information from multiple parties, such as biometric data or personal identifiers, MPC enables the verification and authentication of identities without disclosing individual attributes. This can be valuable in applications such as e-voting, online authentication, and secure access control systems.
Vulnerabilities
While MPC offers strong security guarantees, it is not immune to vulnerabilities. Possible exploits that could undermine the use of MPC includes insider risks, attacks, and more.
Malicious participants
MPC assumes that all participants are honest and will follow the protocol faithfully. However, if even a single participant is malicious and deviates from the protocol, they can undermine the computation’s security. Malicious participants may try to learn more information than they should or manipulate the computation to their advantage.
Side-channel attacks
MPC protocols are vulnerable to side-channel attacks, where an attacker can exploit information leaked through unintended side channels like power consumption, timing, or electromagnetic radiation. These attacks can potentially reveal sensitive information about the computation, compromising its security.
Covert channels
Covert channels are communication channels that are not explicitly designed for data transmission but can be exploited to leak information. In MPC, covert channels can be used by malicious participants to communicate and share information covertly, bypassing the security measures of the protocol.
Resource consumption
MPC protocols can be computationally intensive and require significant computational resources. This can make them vulnerable to resource-based attacks, where an attacker intentionally overwhelms the system with excessive computation or communication demands, causing denial of service or degrading the performance of the protocol.
To mitigate these vulnerabilities, it is crucial to carefully design and implement MPC protocols, conduct thorough security audits, and continuously monitor for potential attacks or weaknesses. Additionally, employing techniques like secure hardware, formal verification, and secure network protocols can enhance the security of multiparty computation systems.
MPC is the new standard for transparency in crypto
In the world of cryptocurrencies, MPC plays a vital role in ensuring the confidentiality of transactions and enabling decentralized and trustless systems. Through MPC, individuals and organizations can feel confident in the security of their investments. Together with the immutability of the blockchain, MPC injects more integrity and trust into the crypto world.