MA336 Half Unit
Mathematics of Cryptocurrencies and the Blockchain
This information is for the 2025/26 session.
Course Convenor
Prof Andy Lewis-Pye
Availability
This course is available on the BSc in Financial Mathematics and Statistics, BSc in Mathematics and Economics, BSc in Mathematics with Data Science, BSc in Mathematics with Economics, Erasmus Reciprocal Programme of Study and Exchange Programme for Students from University of California, Berkeley. This course is available with permission as an outside option to students on other programmes where regulations permit. This course is available with permission to General Course students.
This course is capped. Places will be assigned on a first come first served basis.
Requisites
Pre-requisites:
Students must have completed MA103 and MA214 before taking this course.
Additional requisites:
Students should be comfortable with proofs and proof techniques used in pure mathematics. Students who have completed MA102 rather than MA103 are also eligible. Students who have not done MA214 may be granted permission upon request.
Course content
The course will cover the core aspects of distributed computing that are relevant to blockchain technology, from the pioneering work of computer scientists such as Lamport, Dolev, Reischuk and others in the 1980s, right up to some of the state-of-the-art protocols that are in use today. In particular, the course will cover topics amongst:
- The definition of various `consensus' problems, such as Byzantine Agreement, Byzantine Broadcast, Atomic Broadcast, and State Machine Replication.
- Reductions between consensus problems.
- Timing models: the synchronous, partially synchronous, and asynchronous settings.
- Fault models: crash failures, omission faults and Byzantine faults.
- Protocols for consensus in synchrony: The Dolev-Strong and Phase-King protocols.
- Impossibility results for consensus protocols in the synchronous setting: the lower bounds of Dolev and Reishchuk and Fischer, Lynch and Merritt.
- Protocols for State Machine Replication in partial synchrony: Tendermint, PBFT and Hotstuff.
- Complexity measures: communication complexity and latency.
- The FLP impossibility theorem for the asynchronous setting: deterministic consensus is not possible.
- Reliable Broadcast in asynchrony.
- Payment systems.
- Randomised protocols for State Machine Replication in asynchrony.
- "Layer 2" solutions: rollups and the Lightning Network.
Teaching
20 hours of lectures and 10 hours of classes in the Winter Term.
2 hours of lectures in the Spring Term.
Formative assessment
Students will be set weekly home-works, which they are invited to hand in on Moodle. These home-works will be marked, with feedback given to the student each week.
Indicative reading
Some relevant references are:
- Consensus in 50 pages: https://lewispye.wordpress.com/wp-content/uploads/2023/01/consensus-in-50-pages7-1.pdf
- Foundations of distributed consensus and blockchain, Elaine Shi: http://elaineshi.com/docs/blockchain-book.pdf
- Distributed algorithms, Nancy Lynch.
- Foundations of blockchains, Tim Roughgarden: https://timroughgarden.github.io/fob21/
- Introduction to Reliable and Secure Distributed Programming, Cachin, Guerraoui, and Rodrigues.
- Distributed Thoughts: https://decentralizedthoughts.github.io/
Assessment
Exam (90%), duration: 120 Minutes in the Spring exam period
Continuous assessment (10%)
Key facts
Department: Mathematics
Course Study Period: Winter Term
Unit value: Half unit
FHEQ Level: Level 6
Keywords: Blockchains, Distributed Computing, Payment Networks
Total students 2024/25: Unavailable
Average class size 2024/25: Unavailable
Capped 2024/25: NoCourse selection videos
Some departments have produced short videos to introduce their courses. Please refer to the course selection videos index page for further information.
Personal development skills
- Self-management
- Team working
- Problem solving
- Communication
- Application of numeracy skills
- Specialist skills