Course Content Description
Blockchain Technology, i.e. distributed immutable ledgers and their applications, is a novel and highly active area of research. Unique properties, such as decentralized control, tamper-proof data persistence, distributed data storage, and anonymity of actors (if desired), make this emerging technology highly suitable for numerous application domains.
The initial and most prominent application of blockchain technology remain cryptocurrencies, such as Bitcoin. However, especially the introduction of blockchain-based smart contracts extended the application areas of the technology. Smart contracts are immutable computerized scripts stored and executed on the blockchain network. The scripts execute their functionality (e.g. enforce the terms of a contract) autonomously according to pre-defined input conditions. Important application areas of blockchain technology beyond cryptocurrencies include, financial services (e.g. trade and insurance claim processing), supply chain management (e.g. tracking and proof of provenance for goods), e-government (e.g. voting, personal identification, or land registry), Internet-of-Things applications (i.e. managing the interactions of internet-enabled physical devices) and scientific research (e.g. improving reproducibility of results and dissemination of content).
By completing the course, the participants will get to know the fundamental principles of blockchain technology as well as different blockchains and blockchain-backed applications. The participants will be enabled to critically evaluate the strengths and weaknesses of blockchain-backed solutions and to prototypically implement a blockchain-backed approach to support a specific task.
The course provides a good foundation for a bachelor's or master's thesis in our group. Visit https://mt.uni-wuppertal.de/en/teaching/bachelors-and-masters-projects.html for our current theses proposals.
The lecture will cover the following topics:
- Hash functions (properties, security requirements
-
Hash data structures (Merkle tree, Blockchain)
-
Typology of blockchain applications (permissions, consensus, parameters)
-
Frameworks for blockchain applications
-
Advanced topics in cryptography
-
Smart contracts
In the tutorial sessions, participants (teamwork is possible) will carry out an applied research project. The goal is to develop a blockchain-backed application that supports a specific use case. Suggestions for projects will be provided; proposing own projects is possible.
Using the programming language Python and presenting the intermediate and final results of the projects during the exercise sessions is mandatory.
|