Principles of Distributed Ledgers

Module aims

Decentralised ledgers, such as Bitcoin and Ethereum, have gained considerable popularity, attracting the attention of academics, entrepreneurs, and policy-makers. They promise new disruptive markets, and revolutionise how we think of money and financial infrastructure. In this module you will have the opportunity to explore the foundational principles behind decentralised ledgers and learn about current research in cryptocurrencies. This will include the foundations of distributed computing, applied cryptography and incentive mechanisms.
Most topics discussed during the module require a general knowledge of computer networks, distributed systems and programming languages.

Recommended (not required) prerequisites: Networks and Communications, Network and Web Security, Cryptography Engineering

Related modules (if running): Privacy Engineering, Scalable Systems and Data, Systems Verification, Advanced Databases, Distributed Algorithms

Learning outcomes

Upon successful completion of this module you will be able to:

  • instantiate and experiment with your own blockchain
  • conduct a critical analysis of blockchain security
  • evaluate the privacy of cryptocurrencies such as Bitcoin
  • design, implement and assess smart contract applications
  • evaluate the scalability of blockchain applications and build scalable solutions

Module syllabus

  • Hash Functions
  • Digital Signatures
  • Decentralisation and permissionless/ permissioned ledgers
  • Wallets and transactions
  • Authenticated data structures
  • Blocks and the blockchain
  • Proof of work and mining
  • Ethereum smart contracts
  • Smart contract security
  • Network layer propagation
  • Blockchain security and privacy
  • Building decentralised applications
  • Security and privacy of distributed ledgers
  • Scaling decentralised ledgers
  • Network and Hardware aspects of decentralised ledgers  

Teaching methods

The module will be taught via interactive classes where you will be encouraged to engage with your classmates and the lecturer. The lectures will be interspersed with unassessed, formative, exercises based on topical research papers that can be read in advance. Mentimeter may be used to verify your understanding of the key topics as they are taught. In the coursework you will develop your own set of smart contracts.

An online service will be used as a discussion forum for the module.


There will be one assessed coursework where you will be asked to program a set of smart contracts. This is worth 20% of the marks. The remaining 80% will come from a written examination which will test both theoretical and practical aspects of the subject.

There will also be written feedback on the coursework submission.

Module leaders

Mr Paul Pritz
Mr Sam Werner
Mr Lewis Gudgeon
Mr Daniel Perez Hernandez
Professor William Knottenbelt

Reading list

To be advised - module reading list in Leganto