Master Thesis
Multiparty computation on Blockchain
Multiparty Computation (MPC) enables a group of participants, who do not necessarily trust each other, to jointly perform a computation. The term was introduced by Yao in 1982[1]. The participants agree on a function to compute. Each participant holds an input to that function. Using an MPC protocol they compute the output of the function on their secret inputs without revealing them. A famous example, given in [1], is the Millionaires’ problem: “Two millionaires wish to know who is richer; however, they do not want to find out inadvertently any additional information about each other’s wealth.” In this case, the function they wish to compute is x_1 < x_2
, where the first participant knows the input x_1
and the second knows x_2
. For more information and some important MPC protocols we refer to the chapters 3.1 to 3.3 of the book in [2].
Blockchains, on the other hand, serve nowadays as a distributed and decentralized framework, on which applications are being developed. These applications utilize the blockchain as the communication primitive and/or as a trusted party. In this project we will focus on an existing MPC framework (a great list can be found in [3]) and explore how it can be adapted to run on top of a blockchain.
References
[1] Protocols for Secure Computations
[2] A Pragmatic Introduction to Secure Multi-Party Computation
[3] Awesome-mpc