Multiparty computation (MPC) and blockchain are both distributed systems. This article serves as a learning note (a directory entry) on cryptography, MPC, and blockchain.
Symmetric encryption, asymmetric encryption, and hash functions basically constitute all levels of cryptographic algorithms.
Symmetric encryption is mainly used for communication, and key sharing is needed before communication.
Non-symmetric encryption is used for generating keys.
Hash functions are used to verify information integrity and ensure that it has not been tampered with.
Cryptographic protocols include:
Multi-party secure computation (MPC)
Homomorphic encryption (HE)
Zero-knowledge proof (ZKP) (The first three are cryptographic products.)
Federated learning (FL)
Differential privacy (DP)
Trusted execution environment (TEE)
A key concept in MPC is simulation, which means bringing the hypothetical world of the ideal into the real world (especially with regard to trust). Six important characteristics that need to be considered are:
Input privacy
Correctness
Robustness
Fairness
Identifiable abort
Publicly verifiable
Based on different levels of untrustworthiness, there are several security models in cryptography:
Malicious (the most difficult to solve)
Semi-malicious (easy to solve but not common in real scenarios)
Hybrid (a compromise between the first two)
Majority honest (assuming most people are good, such as a 2-3 threshold signature, which assumes that two people are good and one is evil)
Majority dishonest (similar to 4)
Garbled circuits (GC) and oblivious transfer (OT) are two protocols that are suitable for logical operations but not arithmetic operations. They are mostly studied between two parties rather than multiple parties (although many people are researching how to convert 2PC into MPC).
The bottom-level technology of MPC is secret sharing (SS), which essentially involves taking some points to fit a curve. It is more suitable for linear operations such as addition, but not for multiplication. Multiplication is also a major challenge when constructing MPC. SS has advanced to include verifiable secret sharing (VSS) and publicly verifiable secret sharing (pVSS). pVSS can be understood from a cryptographic perspective as a blockchain, but there is currently no mature solution.
The difficulty of completing digital signatures with MPC lies in how to use TSS to complete an asymmetric encryption.
Digital signatures:
RSA (traditional but mature, with guaranteed security; banks still use it)
BLS (an aggregation algorithm based on elliptic curves; ETH2.0 is currently using it)
In summary, MPC is a cryptographic technique that enables multiple parties to collaborate on a computation without revealing their private inputs. It is a crucial tool for achieving privacy-preserving distributed computation and can be applied to many fields, such as secure machine learning, secure computation outsourcing, and privacy-preserving data analysis. Note: this article is a translation and summary for easier reading of a Twitter thread by 0x30cF.
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
MPC and Blockchain Cryptography: A Deep Dive
Multiparty computation (MPC) and blockchain are both distributed systems. This article serves as a learning note (a directory entry) on cryptography, MPC, and blockchain.
Symmetric encryption, asymmetric encryption, and hash functions basically constitute all levels of cryptographic algorithms.
Cryptographic protocols include:
A key concept in MPC is simulation, which means bringing the hypothetical world of the ideal into the real world (especially with regard to trust). Six important characteristics that need to be considered are:
Based on different levels of untrustworthiness, there are several security models in cryptography:
Garbled circuits (GC) and oblivious transfer (OT) are two protocols that are suitable for logical operations but not arithmetic operations. They are mostly studied between two parties rather than multiple parties (although many people are researching how to convert 2PC into MPC).
The bottom-level technology of MPC is secret sharing (SS), which essentially involves taking some points to fit a curve. It is more suitable for linear operations such as addition, but not for multiplication. Multiplication is also a major challenge when constructing MPC. SS has advanced to include verifiable secret sharing (VSS) and publicly verifiable secret sharing (pVSS). pVSS can be understood from a cryptographic perspective as a blockchain, but there is currently no mature solution.
The difficulty of completing digital signatures with MPC lies in how to use TSS to complete an asymmetric encryption.
Digital signatures:
In summary, MPC is a cryptographic technique that enables multiple parties to collaborate on a computation without revealing their private inputs. It is a crucial tool for achieving privacy-preserving distributed computation and can be applied to many fields, such as secure machine learning, secure computation outsourcing, and privacy-preserving data analysis. Note: this article is a translation and summary for easier reading of a Twitter thread by 0x30cF.