Blockchain Technologies and Application (DAT655)
The course gives insight into different technologies, models, and applications for blockchain systems.
Course description for study year 2024-2025. Please note that changes may occur.
Course code
DAT655
Version
1
Credits (ECTS)
5
Semester tution start
Autumn
Number of semesters
1
Exam semester
Autumn
Language of instruction
English
Content
NB! This is an elective course and may be cancelled if fewer than 10 students are enrolled by August 20th.
The first part of the course covers fundamental technology behind blockchains, including proof of work and proof of stake consensus mechanisms. We also cover different models, including permissioned and permissionless deployment.
The second part covers smart-contract programming, security of smart contracts and applications. This part will also cover payment channels and similar technology.
The third part focuses on different applications for blockchain technology. Among others, self-sovereign identity and decentralized storage applications are discussed. This part also discusses how blockchain technology may contribute to or threaten UN sustainability goals.
In addition to the lectures, students must present and discuss related research papers. In the accompanying lab project, students simulate different blockchain systems and learn to implement a secure application using smart contracts.
Learning outcome
Knowledge
- Know when and how to apply blockchain technology
- 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.
Skills
- Be able to develop applications for execution on a blockchain.
- Be able to reason about systems and applications involving blockchain technology.
Required prerequisite knowledge
Exam
Form of assessment | Weight | Duration | Marks | Aid |
---|---|---|---|---|
Oral exam | 1/1 | Letter grades |
Four mandatory individual lab exercises (programming exercises). Pass/Fail. All programming exercises must be passed within the specified deadlines to take the oral exam. Approval takes place through the delivery of code online, followed by in-lab approval.