Cryptocurrency Class 2022

All lecture and teaching material is developed by Patrick McCorry. All material is open-source and it is free to access, use modify or share.

The field of cryptocurrency is trust engineering. It applies cryptography, distributed systems and mechanism design as the foundation for a global and self-sustaining peer-to-peer network.

This course is taught in the style of an MSc module. We'll study how something like Bitcoin can work, the implications and beauty of self-enforcing smart contracts, and focus on bringing all students up to date with state-of-the-art research in this emerging area. There is a special focus for off-chain protocols. This includes the history of payment channels (the lightning network) and validating bridges (rollups).

Target audience

Our goal is to provide educational material (and the correct mental model) to allow bystanders to join the cryptocurrency community. Anyone with a slight technical background can benefit from this course. No programming experience required, but it will be helpful for some of the exercises.

Class material

Time & Date Title Lecture Video Slide Deck Blog posts Homework Reading material
7pm (UK) 22-03-2022 Introduction to cryptocurrency Online recording Lecture 1 Why cryptocurrencies are interesting?

How does everything tie together?
Homework 1

Coding Exercise 1
Bitcoin whitepaper

Currency wars

The Latecomer's Guide to Crypto

Stone Ridge shareholder letter

Additional reading:
Two Generals Problem

Why 2/3 majority?
7pm (UK) 29-03-2022 Structure of the blockchain and how cryptography plays a role Online recording Lecture 2 The "crypto" in cryptocurrency

Basics of hash function and their usage in cryptocurrencies

Basics of digital signatures

Bitcoin's UTXO model

Ethereum's account model
Homework 2

Coding Exercise 2
Ethereum whitepaper

BIP50

CVE-2012-2459

RNG bug in Android (2013)

Heuristics for tracking transfers in UTXO model

Bitcoin SPV clients

Handle ECDSA with care

State expiry history

SoK light clients
7pm (UK) 31-03-2022 Live coding of solidity Online recording
7pm (UK) 05-04-2022 Building and breaking smart contracts Online recording Lecture 3 What is a smart contract? Homework 3

Coding Exercise 3
Solidity by Example.

EVM codes (visual)

Solidity gas golfing

Foundry Ethereum development toolbox

Scaffold-ETH

samczsun blogs

Programming Satan's Computer

Bad gas management in EVM
The group project is released!

You have until the 3rd May 2022 to complete the assignment. It can be completed solo or as part of a team.

The task is to build and promote a rock, paper and scissors smart contract :)

Submit here
3:30pm (UK) 07-04-2022 Smart contract security with Mudit Gupta and Taylor Monahan Online recording
7pm (UK) 12-04-2022 Peer to peer network and the fee market Online recording Lecture 4 Who are the block producers? Homework 4

Check coursework for coding exercise
Initial block download.

Ethereum Blockspace - Who Gets What and Why

Dandelion++

Economic Analysis of EIP-1559

TxProbe: Topology of Bitcoin Network

Snap sync announcement

Hostle blockchain takeovers

Analysis of EIP-1559
2pm (UK) 20-04-2022 Fee market sustainability with Hasu and Tim Roughgarden Online recording Foundation of blockchain class (Tim Roughgarden)
7pm (UK) 26-04-2022 Can a monolithic blockchain design solve the scalability problem? Online recording Lecture 5 A Theory of Ethereum State Size Management

On scaling decentralized blockchains

Gas token

EIP103: State rent

State expiry

Better Hash

Bitcoin's FIBRE network

Graphene: Efficient Interactive Set Reconciliation Applied to Blockchain Propagation

Compact blocks

Bitcoin-NG

GhostDAG

Avalanche whitepaper

Proof of publication

Weak subjectivity
5pm (UK) 03-05-2022 Interoperability, repayment protocols, and the lightning network. Online recording Lecture 6 Spilman channels

Duplex Micropayment Channels

Lightning paper

Towards payment channel networks

Sprites and State Channels

You sank my battleship!

Path-based routing

Perun and Virtual Payment Hubs

Revive: Rebalancing Off-Blockchain Payment Networks

eltoo: simple channels for bitcoin
5pm (UK) 05-05-2022
Implementing the lightning network with Olaoluwa Osuntokun and Christian Decker Online recording
7pm (UK) 10-05-2022 Scaling with bridges in a multi-chain world Online recording Lecture 7 Mental models for L1 and L2 Sidechains

SoK: Validating Bridges as a Scaling Solution for Blockchains

Plasma: Scalable Autonomous Smart Contracts

Minimal Viable Plasma

Plasma Cash

The Life and Death of Plasma

Inside Arbitrum

(Almost) Everything you need to know about Optimistic Rollups

An Incomplete Guide to Rollups

zkEVM (challenges)
5pm (UK) 12-05-2022 Plasma to Rollups with Georgios Konstantopoulos and Kelvin Fichter Online recording
7pm (UK) 24-05-2022 Past, present and future of blockchain networks. Online recording Lecture 8 Bitcoin and Me (Hal)

The roads not taken.

Visions of Bitcoin

The Complete Satoshi

Poker code in Old Bitcoin Core

Bitcoin's Academic Pedigree

Organisational Structure

Workshop-style course

We plan to conduct one lecture a week and eight lectures in total. All classes are streamed over Crowdcast (immediate replay available) and a chatroom is available is ask questions on the fly.

While the prepared content should benefit the audience, the lecture-style supports the audience to ask questions and diverge from the content to aid the learning experience. Typically, 1 hour of lecture material is planned for a 2 hour session.

Portfolio, not certification.

There is no explicit or graded assessment. We encourage participants to build a portfolio of work and experiment with different aspects of cryptocurrency.

External sponsors and content

Unlike other events, it is ideal for sponsors to approach us after the class has concluded. Assuming it is successful, we want sponsors to focus on how we can make it sustainable in the future.

There will be no additional lectures or workshops from external companies during the 8 week course. This is to avoid over-exhausting the participants or presenting content in a way that confuses the participants. We may include some interactive panel sessions with industry experts to discuss some of the material presented.

Free for all

There is no fee to participate. Our goal is to help bystanders join the cryptocurrency community and provide a level playing field for all. It is very possible this venture makes no money, but who cares when we are all having fun.

Instructor

Patrick McCorry is an intern engineer at Infura after Infura acquired his startup, any.sender. Previously, he was an Assistant Professor at King’s College London and an accomplished researcher at University College London, University of Illinois at Urbana-Champaign and Newcastle University. His expertise is cryptocurrencies, smart contracts, applied cryptography and decentralised systems. Patrick is the United Kingdom’s first PhD graduate in cryptocurrencies. His work has appeared at Devcon, Scaling Bitcoin, Breaking Bitcoin, CESC, BPASE and SBC alongside numerous academic events.

Sponsor


We hope our material helps kick-start your crypto career. To the moon.