Burak Öz, Felix Hoops, Ulrich Gallersdörfer, and Florian Matthes
Department of Informatics
Technical University of Munich
{burak.oez, felix.hoops, ulrich.gallersdoerfer, matthes}@tum.de
https://wwwmatthes.in.tum.de/
For citation, please use the provided .bib file.
This GitHub-repository contains all contents of the lecture Blockchain-based Systems Engineering (IN2359), held regularly in the summer term at the Technical University of Munich, starting in 2018. About 900 students regularly enroll in the course.
- Lecture: Prof. Dr. Florian Matthes
- Exercises / Tutorials: Burak Öz
- Contact: Please open an issue / pull requests for comments. If you are interested in the .pptx-files, drop us an email.
In this lecture, we provide an overview of blockchain systems and systems engineering, focusing on the 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 (PoW) consensus mechanism of Bitcoin and illustrate the mining scheme. Moreover, we inspect the risks, challenges, and limitations of the technology. Following this, we demonstrate the system architecture of the Ethereum blockchain with a focus on the Ethereum Virtual Machine (EVM) 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. The Tezos blockchain is introduced with a focus on its infrastructure, consensus mechanism, on-chain governance, and use cases. Alternative approaches to distributed ledger technologies in the enterprise space are also discussed. Accordingly, the Hyperledger project and the framework Fabric are unfolded. Further, we present an overview of the current state of the blockchain ecosystem with a focus on topics such as Self-Sovereign Identity (SSI), Maximal Extractable Value (MEV), and applied web3.
| Content of Lecture | Content of Exercise |
|---|---|
| 0 & 1: Organization & Introduction | |
| 2: Cryptographic Basics | 2: Cryptographic Basics & Solution |
| 3: Bitcoin Basics | 3: Bitcoin Basics & Solution |
| 4: Consensus in Bitcoin | 4: Consensus in Bitcoin & Solution |
| 5: Bitcoin Evolution and Challenges | 5: Bitcoin Evolution and Challenges & Solution |
| 6: Ethereum Basics | 6: Ethereum Practical 1 & Solution |
| 7: Ethereum Smart Contracts | 7: Ethereum Practical 2 & Solution |
| 8: Ethereum Design Patterns | 8: Ethereum Practical 3 & Solution |
| Bonus: Ethereum Dapps | Bonus: Ethereum Practical 4 & Solution |
| 9: Tezos Basics | 9: Ethereum Theoretical & Solution |
| 10: Hyperledger | |
| 11: Micro-Lecture Applied Web3 | |
| 11: Micro-Lecture MEV | |
| 12: Micro-Lecture DAO | |
| 12: Micro-Lecture SSI |
| Title | Speaker | Slides |
|---|---|---|
| Ethereum 2.0 | Parithosh Jayanthi | Slides |
We thank this year's speaker Parithosh Jayanthi for his guest lecture and allowing us to share his material within this repository.
- 2018 version (4 ECTS, 60 minutes)
- 2019 version (5 ECTS, 90 minutes)
- 2020 version (5 ECTS, 90 minutes)
- 2021 version (5 ECTS, 90 minutes)
- 2022 version (5 ECTS, 90 minutes)
This work is licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).
We wish to thank Alexander Hefele, Kaan Uzdogan, Christian Ziegler, and Konstantin Kuchenmeister for supporting the lecture and all others which provided valuable feedback!
Symbols used from FontAwesome.
