Undergraduate Course: Blockchains and Distributed Ledgers (INFR11144)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||Blockchain technology and distributed ledgers have been hailed as a turning point in scaling information technology services at a global level. Although the digital currency Bitcoin is the best-known Blockchain application today, the technology is set to play a much broader role in cyber security.
This course is an introduction to blockchain systems and distributed ledgers, the relevant cryptographic tools and smart contracts programming.
The concept of blockchain will be covered in detail together with the supporting cryptographic technology. Questions that will be covered is why it works and what problems can it solve.
1. Introduction to blockchain. What is a distributed ledger. Transactions. Digital Signatures.
2. The consensus layer. Basic Properties. Proof of Work.
3. Robust Transaction Ledgers. Properties and Objectives. Permissioned, permissionless ledgers.
4. Privacy Issues. Anonymity, Pseudonymity, Unlinkability. Zero-Knowledge Proofs.
5. Scalability Issues. Byzantine agreement protocols.
6. Blockchain as a platform. Smart Contracts.
7. Secure multiparty computation techniques and their application to blockchain protocols.
8. Alternative techniques to proof of work for blockchain protocols, proof of stake/space.
9. Game theoretic analysis of blockchain protocols.
10. Name and object registries. Reputation systems. Policy issues related to blockchain.
Information for Visiting Students
|Pre-requisites||As above. This course is open to full year Visiting Students only, as the course is delivered in Semester 1 and examined at the end of Semester 2.
|High Demand Course?
Course Delivery Information
|Academic year 2022/23, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
Assignment 1: Interacting with a Distributed Ledger and Basic Principles (20%)
Assignment 2: Smart Contract Programming Part I (30%)
Assignment 3: Smart Contract Programming Part II (30%)
Assignment 4: Designing and deploying IT services using a distributed ledger (20%)
|No Exam Information
On completion of this course, the student will be able to:
- Explain and Analyze protocols and systems involving multiple participants and their security properties.
- Demonstrate the ability to think critically about cybersecurity.
- Program smart contracts as part of scalable information technology services.
- Analyse and evaluate smart contract code utilizing basic cryptographic primitives such as digital signatures and hash functions.
|Bitcoin and Cryptocurrency Technologies by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder. http://bitcoinbook.cs.princeton.edu|
The Bitcoin Backbone Protocol: Analysis and Applications, Juan Garay and Aggelos Kiayias and Nikos Leonardos. https://eprint.iacr.org/2014/765
|Graduate Attributes and Skills
||Familiarity with cryptography, cyber security, decentralized systems, databases, open source software.
|Course organiser||Mr Dimitris Karakostas
|Course secretary||Mrs Helen Tweedale
Tel: (0131 6)50 2692