📜 [專欄新文章] Using MPC to Help Achieve Blockchain Privacy
✍️ Yahsin Huang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
This post answers some of the most commonly asked questions about using multi-party computation (MPC) in blockchains.
What is MPC?
Multi-party computation (MPC) is a cryptographic protocol that does a joint computation involving multiple parties over their inputs while keeping those inputs private.
A famous example of MPC is Yao’s Millionaires Problem. Two millionaires want to know who is richer without finding out information about each other’s actual wealth. Naively they can simply tell their wealth to a third party. Then the third party compares their wealth and lets them know who is richer. But then this option is undesirable because the third party learns the information of their wealth.
The challenge of Yao’s Millionaires Problem is the computation wouldn’t be able to have a result without the two parties’ private information. To get the end result, you need those information involved in the computation. But at the same time, you are not allowed to reveal those private information to the party who performs the computation. That’s the main problem that MPC wants to solve.
Why it matters in blockchain?
In the real world, not everyone’s a millionaire. Not everybody wishes to compare their assets and wealth with others. In the blockchain space, there’s a need to ensure the inputs are shielded from multiple parties for privacy purposes; hence, the need for MPC protocols.
If we look at the current landscape of the blockchain world, notice there are blockchains doing great for programmability, such as Ethereum blockchain, allowing developers to build great tools and applications on top of them. There are also blockchains doing great for privacy, such as ZCash blockchain, allowing users to send transactions in a privacy-preserving way.
However, there’s a lack of blockchains that are designed for maximum programmability with maximum privacy. That’s why a lot of folks are pushing forward the work on incorporating MPC protocols into blockchain designs.
Why ZK is not enough?
Zero Knowledge Proofs (ZKP) is great at shielding private information that involves only one party. ZKP alone cannot be applied to provide privacy in multiple-party settings, such as auctions or in the case of Yao’s Millionaires Problem. In those settings, computations would involve private inputs from multiple parties, and so ZKP wouldn’t be enough. We would need to turn to MPC to achieve that.
Recent developments in MPC
In his presentation “MPC as a Blockchain Confidentiality Layer,” Miller gave a high-level overview of how MPC can be viewed as a confidentiality layer for blockchains as illustrated in the slide. Credit: https://youtu.be/0VuBELYfChM
How does MPC work with blockchains?
HoneyBadgerMPC builds a sidechain that performs MPC protocol computation. The sidechain acts as a confidentiality layer to the public blockchain, where secret data is stored.
How can developers build MPC applications?
Developers are able to develop MPC applications with Ratel language. Writing Ratel feels very similar to writing Solidity contracts. The compiler compiles Ratel code into two parts: the Ethereum part, and the MPC as a sidechain part.
Ratel code looks like this: https://github.com/initc3/HoneyBadgerSwap/blob/coconut/ratel/trade.rl
Learn more about MPC as a sidechain
One of the biggest news this past month was you could now play with HoneyBadgerSwap’s demo website. HoneyBadgerSwap is basically a dark pool version of Uniswap using MPC. You will need some Kovan ETH to test it out. Yunqi Li (UIUC, IC3) made a great Medium story about HoneyBadgerSwap. Read it here: “HoneyBadgerSwap: Making MPC as a Sidechain,” published on April 22, 2021.
Watch a really great talk by Andrew Miller “MPC as a Blockchain Confidentiality Layer,” presented at the IC3 Blockchain Camp 2020, to understand the HoneyBadgerMPC protocol more.
If you are someone who would like to delve into the topic with textbooks, be sure to add the book “A Pragmatic Introduction to Secure Multi-Party Computation” to your reading list. The content is available in PDF.
Using MPC to Help Achieve Blockchain Privacy was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
「zero-knowledge blockchain」的推薦目錄:
- 關於zero-knowledge blockchain 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於zero-knowledge blockchain 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於zero-knowledge blockchain 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於zero-knowledge blockchain 在 Zero Knowledge Proofs: A Technical Deep Dive - YouTube 的評價
- 關於zero-knowledge blockchain 在 Awesome zero knowledge proofs (zkp) - GitHub 的評價
zero-knowledge blockchain 在 Taipei Ethereum Meetup Facebook 的最佳解答
🦄 投稿傳送門:https://blog.coscup.org/2019/04/2019-cfp-open.html…
---
COSCUP Blockchain and Distributed Ledger 議程軌即日起接受投稿!台灣最大開放源碼研討會即將於八月登場,而 Taipei Ethereum Meetup 也即將組織一整個跟區塊鏈相關議程喔!
---
Give a talk at COSCUP in August, and submit your proposal today! In this largest Open Source Conference in Taiwan, a blockchain focused track will be hosted by Taipei Ethereum Meetup.
---
歡迎投稿下列主題(建議但不侷限) Topic includes but are not limited to:
- Sharding
- Performance, Scalability Issues
- Security and Privacy Issues
- Zero Knowledge Proof
- Consensus Algorithms
- Blockchain-based Applications
- Decentralized App Development
- Smart Contracts
- Regulations and Policies in Cryptocurrency
- Token Economy
- Decentralized Internet Infrastructure
zero-knowledge blockchain 在 Taipei Ethereum Meetup Facebook 的最佳解答
🦄 投稿傳送門:https://blog.coscup.org/2019/04/2019-cfp-open.html…
-\-\-
COSCUP Blockchain and Distributed Ledger 議程軌即日起接受投稿!台灣最大開放源碼研討會即將於八月登場,而 Taipei Ethereum Meetup 也即將組織一整個跟區塊鏈相關議程喔!
-\-\-
Give a talk at COSCUP in August, and submit your proposal today! In this largest Open Source Conference in Taiwan, a blockchain focused track will be hosted by Taipei Ethereum Meetup.
-\-\-
歡迎投稿下列主題(建議但不侷限) Topic includes but are not limited to:
- Sharding
- Performance, Scalability Issues
- Security and Privacy Issues
- Zero Knowledge Proof
- Consensus Algorithms
- Blockchain-based Applications
- Decentralized App Development
- Smart Contracts
- Regulations and Policies in Cryptocurrency
- Token Economy
- Decentralized Internet Infrastructure
zero-knowledge blockchain 在 Awesome zero knowledge proofs (zkp) - GitHub 的推薦與評價
GitHub - matter-labs/awesome-zero-knowledge-proofs: A curated list of awesome things ... Mina Protocol: A Constant-Size Blockchain (recursive SNARKs). ... <看更多>
zero-knowledge blockchain 在 Zero Knowledge Proofs: A Technical Deep Dive - YouTube 的推薦與評價
... Facebook: https://www.facebook.com/kaleido.io #EnterpriseBlockchain # Blockchain #Kaleido # zeroknowledge #cryptography #ZKP. ... <看更多>