Privacy Computing Technology — — Secure Multi-party Computation

Eigen Network
6 min readJun 24, 2021

--

Secure Multi-Party Computation has a narrow sense and a broad sense.

Narrow sense of MPC refers to the solution to the millionaire problem proposed by Mr. Yao Qizhi in 1982. With years of development, MPC covers a wider range. And now the broad sense of MPC means all participants can get a calculated result together by using encrypted data.

This article focuses on sharing its broad concepts.

For example, a privacy computing platform wants to cooperate with CEX to find high-net-worth individuals and recommend its products to them through mobile communication providers.

Ok there, they need to provide all user IDs and perform the intersection calculation. No matter which party has dishonest behavior, the calculation result is not credible.

However, user ID is an important data asset of each organization, and it is impossible for them to give it to others without privacy protection.

Secure Multi-party Computing is to solve problems like this.

At present, in the MPC field, the following mainstream technologies are widely used:

  • Secret sharing
  • Homomorphic encryption
  • Zero-knowledge proof
  • Oblivious transfer

These technologies are often applied in the same large project at the same time to achieve the ultimate goal.

Next, I will use non-technical language to explain those technologies listed above and some cases to help understand.

Secret Sharing

Vernacular: this technology is suitable for addition and multiplication operations. Participants divide their data into small parts and share it to each other. Because those parts have no link with native data, the single data you shared by other parties will not be able to calculate real data, but everyone will get the final answer by doing the same operation.

For example: Three people A B C want to know how many BTC they hold in total. The real data of A is 17 (divided into 10+7), B is 16 (1+2+3+2+8), and C is 15 (-20+5).

They shuffle and swap those small parts to each other and everyone gets the new operator. Finally, they add them together to know how many BTCs they have in total, and each of them did not reveal their true data during the process.

Homomorphic Encryption

Homomorphic encryption including fully homomorphic and semi-homomorphic. Full homomorphism can support addition and multiplication at the same time, and semi homomorphism can only perform one of them.

Vernacular: “homomorphism” means that the calculation status between the ciphertext data and the plaintext data is completely synchronized.

All participants encrypt their own data and put them in the same box. A manipulator can operate on the data in the box according to the algorithm, and send the final result to the data demander.

For example: Three people A B C want to know how many BTC they hold in total. The real data of A is 17 (♣️ after homomorphic encryption), B is 16 (♦️), and C is 15 (♥️). They put ♣️♦️♥️ in the box respectively, and the manipulator will sent the result “48” out.

Different from secret sharing, if secret sharing is attacked by a third party, the attacker will get the plaintext operator. However, even if homomorphic encryption suffers a malicious attack, the third party does not have a private key to decrypt it and cannot obtain any useful information.

Oblivious Transfer

In the vernacular: Oblivious Transfer is mainly used for intersection problems, it is a privacy-protected two-party communication protocol. The receiver obtains a certain one from some messages to be sent by the sender, but the sender doesn’t know which message he received.

For example: Alice wants to get one of the two party admission redemption codes, but she doesn’t want Bob to know which party she choosed. Oblivious Transfer can help her achieve this effect: Bob doesn’t know which code Alice has chosen, and Alice gets the code she wants, but can’t know another redemption code.

Zero-Knowledge Proof

In the vernacular: You don’t know anything and don’t get any useful information, but you can be sure that what the other person said is correct.

For example: Alice and Bob bet that she have mastered the solution of the fourth-order Rubik’s Cube. Here is the prossess of ZKP: Bob disrupting the Rubik’s Cube many times,and Alice can always recover it, and then, Bob believes that Alice does master the solution of the fourth-order Rubik’s Cube, but he didn’t get any useful information from this proof process.

OK, those are the commonly used MPC technology. Hope you guys have understood well. Next, I will introduce the advantages of MPC and the bottlenecks of current development.

MPC’s advantages and development bottlenecks

The advantages of MPC are obvious

  • Trustlessness: Whether any “trusted third party” can be trusted or not, everyone will be suspicious. Despite the constraints of various contracts and agreements, no one can guarantee whether the “third party” will leak secret with temptation of huge interests. MPC provides new solutions based on cryptographic technology. We don’t need to trust any participants, operators, systems, hardware or software, but only believe in mathematical theories, which greatly reduces the cost of trust between participants.
  • Disintegrate data islands: Based on the first point, all participants more willing to share with each other while ensuring that their information is safe because the power of a single organization is limited, and the data content between different types of organizations is also a big difference. The data collision accelerates the data circulation and allows the data to exert greater value.

MPC theory has been proposed for nearly 40 years, and it’s relatively mature in theory, but still faces many problems in practical applications.

  • Fairness: In the process of data sharing, each participant’s data is hold by themseleves, other participants/demanders cannot verify the data they provide. That means I don’t know the quality of your data. We have no way to verified if someone provide fake data, so we may not get the data that meets the quality requirements.
  • Efficiency bottleneck: The computational process of cryptography is more complicated, and computational performance problem is a major obstacle in the application process. As the scale of applications expands, it is a major challenge currently faced by various technology vendors to use appropriate computing solutions to ensure that the computing delay and the number of participants show a linear change.
  • Interpretability: The encryption and decryption processes of cryptography are relatively complicated. The correctness of the processing of encryption process and the encryption result need to be proved. In addition, we need to explain clearly the “contribution”. Imaging that if I hide most of data and only provide a small part of the data to get the results shared by all participants, then why do I share out all data?
  • Versatility: On the one hand, it is the universal type of different technology versions. For example, there are many different versions of secret sharing technology alone, and the versions are not very compatible; on the other hand, the encrypted data between different encryption technologies cannot be used universally. This will also affect the efficiency of data circulation and even create new data islands.

That’s the entire content of this introduction to MPC. Welcome everyone to leave a message and discuss more issues about privacy computing with me~

About Eigen Network

Eigen is the first private computing network on Layer 2. Powered by the FL and Hardware-software synergy, moving value from web2.0 to web3.0, by building a new creator economy.

I Official Website I Twitter I Github I

--

--

Eigen Network
Eigen Network

No responses yet