- SMPC is a cryptographic method that enables multiple parties to compute a function using private inputs without revealing those inputs.
- It provides enhanced security, data privacy, regulatory compliance, and fosters collaboration across various domains.
Secure multi-party computation (SMPC) is a groundbreaking cryptographic technique that allows multiple parties to jointly compute a function using their private data while keeping individual inputs confidential. SMPC uses cryptographic primitives such as secret sharing, homomorphic encryption, and zero-knowledge proofs to ensure privacy and security during the computation process. It has broad applications in financial transactions, medical research, distributed voting, private bidding, and AI/ML learning processes, among others.
Secure multi-party computation (SMPC or MPC) enables joint “black box” computations that keep individual inputs confidential.
— Chainlink (@chainlink) April 3, 2023
The concept of SMPC has its origins in the late 1970s, with significant advancements made by Andrew Yao in the 1980s. In recent years, focus has shifted toward improving the efficiency and practicality of SMPC protocols for various use cases. Companies specializing in SMPC formed the MPC Alliance in 2020 to further promote the technology.
SMPC protocols typically involve each party holding a piece of private data and wanting to compute a function that requires inputs from all parties. Through the protocol, parties exchange input data using privacy-preserving techniques such as encryption or masked shares, and then collectively compute the function. Two-party computation, a subset of SMPC, was first introduced by Andrew Yao to solve the “Millionaire’s Problem.” It was later expanded to a multi-party format with the Goldreich-Micali-Wigderson protocol.
SMPC offers numerous benefits, including enhanced security, data privacy, regulatory compliance, collaboration, high accuracy, quantum resistance, and advanced functionality. In a Web3 context, SMPC can be used to secure digital assets and sign transactions in MPC-based wallets. The private keys of a Web3 wallet can be divided among multiple parties, enhancing security and control for wallet operations.
MPC wallets and multisig wallets have similarities in that they both involve multiple entities jointly securing tokenized assets. However, while a multisig wallet relies on multiple private keys, an MPC wallet splits a single key into smaller parts and distributes them to each custodian.
In addition to wallet security, SMPC enables privacy-preserving computation in public blockchains like Ethereum. By computing data off-chain in a highly secure and deterministic manner, Web3 protocols can access computation that provides both advanced functionality and confidentiality.