What is MPC (Multi-Party Computation)?

MPC (multi-party computation) is a privacy-preserving computational method that allows multiple parties to compute a common output without revealing any of their individual inputs. In other words, MPC allows several individuals, each holding private data, to compute a common output without disclosing private information to each other.

On Renegade, relayers use MPC to propagate network information, inform other relayers of new orders, and perform the calculations necessary to swap liquidity whenever a liquidity match is found — all while keeping order information confidential.

How MPC works

Multi-party computation is a core cryptographic primitive that has been studied since the early 1980s, but it’s just recently finding commercial adoption thanks to blockchain systems.

A classic example demonstrating the applicability of MPC is the “Millionaire’s Problem.” Suppose a group of coworkers want to know who among them gets paid the most without actually revealing their individual salaries to one other. They can tell a trusted party each of their salaries and have that evaluator announce the highest earner without revealing any of the input information.

mpc_ideal_light.png

This is the core idea of MPC — it allows multiple mutually-distrusting parties to compute a function output on secret inputs. On a blockchain, MPC can be performed without a centralized operator, enabling trustless computations over private data.

mpc_realized_light.png

MPC on Renegade

When it comes to dark pools, MPCs are a natural fit as they allow trades to be matched without revealing any order details. On Renegade, the MPC’s private inputs are two traders’ order books and the output is a list of tokens swapped as a result of executing the matching engine on the pairs of order books.

matching_engine_light.png

Thanks to MPC, traders can look for counter-flow without having to reveal the details of their orders. If there is no match between their order books, no information is leaked (other than the fact that there was no valid counter-order).

MPCs by themselves, however, are not enough for full dark pool functionality as they reveal their outputs in plaintext. For its end-to-end order obfuscation, Renegade relies on the “collaborative SNARK” — a blend of MPC and zero-knowledge proofs.