Beginners guide to Multi-Party Computation (MPC)
Cryptography was more of an intellectual curiosity than a tool used to secure information and build lasting systems in its early days. Soldiers carried information from garrison to garrison with codes written on their scalps, and tombs that held treasures were secured by doors that only responded to secret answers. Treasure-seeking explorers chased secret-containing scrolls across the seas.
Today, cryptography has gone beyond being a tool in the hands of curious, forward-thinking geniuses. Cryptographic technologies now serve numerous use cases, securing networks, keeping data private, and powering the internet as we know it. However, the rise of cryptography was down to several loopholes in data privacy and security created by the mass adoption of the internet and technology.
The advancement of technology and the internet meant one thing: large volumes of data had to be distributed over distributed networks, equally large in their rights. The more people used web-based products, the more information they had to give. Data privacy and safety have become a concern for users and corporations alike.
To address the concerns of privacy and data security, researchers developed cryptographic solutions like multiparty computation, secret sharing, etc. As more and more people and organizations flocked to emerging technologies like blockchain, cloud computing, and the Internet of Things, and cybersecurity became a real issue, multiparty computation, secret sharing, and other cryptographic measures became relevant.
In this article, we will explore the concepts of multiparty computation to understand how they work and their real-world applications. Also, in the context of digital assets and blockchain technology, we will discuss how multiparty computation will replace seed phrases (the more popular digital wallet security measure).
What is Multi-Party Computation (MPC)?
Imagine a scenario where two or more people have to determine a certain result that involves their inputs without disclosing the information in their possession to the other party. Data comes together from separate entities such that the whole is revealed without endangering the secrecy of the individual parts. This is what multi-party computation represents.
As a cryptographic tool, multi-party computation allows two or more entities (individuals or organizations) to make computations by combining the data in their possession without revealing their separate inputs.
The data is distributed between trusted parties who may or may not know each other. The aim is to secure the information by splitting it into many bits. Since none of the involved parties will disclose their portion of the whole, the data remains private and safe and cannot be hijacked without compromise on the part of the holding parties.
History of MPC
Multi-party computation came to the limelight in the 1970s, courtesy of Chinese computer scientist and cryptographer Andrew Yao. He introduced the Garbled Circuits Protocol, which permitted two parties to perform joint data computations without disclosing inputs. Yao also used the Millionaires' Problem to illustrate MPC and how it should work in a two-party system.
In 1987, the trio of Oded Goldreich, Silvio Micali, and Avi Wigderson came up with the GMW (Goldreich–Micali–Wigderson) protocol, adapting Yao's two-party protocol to a truly multi-party protocol. Then in 2008, MPC was used on a large scale for the first time in a sealed-bid auction of sugar beets in Denmark. The protocol preserved the privacy of bidders and the bidding amounts.
Today, multi-party computation has several sub-protocols or techniques, each with distinct features. Notably, Shamir's Secret Sharing scheme can pass as a multi-party computation technique, along with honest majority MPC, input sharing, circuit evaluation, threshold cryptography, etc.
How does Multi-Party Computation (MPC) work?
To understand how multi-party computation works, let us look at the following analogy. A group of friends is trying to decipher their average salary, but no one wants to disclose the exact amount they earn. They use a simple MPC, which requires the group's first member to pick a random number and add it to his salary. Let's say he picks 15,546.
Then, he passes the result to the next person, who goes on to add his salary to the sum, and the process is repeated until they have summed their earnings. The final result returns to the first group member, who subtracts the random number he added at the start before dividing the result by the number of friends, say six.
The result of this division is their average salary, and they have arrived at it without disclosing their salary information. In the real world, MPC applications are more complex than this analogy, but it represents the fundamental idea behind the cryptographic tool.
Applications of MPC
Multi-party computation is one of the effective cryptographic tools and has been adopted across several use cases in the real world. MPC has changed over the years, and the widespread adoption of digital technology has led to an information-sharing spree, putting large swaths of data at risk of breaches and privacy concerns.
Threshold multi-sign scheme leveraging MPC. (Source)
Multi-party computation has been adopted to shield sensitive information, assuming the role of an NDA that controls the amount of information that is disclosed and the parties eligible to be privy to it.
Multi-party computation is applied in genetic testing, allowing patients to check their genetic profiles securely. While looking through their genetic information, users would not reveal any sensitive data on how quickly they metabolize alcohol or their probability of developing a hereditary condition.
Multi-party computation can help protect the information of bidders and their bids from the organizers or sellers during sealed-bid auctions. The sugar beet auction of 2008 was the first application of MPC in this regard, and it is still in use today. Each farmer's bid remained undisclosed, and the highest bidder had to pay the second-highest bid.
Threshold signing in blockchains
Threshold signing schemes are a variation of multi-party computation, and they are used on blockchain networks to carry out all the commands previously attributed to private keys. Blockchains require private keys for signing transactions and generating public addresses.
MPC distributes secret bits of the private key to different parties, oblivious of the other's portion. Each party will be required to submit their portion of the key to generate addresses, and as long as they remain honest, they can generate valid signatures for transactions. Threshold signing is also used to protect private keys.
How MPC could replace seed phrases
Simpler wallet security measures like cloud backups, biometric scans, or email are also common, and they are great for onboarding the masses into crypto. Yet, they are built on centralized models and are less secure compared to other security measures, which makes seed phrases a better option for crypto users with considerable experience.
Seed phrase warning (Source)
Seed phrases are common in the crypto space today, as most digital wallets in the ecosystem base their security on them. They act as a single point of failure for all assets in the wallet, as anyone who has access to them can effectively gain control over the wallet's contents. Several wallet providers make it clear that seed phrases are irrecoverable, meaning that if you lose your seed phrases, you will lose access to your crypto assets.
MPC provides an alternative for wallet providers to make life easier for the average crypto wallet user. Instead of seed phrases, MPC wallets have independent secret shares, usually two. One half is stored on the user's device (smartphone or laptop), while the other is stored in the wallet provider's server. The beauty of MPC wallets is that they do not have a single point of failure. If one-half of the shares is compromised, the user will still retain control over their crypto.
Multi-party computation is one of the powerful cryptographic tools that have helped further the cause of data privacy and security in emerging digital technologies. As blockchain technology, the Internet of Things, cloud computing, and other digital technologies continue to advance, we will witness more applications of MPC.