Blockchain technology and formal methods
Postgraduate course
- ECTS credits
- 15
- Teaching semesters
- Autumn
- Course code
- INFO384
- Number of semesters
- 1
- Teaching language
- English
- Resources
- Schedule
Course description
Objectives and Content
The course aims at providing students with knowledge of the state-of-the-art blockchain technology. Moreover, students will learn how to use the tools and techniques of formal logic and theoretical computer science to analyse and reason about various blockchain aspects and properties. As a result of the course, students will have an in-depth understanding of formal methods for blockchain and be able to carry out research in the area.
As blockchain technology becomes more and more ubiquitous, there is a growing demand for rigorous and formal understanding of its key aspects. The course will provide an advanced overview of blockchain theory and models with detailed analyses of some of its implementations. A special focus will be set on various notions of consensus, like proof-of-work and proof-of-stake. Both the blockchain itself and consensus will be then formally analysed using the notions and techniques of theoretical computer science, e.g. Merkle trees and modal logic. We will also cover one of the most prominent applications of blockchains - smart contracts. The focus will be on Ethereum smart contracts, and their implementation in Solidity programming language. The course will also include a detailed overview of cryptographic methods used to ensure the safety on a blockchain.
The course material will include selected chapters from textbooks and research papers.
Learning Outcomes
By the end of the course a participating student will have the following knowledge, skills, and general competence.
Knowledge
The student has rigorous and advanced understanding of blockchains and formal methods for them.
Skills
The student is able to discuss and present state-of-the-art research papers on formal aspects of blockchain that allows them to conduct a research project in the area. Moreover, the student has a firm grasp on smart contracts and is able to prototype them in Solidity programming language.
General competence
The student is able to read advanced research papers on formal methods for blockchain and verification of smart contracts.
ECTS Credits
Level of Study
Semester of Instruction
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
Access to the Course
Teaching and learning methods
Compulsory Assignments and Attendance
Forms of Assessment
Written exam (70%)
Three graded assignments (30%)
The exam assignment will be given in the language of instruction in the course.
The exam answer must be submitted in the same language as the exam assignment.
Grading Scale
Assessment Semester
Assessment in teaching semester
Retake exam
Written exam
A retake exam is arranged for students with valid absence according to § 5-5. If there is a retake exam, this will be available for students with the follow results/absences:
- Medical certificate/valid absence
- Interruption during the exam
- Fail/failed
If you have the right to take a retake exam and a retake exam is arranged for students with valid absences, you can sign up yourself in Studentweb after January 15/August 1.
Individual assignment
Students with valid absence as defined in the UiB regulations § 5-5 can apply for an extended submission deadline to eksamen.infomedia@uib.no. The application must be submitted before the deadline for submission has expired.