Introduction to Cryptocurrencies

2019 Fall

Location: D-00.115, Time: Tuesday 14:15-15:45

NOTE: Participation is mandatory! You can miss 3 sessions at max!

The lecture will mainly follow this awesome book!

1st week (2019.09.17.)

Intro to Cryptography used in blockchains and consensus algorithms.

2nd week (2019.09.24.)

Bitcoin deep-dive, Proof of work and various miner strategies (e.g. selfish mining, merged mining etc.)

How Bitcoin actually works?

Mechanics of Bitcoin

1st Homework: Deadline: 2019.10.08. 14:14 CEST. Submit by e-mail!

3rd week (2019.10.01.)

Security and Privacy of Bitcoin: selfish mining, anonymity issues The selfish mining classic paper.

4th week (2019.10.08.)

Ethereum and programming in Solidity. A little bit more lightweight introduction to Ethereum. 1st homework submission deadline!

5th week (2019.10.15.)

Szilagyi Peter's list of known contract vulnerabilities and exploits. Thinking like an attacker: A brief history of the DAO disaster;

One of many possible Solidity intros. Feel free to use your favourite. This is just a suggestion.

Solidity Language Documentation


Nice Solidity Hacking exercises! Highly advised!

Homework 2. Submission deadline: 2019. November 5. 14:14 CEST by mail

6th week (2019.10.22.)

Privacy issues of blockchains and proposals to solve it (mixing, confidential transactions, ZKPs). Privacy-preserving currencies: Monero and ZCash

A Fistful of Bitcoins: Characterizing Payments Among Men with No Names

Zero-link protocol by Adam Ficsor (nopara73)

Current privacy-enhancing scene for account-based cryptocurrencies

7th week (2019.11.05.)

Scaling blockchains: Layer-2 technologies: Lightning

How does Lightning Network work by Rene Pickhardt

State channels by Patrick McCorry

8th week (2019.11.12.)

Cross-chain interoperability and (fair) cross-chain atomic swaps

Atomic swaps by Ethan Heilman

XCLAIM: Trustless, Interoperable Cryptocurrency-Backed Assets

On the optionality and fairness of atomic swaps

2nd homework submission deadline!

9th week (2019.11.19.)

There was no class!

10th week (2019.11.26.)

Random beacons, randomness on the blockchain, VDFs and applications;

Bitcoin as a randomness source

Proof-of-delay and randomness beacon for Ethereum

Verifiable Delay Functions (VDFs)

Simple Verifiable Delay Functions

Efficient Verifiable Delay Functions

11th week (2019.12.03.)

Cryptographic accumulators, Logarithmic Accumulators (Merkle Trees). RSA accumulators. Stateless Blockchains. Benedikt Buenz's slides. Applications of Zero-knowledge proofs (ZKPs). Giving a high-level perspective of potential applications of ZKPs.

12th week (2019.12.10.)

Oracles: the problem of connecting a blockchain with the physical world! Andrew Miller's lecture on the topic! Algorithmic stablecoins: MakerDAO and the DAI ecosystem; Short intro to the topic

13th week (2019.12.17.)

Showcasing your project/paper! (15 mins each + 3 mins Q&A) If you don't have a project/paper pls contact me!

IMPORTANT: Exceptionally lecture starts at 14:00. Pls send me your slides no later than 12:00!!!

Stefano: will introduce his own Lightning Network Project

Kimsukha: how to save Bitcoin against a quantum adversary: Committing to quantum resistance: a slow defence for Bitcoin against a fast quantum computing attack

Erik: Centrally Banked Cryptocurrencies

Aleksandr: TBD

Zihan: Blindcoin: Blinded, Accountable Mixes for Bitcoin

Mohammed:Hierarchical deterministic Bitcoin wallets that tolerate key leakage


25% Homework + 25% projects + 50% Final exam