Principles of Distributed Ledgers

Module aims

Decentralised ledgers, such as Bitcoin, have gained rapid popularity, attracting the attention of academics, entrepreneurs, and policy-makers. They promise and already create new disruptive markets, and revolutionise how we think of money and financial infrastructure. In this module you will have the opportunity 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 courses: 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 Signature
  • Decentralisation and permissionless/ permissioned ledgers
  • Wallets and transactions
  • Authenticated datastructures
  • 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 ledger and alternatives
  • 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. There will be a course work where you develop your own smart contract based game.

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

Assessments

There will be one assessed coursework where you will be asked to program a smart contract based game. 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. As part of the lecture we will go through the blockchainworkbench.com course, which was specifically designed and implemented for this course for you to learn to program solidity based smart contracts.

Module leaders

Mr Paul Pritz
Mr Sam Werner
Mr Lewis Gudgeon
Mr Daniel Perez Hernandez

Reading list

To be advised - module reading list in Leganto