Practical course on Blockchain Security

ProfessorProf. Dr. Ghassan Karame
Course number211428


Practical sessionsThursdays, 14:30-16:00, Room: TBA
First session11.04.2024

Open for
This course is open to students of the Bachelor Program in IT Security, the Master’s program in IT Security / Information Engineering, and the Master’s degree in IT Security / Networks and Systems.


Motivated by the wide success of Bitcoin, recent years have witnessed the surge of a considerable number of blockchains, such as Dogecoin, Ripple, Ethereum, Corda, Fabric, Chain, Solana, and Dfinity, among many others. Blockchains instantiate decentralized platforms and are typically comprised of three main layers: the network layer that manages information exchange, a consensus layer used to reach information agreement, and finally, a smart contract layer that executes decentralized applications (a.k.a. Dapps). By removing the need for trusted third parties, decentralized technologies promise drastic cost reductions and enhanced security compared to their centralized counterparts. They also enable open access and participation and promote transparency. For these reasons, decentralized platforms are rapidly gaining ground as a key technology in a rich set of applications beyond cryptocurrencies, especially in the financial and retail sectors.

During this course, students are expected to design and implement their very own decentralized platform “from scratch”, using a programming language of their choice. The first half of the course focuses on developing a basic working decentralized platform, which we break up into three essential components: implementing a peer-to-peer gossip protocol, the consensus layer, and basic smart contract functionality. The programming is aided by existing open-source libraries and tools. In the second half, the students will specialize. Based on the field’s literature, they will extend their platform with security or privacy-enhancing features on the chosen layer. In this half of the course, the students are entirely free to choose which layer they want to specialize in. Finally, the students will present their design choices and demonstrate their decentralized platform. The students are allowed to work in groups of up to two people.

Since the course offers close guidance, the number of participants is limited to 10. Interested students must enroll in the Moodle course before the first session on 11.04.2024, i.e., on 10.04.2024 at the latest. There will be a session each Thursday from 2:30 p.m. to 4 p.m. We will announce the seminar room as soon as possible.



Participation in this course requires previous successful completion of the course „System Security“ and either „Introduction to Blockchain Security“ or „Blockchain Security and Privacy“. We further recommend a solid background in system security, network security, cryptographic primitives (encryption methods, signatures, MACs, hash functions), principles of communication networks, is required.




Form of Examination

Practical assignments and presentations throughout the course.