COMP0143 Cryptocurrencies

This database contains the 2018-19 versions of syllabuses.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Academic session






Module delivery

1819/A7U/T2/COMP0143 Masters (MEng)

Related deliveries

1819/A7P/T2/COMP0143 Postgraduate

Prior deliveries

None - new delivery for 1819


Masters (MEng)

FHEQ Level


FHEQ credits



Term 2

Module leader

Meiklejohn, Sarah


Meiklejohn, Sarah

Module administrator

Ball, Louisa


The module aims to provide students with an understanding of the technologies underlying cryptocurrencies, as well as their broader ecosystem.

After taking the module, students should be able to identify the tradeoffs in terms of openness, privacy, security, and efficiency in given cryptocurrency and blockchain-based solutions. They will be taught how to do this both by seeing constructive solutions that satisfy all or some of these properties and by seeing attacks on existing systems that demonstrate how they fail to satisfy one or more of these properties.

Students should be able to keep up with this rapidly evolving field by improving their ability to read whitepapers, technical specifications, and research papers. When faced with a new system, they should be able to reason about its effectiveness in terms of the tradeoffs listed above.

Learning outcomes

On successful completion of the module, a student will be able to:

  1. understand the basic components of blockchains and cryptocurrency transactions, including how peers achieve consensus, which programming languages are used to specify information, and how blockchains are secured via the underlying cryptographic primitives of hash functions and digital signatures.
  2. understand the tradeoffs in terms of efficiency and security associated with the consensus protocols used for blockchains, and how they relate to existing consensus protocols. Similarly, understand the tradeoffs in terms of openness (permissionless, permissioned, etc.), efficiency, and privacy.
  3. read whitepapers and research papers in this area and present them to others.
  4. know that there are interesting technical research problems associated with cryptocurrencies and blockchains, but also many social, legal, and economic problems as well. In general, gain some understanding of the wider ecosystem in which these technologies live.

Availability and prerequisites

This module delivery is available for selection on the below-listed programmes. The relevant programme structure will specify whether the module is core, optional, or elective.

In order to be eligible to select this module as optional or elective, where available, students must meet all prerequisite conditions to the satisfaction of the module leader. Places for students taking the module as optional or elective are limited and will be allocated according to the department’s module selection policy.

Programmes on which available:

  • MEng Computer Science (International Programme) (year 4)
  • MEng Computer Science (year 4)
  • MEng Mathematical Computation (International Programme) (year 4)
  • MEng Mathematical Computation (year 4)


Introduction to Cryptography (COMP0025)


The module gives students an understanding of cryptocurrencies such as Bitcoin and their underlying data structure, known as the blockchain. Students will study various components of these cryptocurrencies, ranging from the network layer to the consensus layer to the transaction layer. The module will cover both constructive aspects of these technologies (what can we build when we use blockchains?) as well as attacks on various privacy and security aspects.

An indicative reading list is available via


The module is delivered through a combination of lectures, tutorials, seminars, written and programming exercises, and project work.


This module delivery is assessed as below:



Weight (%)



Poster and oral presentation




Project (1500 words)







In order to pass this Module Delivery, students must:

  • achieve an overall weighted Module mark of at least 50.00%;

AND, when taken as part of MEng Computer Science and MEng Mathematical Computation:

  • achieve a mark of at least 40.00% in any Components of assessment weighed ≥ 30% of the module.

Where a Component comprises multiple Assessment Tasks, the minimum mark applies to the overall component.