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 more advanced blockchains protocols.

Teaching and Learning Methods:

Lectures and homework.

Course Policies:

Final project and homework are mandatory



Students must have followed SecCom or equivalent prior to taking this course. Basic knowledge of probability, linear algebra is suggested.


The course will cover:

  • The simulation paradigm, security models for MPC
  • Garbled Circuits and 2PC, Oblivious Transfer, Commitment schemes
  • Secret Sharing Schemes (SSS)
  • honest-but-curiuos MPC based on SSS
  • Cryptographic compilers
  • maliciously secure MPC based on SSS
  • Security proprerties of Blockchains as MPC protocols
  • proof-of-work based Blockchains
  • proof-of-stake based Blockchains
  • privacy-preserving Blockchains

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, Problem session: 1, Programmed personal work: 4

Grading Policy: Final Project with Oral Presentation (40%), Exam (60%)