Multiparty Computation and Blockchains


The goal of this course is to introduce the students to the basic concepts of secure multiparty computation, the foundational MPC protocols and someadvanced blockchain protocols.  This is a theoretical course! We will see foundational aspects of MPC, protocols, proof (as in math) of security, foundational aspects of Blockchain.

Teaching and Learning Methods: Lectures and homework.

Course Policies: Final project and homework arenot mandatory

  • “A Pragmatic Introduction to Secure Multi-Party Computation”. David Evans, Vladimir Kolesnikov and Mike Rosulek
  • “Secure Multiparty Computation and Secret Sharing”. Cramer, Damgaard, Nielsen.
  • “Foundations of Distributed Consensus and Blockchains” (draft), Elain Shi,
  • Slides and Scientific Papers


Students must have followed SecCom or equivalent prior to taking this course. Students are encouraged to follow BigSec prior to taking this course. Basic knowledge of probability, group theory, linear algebra is mandatory.

(If you cannot answer the following questions you’ll have troubles with the course: What is a negligible function? What does computational indistinghuishability mean? What is the difference between CCA security and CPA security? What is a finite field? )


The course will cover:

  • The simulation paradigm, security models for MPC (semi-honest security, malicious security)
  • Garbled Circuits and 2PC, Oblivious Transfer (semi-honest security, malicious security, malicious security with aborts), Commitment schemes
  • Secret Sharing Schemes (SSS) (Additive Secret Sharing, Shamir’s Secret Sharing)
  • semi-honest MPC based on SSS (GMW; BGW)
  • Cryptographic compilers (GMW compiler from semi-honest to malicious security), Zero-Knowledge Proofs, Coin-Tossing protocols
  • Maliciously secure MPC based on SSS (preprocessing models: Beaver’s Triples, double-sharing; SPDZ)
  • Foundational concepts of Blockchains (permision-less vs permissioned, sybil attack, Distributed Ledger, Chernoff Bound, Blockchain Backbone)
  • proof-of-work based Blockchains
  • proof-of-stake based Blockchains
  • privacy-preserving Blockchains (ZeroCoin)

Learning outcomes:

The students will be able reason about the security requirements of crypotographic protocols, have a basic knowledge of the most known MPC and Blockchains protocols

.Nb hours: 21

Hours for

Lecture: 20

Lab session: 0

Problem session: 1

Tutored self- study: 0

Remotely Tutored self- study: 0

Programmed personal work: 4

Grading Policy:

  • With Project: Project (25%) and Written Exam (75%). The student can withdraw and stop the project without negative impact (switch to “Without Project” Grading Policy).
  • Without Project: Written Exam (100%).