Back to top

Blockchain-based Systems Engineering

Last modified Apr 26

Current Announcements and News

  • All information is available in Moodle.

Overview

Lecture

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.

Exercises

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.

Prerequisites

  • 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

Dates

Week

Date

Content of Lecture

Date

Content of Exercise

17

 24.04.

0 & 1: Organization & Introduction

-

-

18

 30.04.

2: Cryptographic Basics

-

-

19

 08.05.

3: Bitcoin Basics

 07.05.

2: Cryptographic Basics

20

 15.05.

4: Bitcoin Script

 14.05.

3: Bitcoin 1

21

 22.05.

5: Consensus in Bitcoin

 21.05.

4: Bitcoin 2

22

 29.05.

6: Advanced Topics of Bitcoin

 28.05.

5: Bitcoin 3

23

 05.06.

7: Ethereum Basics

 04.06.

6: Bitcoin 4

24

 12.06.

8: Ethereum Smart Contracts

-

-

25

 19.06.

9: Ethereum-based Softw. Eng.

 18.06.

7: Ethereum 1

26

 26.06.

10: Ethereum Dapps

 25.06.

8: Ethereum 2

27

 03.07.

11: TBD

 02.07.

9: Ethereum 3

28

 10.07.

12: Hyperledger Composer

 09.07.

10: Ethereum 4

29

 17.07.

13: Hyperledger Fabric

 16.07.

11: Guest lecture

30

 24.07.

14: Exam Preparation

 23.07.

12: Guest lecture

Exam

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

Files and Subpages

There are no subpages or files.