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

Contact Orestis Alpos for more information.

Nature of the project: Theory 20%, Systems 80%.