Back to top

Blockchain-based Systems Engineering

Last modified Oct 21

Current Announcements and News



In this lecture, we provide an overview about Blockchain systems and systems engineering, focusing on technical details and applications of blockchain systems. We introduce cryptographic hash functions, and present their properties. Then the data structure and the working principles of the Bitcoin blockchain are investigated in detail. We analyze the Proof of Work consensus mechanism of Bitcoin and illustrate the mining scheme. Following this, we demonstrate the system architecture of the Ethereum blockchain with a focus on the Ethereum Virtual Machine and smart contracts. Subsequently, the Solidity language is explained in terms of syntax, types, and design. Ethereum decentralized applications(dApps) are illustrated with current standards and frameworks, and specifics to dApp developments are introduced. Alternative approaches to distributed ledger technologies in the enterprise space are also discussed. Accordingly, the Hyperledger project and the framework Fabric are unfolded. We inspect the risks, challenges, and limitations of the technology and present an overview of the current state of the blockchain ecosystem.


In the exercise we focus on the complementary pratical application of knowledge gained in the lecture. We are further investigating functionality and scripting in Bitcoin, further understand consensus algorithms and understand the implications of design decisions in public and private Blockchain-based systems. Further, we investigate Smart Contract design patterns and make a deepdive into Solidity by developing dApps. In private Blockchains, we focus on Hyperledger Composer to get a solid understanding of applications in enterprise environments.

Content and Goals

Blockchain technology and, in general, distributed ledger technology (DLT) provide the technical foundation for the development and usage of innovative, decentralized distributed systems. In this lecture, we analyze the characteristics of these technologies. Additionally, students should be empowered to analyze and develop Blockchain-based solutions. Following contents are going to be covered:

  • Cryptographic basics
  • Peer to peer-networks
  • Data structure and setup of Blockchain
  • Consensus mechanisms
  • Smart contracts & smart contract Engineering
  • Use cases of digital ledger technologies
  • Alternative DLT approaches
  • Risks, challenges and limitations of the technology
  • Trends and developments in Blockchain

Goals: After the successful participation in this module, the students are able to analyze Blockchain-based application systems. Further, they are able to create these systems for given use cases and to select appropriate technology. They understand the technological foundations such that they are enabled to comprehend and assess alternative distributed ledger technologies.


  • IN0002: Fundamentals of Programming
  • IN0006: Introduction to Software Engineering
  • IN0009: Basic Principles: Operating Systems and System Software

Course schedule

  • Lecture: Every Wednesday, 16:00 - 18:00 
  • Exercise: Every Tuesday, 12:00 - 14:00




Content of Lecture


Content of Exercise



0 & 1: Organization & Introduction





2: Cryptographic Basics





3: Bitcoin Basics


2: Cryptographic Basics



4: Bitcoin Script


3: Bitcoin 1



5: Consensus in Bitcoin


4: Bitcoin 2



6: Advanced Topics of Bitcoin


5: Bitcoin 3



7: Ethereum Basics


6: Bitcoin 4



8: Ethereum Smart Contracts





9: Ethereum-based Softw. Eng.


7: Ethereum 1



10: Ethereum Dapps


8: Ethereum 2



11: TBD


9: Ethereum 3



12: Hyperledger Composer


10: Ethereum 4



13: Hyperledger Fabric


11: Guest lecture



14: Exam Preparation


12: Guest lecture


Preliminary: 12th August 2019, 13:30 - 15:00

Files and Subpages

There are no subpages or files.