On Jan 17, 2020, TRONZ, the development team behind the anonymity technology of TRON, has completed the deployment of the public testing and Testnet for anonymous transactions and will soon launch the anonymous transaction feature on TRON MainNet. TRONZ is currently undergoing the MainNet MPC process through the MPC Torch Project where they encourage TRON community members to join hands and set a new Guinness World Record for the world’s largest MPC.
What exactly is MPC?
MPC is the acronym for Multi-party computation, which is also known as secure computation or privacy-preserving computation. MPC is a subfield of cryptography with the goal of creating methods for multiple parties to jointly compute a function over each of their inputs while keeping those inputs private.
MPC technology is designed to solve the lack of trust among participants that partake in the joint computation while protecting each of the participants’ privacy. Each participant from the first to last will not get any significant information other than computing results.
The basic concept of MPC
Let’s use a real-life example to show you the basic concept of MPC.
Alice, Bob, Charlie, Dave, and Erin are fresh graduates and they decided to have a meetup after each of them accepted a job offer. They want to know the average annual salary amongst themselves but do not wish to disclose their own salary figures.
1. Alice begins by summing up her salary with a secret random number of her choice and write the result on a piece of paper. Let’s say Alice’s salary is $46000 and her random number is 123456, she will write 169456 (which is the result of 46000+123456) on a paper and pass it to the second participant, Bob.
2. Bob will add the number on the paper with his salary and write it on a new piece of paper, then hand the result to the next participant. For example, if Bob salary is $48500, he will write 217956 on the paper and pass it to Charlie. Note that 217956 comes from 169456+48500.
3. Charlie adds his salary $50000 to 217956 which is 267956 on a new piece of paper and pass to Dave.
4. Dave adds his salary $51500 to 267956 which is 319456 on a new piece of paper and pass to Erin.
5. The last participant, Erin, adds her salary $54000 to the previous result 319456 and writes the new number 373456 on a new paper then pass the paper back to the first partipant, Alice.
6. Alice then obtain the final result 373456 and deduct her secret random number from it (373456 – 123456 = 250000), then divide the number by 5, she would get 250000/5=50000. Therefore, they can conclude that the average salary amongst them is $50000 without having to reveal each individual’s salary.
Of course, this is an extremely simplified example as some may notice that Alice may not cooperate and use a fake initial secret in the end. In the actual MPC process, much harder algorithms are used and no single participant has more advantages over the data than any other participants.
TRONZ MPC torch project
The core of TRONZ anonymous protocol is based on zk-SNARKs which stands for Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. The novel form of zero-knowledge cryptography – zk-SNARKs refers to a proof construction where one can prove possession of certain information, e.g. a secret key, without revealing that information, and without any interaction between the prover and verifier. Therefore, zero-knowledge proofs made it possible to verify a transaction without knowing who is sending or receiving it, or how much the transaction contained.
The setup of zk-SNARKs requires a parameter generation ceremony. If this ceremony is compromised, or the process is generated solely by one party, it becomes possible to counterfeit the privacy coin on the network.
A truly secure and anonymous environment requires a credible setup process, therefore TRONZ decided to hold the MPC torch project where Tronics can participate in giving their own input to the final process of generating the parameters needed. The MPC protocols have the property that only one party needs to be uncompromised for the resulting parameters to be secure. In other words, in order to compromise the ceremony, every single participant needed to be compromised, or every single one of the participants is dishonest.
Since the final results require the participation of each participant passing data from the first to the last, it is like the Olympic torch ceremony hence the project name – MPC torch project. All the verified participants’ contributions will be published on the project wiki page so all participants can verify whether their contribution is included in the final parameters after the final MPC parameters are generated. The MPC result can also be openly validated by any person to ensure the parameters were not being forged or tampered.
Why join the MPC torch project?
MPC torch project will be contributed to the entire humanity by making all of its computing processes open, transparent and verifiable. The project is open-source and available for any project across the world free of charge. Although each of the participants only represents a tiny part of the ecosystem, all the participants are an integral component of it. Therefore, TronGuide encourages Tronics who wish to support the breakthrough in cryptocurrency privacy protection to participate in the MPC torch project.
How to join the MPC torch project?
TronGuide will be joining the MPC project as TronLive and we will document the entire process so those who would like to join can refer to our step-by-step guide. You don’t need to be a professional Unix user to participate, we will demonstrate how to perform MPC with a Windows PC! We will also have a list of FAQ we collected from the community so you can check if you are qualified to be a part of the MPC torch project.