Winter Term 2018/2019
Masterprojekt Entwicklung verteilter kontextbasierter Anwendungen
Masterprojekt Entwicklung verteilter kontextbasierter Anwendungen
General Information
Course number | 64-866-P |
Course type | Master project |
Lecturer | Prof. Dr. Winfried Lamersdorf, Dr. Dirk Bade, Julian Kalinowski |
Location | F-534 |
Time | Do 16-20 |
Topic
Im Projekt soll ein Marktplatz für Kontextdaten auf Blockchain-Basis entwickelt werden. Um größtmögliche Flexibilität bei der Umsetzung zu haben, wird überwiegend nicht auf bestehenden Umsetzungen aufgesetzt. Daher soll zunächst ein verteiltes System zur Vernetzung der Teilnehmer entwickelt sowie ein geeignetes Konsensusprotokoll ausgewählt und umgesetzt werden. Für die Anbindung von Anwendungen wird zudem ein Verhandlungsprotokoll sowie ein Konzept für den Datenaustausch benötigt.
Wichtige Herausforderungen sind dabei die Entwicklung generischer Schnittstellen zur Nutzung des Marktplatzes für unterschiedliche Zwecke, der Aufbau eines geeigneten dezentralen Netzwerkes (Peer-to-Peer/Super-Peer), Evaluation von unterschiedlichen Protokollen zur Vermeidung von byzantinischen Knoten (Byzantine Fault Tolerance), sowie die geeignete Anbindung von Seitenkanälen zur Datenübertragung.
Für die vier Teilaspekte (P2P und Datenverteilung, Blockbildung und Konsens, Transaktionen und Verhandlungsprotokoll, Handel von Kontextdaten) sollen im Projekt Anwendungen entwickelt werden, die dem Anwendungsszenario entsprechend verteilt über mehrere Geräte (mobil sowie stationär) arbeiten. Dazu werden, in Kleingruppen aufgeteilt, Teilkomponenten entworfen und umgesetzt.
Das Projekt wird als agiles Softwareentwicklungsprojekt organisiert und bietet viel Raum für Mitgestaltung seitens der Teilnehmer.
Hintergrund:
Blockchains ermöglichen dezentralen Handel, das Anlegen und Transferieren von digitalen Assets, das Bereitstellen von Tokens (vgl. Bitcoin) oder die Ausführung von verteiltem Code (sog. Smart Contracts z.B. in Ethereum). Blockchains vereinen dazu klassisches Peer-to-Peer-Filesharing mit asymmetrischer Kryptografie, um Daten auszutauschen und deren Integrität sicherzustellen.
Die Gültigkeit der von allen Knoten gespeicherten Daten wird dabei durch einen verteilten Konsens sichergestellt. Dazu müssen Beweise für die Korrektheit der Daten erbracht werden, z.B. durch Rechenleistung (Proof-of-Work) oder Zugehörigkeit (Proof-of-Stake).
Klassische Anwendungsbeispiele für Blockchains finden sich z.B. im Finanzsektor und der Industrie. Bestimmte, branchenspezifische Anforderungen, z.B. im Energiehandel, bei dem in hohem Takt zwischen verschiedenen, konkurrierenden Parteien vermittelt werden muss, erfordern jedoch neuartige Lösungsansätze. Ähnliches gilt auch für den Handel mit persönlichen Informationen und Kontextdaten. Während Konsumenten ihre Daten heutzutage meist implizit durch Nutzung bestimmter Dienste an die Hersteller abtreten, wächst zunehmend der Wunsch nach Souveränität, d.h. der Herausgabe von Daten nur an bestimmte Parteien oder gegen ein entsprechendes Entgeld.
Um zwischen Anbietern und Nutzern von Daten und Dienstleistungen zu vermitteln und letztlich eine breitere Nutzbarkeit der Daten bzw. einen neutralen Handel zu ermöglichen, bedarf es einer vermittelnden, neutralen Instanz: dem Marktplatz. Dezentrale, offene Marktplätze haben dabei vielerlei Vorteile: Uneingeschränkter Zugang für alle Parteien, Auffindbarkeit von Daten, Transparenz bezüglich des Angebots von Dienstleistungen sowie Souveränität über die angebotenen Daten.
Aktuelle Informationen und die Terminplanung finden sich auf der zugehörigen Homepage:
https://vsis-www.informatik.uni-hamburg.de/vsis/teaching/sl/ws17_evka
Wichtige Herausforderungen sind dabei die Entwicklung generischer Schnittstellen zur Nutzung des Marktplatzes für unterschiedliche Zwecke, der Aufbau eines geeigneten dezentralen Netzwerkes (Peer-to-Peer/Super-Peer), Evaluation von unterschiedlichen Protokollen zur Vermeidung von byzantinischen Knoten (Byzantine Fault Tolerance), sowie die geeignete Anbindung von Seitenkanälen zur Datenübertragung.
Für die vier Teilaspekte (P2P und Datenverteilung, Blockbildung und Konsens, Transaktionen und Verhandlungsprotokoll, Handel von Kontextdaten) sollen im Projekt Anwendungen entwickelt werden, die dem Anwendungsszenario entsprechend verteilt über mehrere Geräte (mobil sowie stationär) arbeiten. Dazu werden, in Kleingruppen aufgeteilt, Teilkomponenten entworfen und umgesetzt.
Das Projekt wird als agiles Softwareentwicklungsprojekt organisiert und bietet viel Raum für Mitgestaltung seitens der Teilnehmer.
Hintergrund:
Blockchains ermöglichen dezentralen Handel, das Anlegen und Transferieren von digitalen Assets, das Bereitstellen von Tokens (vgl. Bitcoin) oder die Ausführung von verteiltem Code (sog. Smart Contracts z.B. in Ethereum). Blockchains vereinen dazu klassisches Peer-to-Peer-Filesharing mit asymmetrischer Kryptografie, um Daten auszutauschen und deren Integrität sicherzustellen.
Die Gültigkeit der von allen Knoten gespeicherten Daten wird dabei durch einen verteilten Konsens sichergestellt. Dazu müssen Beweise für die Korrektheit der Daten erbracht werden, z.B. durch Rechenleistung (Proof-of-Work) oder Zugehörigkeit (Proof-of-Stake).
Klassische Anwendungsbeispiele für Blockchains finden sich z.B. im Finanzsektor und der Industrie. Bestimmte, branchenspezifische Anforderungen, z.B. im Energiehandel, bei dem in hohem Takt zwischen verschiedenen, konkurrierenden Parteien vermittelt werden muss, erfordern jedoch neuartige Lösungsansätze. Ähnliches gilt auch für den Handel mit persönlichen Informationen und Kontextdaten. Während Konsumenten ihre Daten heutzutage meist implizit durch Nutzung bestimmter Dienste an die Hersteller abtreten, wächst zunehmend der Wunsch nach Souveränität, d.h. der Herausgabe von Daten nur an bestimmte Parteien oder gegen ein entsprechendes Entgeld.
Um zwischen Anbietern und Nutzern von Daten und Dienstleistungen zu vermitteln und letztlich eine breitere Nutzbarkeit der Daten bzw. einen neutralen Handel zu ermöglichen, bedarf es einer vermittelnden, neutralen Instanz: dem Marktplatz. Dezentrale, offene Marktplätze haben dabei vielerlei Vorteile: Uneingeschränkter Zugang für alle Parteien, Auffindbarkeit von Daten, Transparenz bezüglich des Angebots von Dienstleistungen sowie Souveränität über die angebotenen Daten.
Aktuelle Informationen und die Terminplanung finden sich auf der zugehörigen Homepage:
https://vsis-www.informatik.uni-hamburg.de/vsis/teaching/sl/ws17_evka
Procedure
Das Projektmodul besteht aus einem integrierten Seminar zu aktuellen Forschungsfragen im Bereich verteilter Anwendungen und einem Projekt, in welchem eigene Ideen mittels aktueller Technologien praktisch umgesetzt werden. Nach einer Einführung durch die Veranstalter wird das praktische Verständnis der verwendeten Technologien zunächst durch kleine Tutorials erworben bzw. vertieft. Im weiteren Verlauf werden dann einzelne Aspekte des Gesamtsystems in kleineren Team softwaretechnisch entworfen und realisiert. Grundsätzlich wird die Teilnahme nur bei Vorhandensein praktischer Erfahrung mit Java empfohlen.
Learning target
- Die Studierenden erproben den gesamten Lebenszyklus der Softwareentwicklung.
- Die Studierenden können ein agiles Softwareprojekt organisieren.
- Die Studierenden sind in der Lage, dezentrale, Peer-to-Peer-basierte Anwendungen mit besonderem Fokus auf Blockchain-basierten Marktplätze für Kontextdaten zu konstruieren.
- Die Studierenden entwickeln unterschiedliche Strategien zur Realisierung spezifischer Systemaspekte.
- Die Studierenden können alternative Entwurfsentscheidungen bewerten.
Literature
Wird zu Beginn der Veranstaltung bekannt gegeben.
Debug Info for generation of "last modified"teachingCourse_465 (2018-09-03 09:45:32) | teachingCourse_465 (2018-10-11 16:07:56) | persons_4 (2004-12-16 19:22:00) | persons_4 (2015-10-09 23:55:09) | persons_4 (2015-10-09 23:56:22) | persons_4 (2016-01-14 14:48:32) | persons_4 (2019-12-20 17:54:41) | persons_4 (2021-08-23 15:46:06) | persons_238 (2013-12-09 20:06:00) | persons_1448 (2014-10-22 15:15:00) | teachingCourse_465 (2018-09-03 09:45:32) | teachingCourse_465 (2018-10-11 16:07:56) | teachingCourse_465 (2018-09-03 09:45:32) | teachingCourse_465 (2018-10-11 16:07:56) | teachingCourse_465 (2018-09-03 09:45:32) | teachingCourse_465 (2018-10-11 16:07:56) | teachingCourse_465 (2018-09-03 09:45:32) | teachingCourse_465 (2018-10-11 16:07:56) | persons_4 (2004-12-16 19:22:00) | persons_4 (2015-10-09 23:55:09) | persons_4 (2015-10-09 23:56:22) | persons_4 (2016-01-14 14:48:32) | persons_4 (2019-12-20 17:54:41) | persons_4 (2021-08-23 15:46:06)
23. August 2021 at 15:46 by Prof. Dr. Winfried LamersdorfCALL getCollectionFull('teaching/coursekvv','vsys',465,0)