MPC torch project is a community MPC project initiated by TRONZ, the development team behind the anonymity technology of TRON. The project aims to gather 200 participants including developers from the TRON community, blockchain enthusiasts, those from traditional industry, everyday users and key opinion leaders to participate in the parameter generation ceremony for TRONZ MPC.
MPC stands for multi-party computation. For those who want to learn what MPC is, do check out our guide to MPC and TRONZ MPC torch project.
For those who wish to participate, check out the recommended computer requirements needed to join. TronGuide has also consulted with TRONZ to get the minimum requirements so those who do not meet the recommended requirements may still join the project. Check out the FAQ below for more details.
Recommended computer requirements
- Processor (CPU): Intel Core i5 (sixth generation or newer) or equivalent
- Operating System: Linux (Recommended) / macOS / Windows 7+
- Memory: 8 GB RAM
- Storage: 500 GB internal storage drive
FAQ for TRONZ project
1. If my computer does not meet the 8GB recommended RAM, can I still join the project?
The more RAM you have, the faster the process will take. For 8GB ram, the estimated time for completion is around 0.5 – 1 hour. The absolute minimum RAM required to join this project is 4GB.
2. If my computer hard drive is less than the recommended 500GB space, can I still join the project?
You can still join the project as long as you have at least 4GB of free space.
3. After the computation is completed and the new_params and hash are sent to TRONZ, do we still need to keep any program running?
After the required parameters and hash are sent to and verified by TRONZ, that’s the end of the MPC process for the participant. The participant do not have to keep any program running and can wait till the end of the entire MPC process to ensure their hash participation is indeed being contributed to the final outcome.
4. Do I need to keep any files on my computer after submitting the required parameters to TRONZ?
After a participant has submitted the required parameters and has been verified, the participant can remove all files on the computer. The participant will just need to keep a hash text so they can check if his/her contribution is indeed being recorded at the end of the entire MPC project.
5. What is the $100 reward that is mentioned on the project page?
In honor of pioneers in privacy protocol, TRONZ will be giving 100 American dollars to privacy protocol foundations for each participant who joined the MPC project. Do note that the $100 is not given out to individual participants directly.
6. Why do I need to submit my availability when I submit the application to join? Will there be a video or voice call?
The reason TRONZ collects the availability of participants is so that they can coordinate the time of each participant and contact the participants to join the project at the appropriate time. No video or voice call is required for participation.
7. How long do I need to wait until it is my turn to participate?
Because the list of pending participants is a lot right now, please be patient and TRONZ will contact you via email when it is your turn to participate.
8. When will TRONZ anonymous protocol be live on the TRON mainnet?
TRONZ anonymous protocol is expected to go live when we released version 4.0.
9. Do all TRC10 and TRC20 token support anonymous transactions?
When the anonymous protocol goes live, only TRONZ token will be compatible. TRONZ development team will consider making compatibility with other tokens at a later date.
10. Are there any additional fees for sending anonymous transactions?
The fee for an anonymous transaction is 0.1 token. If there is a public address in the outgoing address and the public address is not activated, the transaction fee is 1 token.
A step-by-step guide to joining MPC torch project
TronGuide joined the MPC torch project as TronLive and we will be updating each step with screenshot to show the process of each stage. We will be using Windows 10 to participate so those who are not familiar with command prompt can follow our step-by-step guide to go through each process.
1. Send an application email to [email protected] in order to participate in MPC. Please introduce yourself in the email and tell them your available time. Below is an example of TronLive email content:
Hi TRONZ, this is TronLive – the first TRON community site.
We would like to participate in MPC project and we are currently preparing a simple-to-follow guide so any Tronics who wish to participate in this project can easily be part of the TRONZ MPC torch participants. Our initiative is to encourage more Tronics to be part of this event and set new Guinness World Record of the largest MPC ever created.
Our available time is Mon – Sun 8am – 8pm (UTC+8). Feel free to contact us back to discuss further.
Within 24 hours, we received a reply back from the TRONZ team.
We are honored to invite you to be the participant in MPC project. When it’s ready, we will give you more information advanced. For convenient communication, you can contact us with telegram: [telegram invitation link taken out], username is @TronZTron.
You can also add IM tool keybase account: tronz_mpc.
Thanks for your support.
2. While you are waiting back for TRONZ reply, you can also setup Keybase which is an instant messaging app for you to communicate with the TRONZ team. The application is available on multiple platforms and you may download Keybase here – https://keybase.io/download
3. We will demonstrate the use of Keybase on the Android platform. Follow the steps below to reach out to tronz_mpc on Keybase.
4. The major purpose for Keybase is you can upload the large file needed back to TRONZ after you have completed your contribution. At our stage, the file required to be sent back is more than 700MB. So, setup Keybase on your Windows or Mac/Linux machine from Keybase download page. Then follow the setup prompt to link your phone account to your Windows/Mac/Linux machine by scanning the generated QR code.
5. Let us install the essential tools before our turn to contribute. For Windows user, follow through with 5 i, ii, iii and iv. For Mac and Linux user, follow through with 5a i, ii and iii.
i) Download https://www.rust-lang.org/learn/get-started and select 32-BIT or 64-BIT depending on your Windows processor. Choose 32-BIT if you are unsure.
ii) Run the setup. Input 1 and hit Enter.
iii) After you saw the message “Rust is installed now. Great!”, hit Enter key to complete the installation.
iv) Now install Microsoft Visual C++ Build Tools and run the setup when the download is completed. Simply use the Default option for the setup.
a i) For Windows user, continue to Step 6. For Mac or Linux user, follow through steps 5a i, ii and iii. Install xcode command line tools first. In your terminal, run:
# xcode-select --install
a ii) Run the following code in your terminal to download Rustup and install Rust, then follow the instructions if you are running on macOS / Linux / other Unix-like OS:
# curl https://sh.rustup.rs -sSf | sh
a iii) Choose 1 when prompted. After installation, run:
# source $HOME/.cargo/env
6. We can now download the MPC files on Github to our computer. We first create a directory on our computer. In our case, we have created a new directory at D:\TRONZ. You can also create the directory at C drive if you wish.
i) For Windows user, head over to https://github.com/tronprotocol/mpc then click on Clone or download then click on Download ZIP.
ii) After your download is complete, open the zip file and extract the contents by dragging all the files within mpc-master directory to your D:\TRONZ directory. We are using Winrar as the extractor but you may use the default Windows ZIP extractor.
a i) For Mac or Linux user, after you have created a directory, cd into the directory with your terminal and obtain the source code of the MPC project. If git has not been installed on your computer, do download and install git first.
# git clone https://github.com/tronprotocol/mpc
7. At this stage, you will have to wait for TRONZ team to send you the “params” file to continue. You may keep an eye on the TRONZ telegram group to see if the previous participants have completed their contribution.
8. After you have downloaded your params file, move the file to your TRONZ directory along with the files from Github MPC. In our case, it is at D:\TRONZ. To ensure that the file is downloaded completedly, open the command prompt terminal by hitting the Windows button, type in cmd and hit Enter, then navigate to your TRONZ directory by typing in:
cd /d D:\TRONZ
Note that since our TRONZ directory is at D Drive, we added /d for the command prompt to change directory on Windows. If your TRONZ directory is at C Drive, you can simply navigate to your directory with cd C:\TRONZ command.
After that, type in the following code and hit Enter to check the MD5 of params file:
certUtil -hashfile params MD5
If the MD5 hash of params is exactly the same as the hash you obtained from TRONZ email, you can ensure that this is the complete params file needed. For Mac and Linux user, simply navigate to your TRONZ folder and do a md5 params in your terminal to check the MD5 of the file.
9) While you are at the TRONZ directory, run the following code in the terminal to start the computation process:
cargo run --release --bin compute
Note that this process could take 0.5 – 1 hour depending on your hardware specification and will occupy around 1.5 – 2GB of memory.
10) After the computation is completed, you will see a new file called new_params in your TRONZ directory. This is the file to be sent to TRONZ. You can send the new_params with KeyBase to TRONZ. You will also receive the hash for your contribution in the terminal window. Copy the full block (4 lines) of hash and send the hash via email to [email protected]
After the TRONZ team has verified the file you sent (which took about a day for us), they will send you an email back confirming your participation.
Congrats! At this stage, you have completed your contribution for the MPC torch project! You may remove the original params, your generated new_params and all other files if you wish as they are unneeded anymore. Simply keep the hash for your new_params if you want to verify your contribution later.
How to verify your contribution?
After all the participants have finished the process, TRONZ will announce the final params at AWS. Every participant can verify their contribution using the following commands:
cd /d D:\TRONZ
tar xvf powersoftau_phase1_files.tar && cp powersoftau_phase1_files/* .
cargo run --release --features="verification" --bin verify
This verification may take about an hour to output all participants’ contributions. Check whether your hash is on the list.
If you are wondering what your contribution means in this parameters generation ceremony, a simple answer to this is as long as one person within the participants, including you, is not a malicious person who is part of the malicious party, no one else can tamper with the TRON privacy protocol and do malicious operations such as faking transactions, printing counterfeit TRONZ token, etc.
As you can see, this parameters generation process is really important and we thank you for contributing to pave the way for the TRON community to use this privacy feature in the near future!