en_GB
Hold Ctrl-tasten nede. Trykk på + for å forstørre eller - for å forminske.

DAT650_1

Blockchain Technologies

This is the study programme for 2019/2020. It is subject to change.


This subject gives insight into different technologies and models for blockchain systems and hands-on experience developing smart contracts.

Learning outcome

Knowledge:
  • Know about different models for blockchains with both open and closed membership.
  • Know about different consensus mechanisms used in blockchain and their probabilistic guarantees.
  • Know about smart contracts and different execution models for smart contracts.
  • Know about cryptographic primitives used in blockchains.

Skills:
  • Be able to develop applications for execution on a blockchain.
  • Be able to reason about systems and applications involving blockchain technology.

General competency:
  • Know how and when to apply blockchain technologies.

Contents

The course gives insight into different technologies and models for blockchain systems.
The first part of the course covers voting consensus and Byzantine fault tolerant systems, and their application in permissioned blockchains. A variety of systems with different failure models and assumptions will be presented, including systems that tolerate malicious and selfish peers.
The second part of the course covers Nakamoto consensus and its application for permissionless blockchains. This includes different techniques to avert Sybil attacks such as proof-of-work and proof-of-stake mechanisms.
The course includes some cryptographic foundations for blockchains, such as hash-chains, Merkle-trees and multiparty signatures.
In addition to the lectures, students will have to read and discuss related research papers.
In the accompanying lab project students will mine blocks for a simulated proof-of-work blockchain, deploy a secure system built to withstand malicious attacks, and implement a secure application using smart contracts.

Required prerequisite knowledge

DAT510 Security and Vulnerability in Networks
DAT510 Security and Vulnerability in Networks

Recommended previous knowledge

DAT520 Distributed Systems
DAT520 Distributed systems

Exam

Project work with presentastion and written exam
Weight Duration Marks Aid
Project work with oral presnetation4/10 A - F
Written exam6/104 hoursA - F
The course contains a written exam (4 hours) and a project assignment.
The written exam counts for 60 % of the total grade.
The project counts for 40 % of the total grade and is evaluated through a report and an oral presentation. The project work can be done in groups, but the oral examination and grading will be done individually. Both parts must be done before final grade for the project is given.
If a student fails the projectwork , she/he have to take this part again next time the subject is lectured.

Coursework requirements

Two mandatory individual lab exercises (programming exercises). Pass/Fail. All programming exercises must be passed within the specified deadlines to start on project assignment. Approval takes place through the delivery of code online, followed by in-lab approval.
Five mandatory individual assignments (theory exercises). Pass/Fail. At least four out of five assignments must be passed within the specified deadlines to attend the written exam. Approval takes place through the delivery on Canvas.
Completion of mandatory assignments are to be made at the times and in the groups that are assigned. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Course teacher(s)

Course coordinator
Leander Nikolaus Jehl

Method of work

6 hours of lectures and lab per week

Course assessment

Form and/or discussions.

Literature

  • Slides and articles available on Canvas
  • Lecture notes


This is the study programme for 2019/2020. It is subject to change.

Sist oppdatert: 13.11.2019

History