Hasso-Plattner-Institut
Prof. Dr. Felix Naumann
 

Building Scalable Blockchain Applications with Big Data Technology

Advisors

Dr. Alexander Albrecht, Dr. Christoph Böhm, Tobias Bleifuß, Ioannis Koumarelas

Description

Cryptocurrencies, such as bitcoin, are omnipresent: In this seminar, we will study the various technologies and concepts that form the core of digital currencies, such as blockchain. In simple terms, a digital currency is based on a globally-distributed database executing transactions in a peer-to-peer environment. Transactions are not administered by a central authority: It is decentralized and based on a distributed consensus protocol that allows peers to execute transactions collectively.

In addition to digital currencies, such a public transaction database opens up many fields of new (revolutionary?) applications not only applying existing blockchain concepts and technologies, but also improve and further enhance them. The topic of this seminar is to identify and use database and big data technologies that can help building such new blockchain applications.

A small selection of emerging applications and use cases around blockchain and bitcoin:

     Healthcare https://www.youbase.io/

     Identity and access managementhttp://www.ey.com/gl/en/services/advisory/identity-and-access-management---beyond-compliance

     Rights management, i.e., in entertainment industry https://singulardtv.com/https://musicoin.org/

     Open datahttps://blog.mediachain.io/bringing-cultural-metadata-to-life-12cc118b2298

     Refugee aid https://www.coindesk.com/the-united-nations-just-launched-its-first-large-scale-ethereum-test/

     Solar energy generation data project http://www.electricchain.org/

     Advertisinghttp://madhive.com/

     Internet-of-Things https://iota.org/

     Supply chains and logisticshttp://fortune.com/2017/08/22/walmart-blockchain-ibm-food-nestle-unilever-tyson-dole/

     Datinghttps://matchpool.co/

In this course students will pitch similar applications (use cases) with the main objective to draft a public blockchain application based on a peer-to-peer network executing large amount of transactions in a short period of time. Each team, consisting of up to 4 students, must identify at least one challenging blockchain problem within their use case and implement a prototype solving this problem. Solutions need to be evaluated and presented by the team in the course of regular seminar meetings.

Some technical challenges regarding blockchain and bitcoin:

  • Peer-to-peer networks
  • Blockchain (public transaction ledger)
  • (High Performance) Transactions
  • Mining and global consensus (Proof-of-Work, etc.)
  • Updates in distributed/replicated database systems
  • Data structures: bloom filters, binary hash trees, indexing
  • Public-key cryptography and digital signatures

Schedule

The lecture will take place Thursdays from 1:30 - 3:00 PM at Campus III, Room G-3.E.15/16. Material can be found in the HPI intranet.

2017-10-19 Introduction lecture

2017-10-26 Bitcoin and blockchain lecture

2017-11-02 Project pitch (each student), voting, and team building

[Individual group meetings]

2017-12-13 Intermediate presentations (pdfs voting, kvstore, vaccination)

[Individual group meetings]

2018-02-08 Final presentations (pdfs voting, kvstore, vaccination)

Tasks (Leistungserfassung)

In teams of size three or four, you will be completing the following tasks:

  • Active participation during all seminar events.
  • Short pitch of a potential blockchain application.
  • Intermediate presentations demonstrating first insights regarding your blockchain application.
  • Regular meetings with advisor.
  • Implementation of a prototype.
  • Final presentation presentation demonstrating your solution
  • Code & documentation (on GitHub). The documentation should contain information on how to execute and evaluate your solution. Furthermore, it should also show strengths and weaknesses of the implementation.

Organization

Project seminar for master students

6 credit points, 4 SWS

Weekly meetings: either as group meetings or individual team meetings with a supervisor

Topics

The teams' implementations are available below: