Blockchains and Distributed Ledgers
Welcome to the web-site of blockchains and distributed ledgers course.
Instructor: Aggelos Kiayias
Time and Location:
Monday, 14:10-16:00. (online, live lectures
. Recordings of past lectures
Assignment #1: Interacting with a Distributed Ledger and Basic Principles (20%)
Assignment #2: Smart Contract Programming Part I (30%)
Assignment #3: Smart Contract Programming Part II (30%)
Assignment #4: Smart Contract Communication (20%)
Reading material for this class will be available in
this github directory
For the study guide please see below.
Class schedule and Study Guide
Lecture 01 (21.09.2020)
Introduction to blockchains and distributed ledgers, the never ending book parable. Relevant cryptographic primitives. Digital Signatures and Hash Functions.
Lecture 02 (28.09.2020)
The blockchain network and associated data structures. Transactions.
Lecture 03 (5.10.2020)
The blockchain as a platform.
Lecture 04 (12.10.2020)
Pitfalls and security vulnerabilities in smart contracts.
Common bugs and hazards. The DAO attack.
Using Libraries. Programming advice.
Lecture 05 (19.10.2020)
The consensus problem.
Lecture 06 (26.10.2020)
Byzantine fault tolerance and PoS Blockchains.
Permissionless vs. Permissioned Ledgers.
BFT and PoS-based approaches for permissioned Dynamic participation
Lecture 07 (2.11.2020)
Distributed ledger economics and incentives.
Lecture 08 (9.11.2020)
Anonymity and Privacy in blockchain protocols. Coinjoin transactions. Mix-nets.
Lecture 09 (16.11.2019)
Secure Multiparty Computation
Lecture 10 (23.11.2020)
Decentralized Finance Platforms and Automated Market Makers (guest lecture: Vincent Danos).
Summary and Overview. Student Questions.