Code Monkey home page Code Monkey logo

bbse's Introduction

Blockchain-based Systems Engineering – Lecture Slides

Ulrich Gallersdörfer, Patrick Holl, and Florian Matthes
Department of Informatics
Technical University of Munich
{ulrich.gallersdoerfer, patrick.holl, matthes}@tum.de
https://wwwmatthes.in.tum.de/

For citation, please use the provided .bib file.

Introduction

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 500 students regularly enroll in the course.

  • Lecture: Prof. Dr. Florian Matthes
  • Exercises / Tutorials: Ulrich Gallersdörfer
  • Contact: Please open an issue / pull requests for comments. If you are interested in the .pptx-files, drop us an email.

Module description

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.

Contents

Lecture and Exercise

Content of Lecture Content of Exercise Solution
0 & 1: Organization & Introduction - -
2: Cryptographic Basics 2: Cryptographic Basics Exercise 1 Solution
3: Bitcoin Basics 3: Bitcoin 1 Exercise 2 Solution
4: Bitcoin Script 4: Bitcoin 2 Exercise 3 Solution
5: Consensus in Bitcoin 5: Bitcoin 3 Exercise 4 Solution
6: Bitcoin Assessment 6: Bitcoin 4 Exercise 5 Solution
7: Ethereum Basics 7: Ethereum 1 Exercise 6 Solution
8: Ethereum Smart Contracts 8: Ethereum 2 Exercise 7 Solution
9: Ethereum Design Patterns 9: Ethereum 3 Exercise 8 Solution
10: Ethereum Dapps 10: Ethereum 4 (optional) Exercise 9 Solution
11: Hyperledger I - -
12: Hyperledger II - -

Exams

License

Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

This work is licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).

Acknowledgements

We wish to thank our students Alexander Hefele and Kaan Uzdogan for supporting the lecture and all others which provided valuable feedback!

Other information

Symbols used from FontAwesome.

bbse's People

Contributors

uligall avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.