Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW

 
WEITER LESEN
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Ausstellen und Verifizieren von
Leistungsausweisen auf der Ethereum-
                      Blockchain

               Bachelor Thesis 2019

      Autor:                Sven Cueni

      Ort, Datum:           Olten, 05. August 2019

      Betreuender Dozent:   Prof. Dr. Walter Dettling

      Auftraggeber:         login Berufsbildung AG, Philipp Schenker
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Folgeseite

Folgeseite

                  Titel                Ausstellen und Verifizieren von
                                       Leistungsausweisen auf der
                                       Ethereum-Blockchain

                  Untertitel           Bachelor Thesis 2019

                  Autor                Sven Cueni
                                       Gelterkinderstrasse 31
                                       4450 Sissach

                  Betreuender Dozent   Prof. Dr. Walter Dettling
                                       FHNW
                                       Hochschule für Wirtschaft,
                                       Institut für Wirtschaftsinformatik
                                       Peter Merian-Strasse 86
                                       4052 Basel

                  Auftraggeber         login Berufsbildung AG
                                       Philipp Schenker
                                       Riggenbachstrasse 8
                                       4601 Olten

                  Ort und Datum        Olten, 05. August 2019

05. August 2019                                                                      I
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Ehrenwörtliche Erklärung

Ehrenwörtliche Erklärung

Ich versichere, dass ich die vorliegende Arbeit selbstständig und ohne Benutzung anderer als der
im Literaturverzeichnis angegebenen Quellen und Hilfsmittel angefertigt habe. Die wörtlich oder
inhaltlich den im Literaturverzeichnis aufgeführten Quellen und Hilfsmitteln entnommenen Stellen
sind in der Arbeit als Zitat bzw. Paraphrase kenntlich gemacht. Diese Bachelor Thesis ist noch nicht
veröffentlicht worden. Sie ist somit weder anderen Interessierten zugänglich gemacht noch einer
anderen Prüfungsbehörde vorgelegt worden.

Ort, Datum                         Unterschrift Autor

Sissach, 05. August 2019            _________________

05. August 2019                                                                                        II
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Danksagung

Danksagung

Ein grosses Dankeschön gebührt dem verantwortlichen Fachdozenten und Betreuer dieser Bachelor
Thesis, Prof. Dr. Walter Dettling, Dozent für Wirtschaftsinformatik und Mathematik an der Fachhoch-
schule Nordwestschweiz. Seine Leidenschaft für das Thema Blockchain ist inspirierend und
motiviert andere in diese spannende Technologie einzutauchen. Die vermittelten Kontakte, die
empfohlene Fachliteratur sowie die gemeinsamen Gespräche vor Beginn dieser Arbeit und auch im
Rahmen der Treffen während dieser Arbeit waren elementar für deren Erfolg.

Egal ob in der Rolle als Auftraggeber oder als Vorgesetzter, ein grosses Dankeschön gilt auch
Philipp Schenker, Leiter ICT bei der login Berufsbildung AG. Sein grosses Vertrauen, die gebotenen
Freiheiten aber auch seine Unterstützung in den richtigen Momenten machen ihn zu einem
unglaublich guten Vorgesetzten und noch besseren Arbeitskollegen. Auch in hektischen Zeiten
bietet er jederzeit ein offenes Ohr und findet für jede Problemstellung praktikable und unkomplizierte
Lösungen. Die Begeisterung und der Eifer, mit welcher er seinen beruflichen Alltag meistert, sind
schlichtweg ansteckend.

Dank steht auch der BlockFactory zu – allen voran Fabian Mösli, Product Owner von certifaction.
Die Flexibilität und die Geduld, mit der sie diese Arbeit unterstützt haben, ist nicht selbstverständlich.
Die entgegengebrachte Geduld und das Verständnis bildeten eine solide Basis für eine Zusammen-
arbeit auf Augenhöhe zwischen Blockchain-Experten und einem Neuling auf diesem Gebiet.

Zum Schluss möchte ich allen bei login involvierten Mitarbeitenden danken. Sie haben es überhaupt
möglich gemacht, dass diese Arbeit zu einem Ergebnis geführt hat. Alle die für eine Zusammenarbeit
oder für eine Auskunft angefragt wurden, haben sofort Interesse an der Arbeit gezeigt und waren
offen für konstruktive Gespräche.

05. August 2019                                                                                         III
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Management Summary

Management Summary

Die login Berufsbildung AG hat im Rahmen der Strategieumsetzung 2018 diverse Projekte zur
Digitalisierung der Prozesse rund um die Ausbildung ihrer Lernenden und Praktikanten realisiert.
Trotz ausgeprägtem Digitalisierungsgedanke werden Leistungsausweise von login nach wie vor in
Papierform ausgestellt.

Das Ziel der vorliegenden Arbeit war herauszufinden, ob sich Blockchain für das Ausstellen und
Verifizieren digitaler und fälschungssicherer Leistungsausweise eignet und ob der Software-Markt
angemessene Lösungen bietet. Für den Einsatz der gefundenen Lösung bei login soll deren Wirt-
schaftlichkeit beurteilt werden.

Die Machbarkeit des Ausstellens und Verifizierens von Leistungsausweisen auf der Blockchain wird
im ersten Teil der Arbeit mit Hilfe einer Literaturrecherche geprüft. Dabei werden die Grundsätze der
Blockchain-Technologie erklärt und auf einen konkreten Anwendungsfall von login projiziert. Im
zweiten Teil der Arbeit wird die Webapplikation certifaction, entwickelt vom Schweizer Start-up-Un-
ternehmen BlockFactory, auf dessen Eignung für den Anwendungsfall von login geprüft. Die Lösung
wird zudem aus wirtschaftlicher Sicht analysiert und die Funktionen der Anwendung ausführlich
dokumentiert.

Die Literaturrecherche ergab, dass sich die Eigenschaften der Blockchain hervorragend für das
Ausstellen und Verifizieren von digitalen Dokumenten anbieten. Die Sicherheit vor Fälschungen ist
dabei wesentlich höher als bei Papierdokumenten. Das während dieser Arbeit evaluierte Produkt
certifaction der BlockFactory AG eignet sich für den Anwendungsfall von login und wird nun mit einer
Pilotgruppe genauer auf dessen praktische Brauchbarkeit getestet. Die erfolgte Dokumentation der
Applikation bietet interessante Einblicke in die Funktionalität der Software und zeigt, dass es auch
Möglichkeiten gibt, die Funktionalität in login-Systeme zu integrieren. Aus der Wirtschaftlichkeits-
analyse ergab sich eine klare Empfehlung für das Ausstellen von digitalen Leistungsausweisen auf
der Blockchain.

05. August 2019                                                                                    IV
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Inhaltsverzeichnis

Inhaltsverzeichnis

Folgeseite......................................................................................................................................... I
Ehrenwörtliche Erklärung ................................................................................................................ II
Danksagung ................................................................................................................................... III
Management Summary ................................................................................................................. IV
Inhaltsverzeichnis ........................................................................................................................... V
1     Einleitung ................................................................................................................................. 1
    1.1      Auftraggeber .....................................................................................................................1
    1.2      Ausgangslage und Problemstellung ..................................................................................1
    1.3      Ziele ..................................................................................................................................2
    1.4      Vorgehen ..........................................................................................................................3
      1.4.1         Meilensteine ...............................................................................................................3
    1.5      Erwartete Ergebnisse ........................................................................................................4
    1.6      Abgrenzung .......................................................................................................................4
      1.6.1         Evaluation einer Standardlösung ................................................................................4
      1.6.2         Erhebung und Definition der Anforderungen mit der Auftraggeberschaft ....................4
      1.6.3         Umgang mit allfälligen Zusatzkosten ..........................................................................4
      1.6.4         Dokumentation der Lösung (technisches Konzept) ....................................................5
      1.6.5         Proof of Concept mit Hilfe einer Pilotgruppe ...............................................................5
      1.6.6         Projekt der SBB..........................................................................................................5
2     Blockchain – Einführung in die Theorie .................................................................................... 6
    2.1      Entstehungsgeschichte der Blockchain .............................................................................6
    2.2      Anforderungen an ein Transaktionssystem .......................................................................7
      2.2.1         Verfügbarkeit ..............................................................................................................7
      2.2.2         Eigentumssicherung ...................................................................................................7
      2.2.3         Unveränderbarkeit ......................................................................................................8
      2.2.4         Überprüfbarkeit ..........................................................................................................8
      2.2.5         Skalierbarkeit .............................................................................................................8
    2.3      Schwachstellen intermediärer Transaktionssysteme .........................................................8
    2.4      Verteilte Transaktionssysteme (DLT) ................................................................................9
    2.5      Elemente einer Blockchain ..............................................................................................10

05. August 2019                                                                                                                                     V
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Inhaltsverzeichnis

      2.5.1       Verteiltes Peer-to-peer-Netzwerk .............................................................................10
      2.5.2       Asymmetrische Kryptographie ..................................................................................11
      2.5.3       Hash-Funktion und Blockbildung ..............................................................................13
      2.5.4       Konsensalgorithmen ................................................................................................16
    2.6     Ablauf einer Transaktion .................................................................................................18
    2.7     Ethereum und seine wichtigsten Eigenschaften ..............................................................21
      2.7.1       Smart Contracts, DApps und DAOs .........................................................................21
      2.7.2       Transaktionskosten und die Einheit Gas ..................................................................22
    2.8     Herausforderung «Skalierbarkeit» ...................................................................................23
3     Leistungsausweise auf der Blockchain ................................................................................... 25
    3.1     Fälschung von Leistungsausweisen ................................................................................25
    3.2     Leistungsausweise auf Papier .........................................................................................27
    3.3     Leistungsausweise auf der Blockchain ............................................................................27
4     Anwendungsfall Lehrzeugnisse .............................................................................................. 30
    4.1     Ist-Situation .....................................................................................................................31
    4.2     Soll-Situation ...................................................................................................................31
      4.2.1       Anforderungen an das Ausstellen von Lehrzeugnissen ............................................32
      4.2.2       Anforderungen an die Verifizierung von Lehrzeugnissen ..........................................32
      4.2.3       Anforderung an das Teilen von Lehrzeugnissen.......................................................32
      4.2.4       Anforderung an den Rückruf von Lehrzeugnissen ....................................................33
5     Technische Umsetzung auf der Ethereum Blockchain ............................................................ 34
    5.1     Lösung von BlockFactory ................................................................................................34
    5.2     Benutzerdokumentation Certifaction................................................................................34
      5.2.1       Leistungsausweise ausstellen ..................................................................................35
      5.2.2       Leistungsausweise teilen .........................................................................................38
      5.2.3       Leistungsausweise verifizieren .................................................................................38
      5.2.4       Leistungsausweise als ungültig erklären (revoken) ..................................................39
    5.3     Technische Dokumentation Certifaction ..........................................................................40
      5.3.1       Blockchain-Protokoll .................................................................................................40
      5.3.2       Systemarchitektur und Smart Contracts ...................................................................41
      5.3.3       Transaction Engine ..................................................................................................41
      5.3.4       Wichtigste Funktionen ..............................................................................................42

05. August 2019                                                                                                                               VI
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Inhaltsverzeichnis

      5.3.5        Hash der PDF-Datei .................................................................................................44
      5.3.6        Bezahlvorgang mit Credits .......................................................................................45
      5.3.7        Whitelist-Einträge .....................................................................................................46
      5.3.8        Sicherheit (Kunden-Wallet und Anmeldung) .............................................................46
    5.4      Integrationsmöglichkeiten ................................................................................................47
      5.4.1        Verifizierungstool auf der login Homepage ...............................................................47
    5.5      Pilot .................................................................................................................................47
6     Wirtschaftlichkeit .................................................................................................................... 49
    6.1      Exploratives Projekt.........................................................................................................49
    6.2      Wirtschaftlichkeitsanalyse ...............................................................................................49
      6.2.1        Kosten ......................................................................................................................50
      6.2.2        Nutzen .....................................................................................................................50
      6.2.3        Vergleich Kosten und Nutzen ...................................................................................50
      6.2.4        Empfehlung ..............................................................................................................52
7     Ausblick – weitere Anwendungsfälle der Blockchain für login ................................................. 53
    7.1      Registrierung von intellektuellem Eigentum .....................................................................53
    7.2      Reputations-Währung .....................................................................................................53
    7.3      Digitale Identitäten ..........................................................................................................53
8     Fazit und Ausblick .................................................................................................................. 55
    8.1      Fazit ................................................................................................................................55
    8.2      Ausblick...........................................................................................................................55
9     Literaturverzeichnis ................................................................................................................ 57
10 Glossar................................................................................................................................... 59
11 Abbildungs- und Tabellenverzeichnis ..................................................................................... 61

05. August 2019                                                                                                                                    VII
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Einleitung

1    Einleitung

Die vorliegende Bachelor-Thesis wurde in Zusammenarbeit zwischen der login Berufsbildung AG
und der Hochschule für Wirtschaft an der Fachhochschule Nordwestschweiz verfasst.

1.1 Auftraggeber

Die login Berufsbildung AG (nachfolgend «login») ist der professionelle Partner für Berufsbildung in
der Welt des Verkehrs. Als Bildungspartner der SBB, BLS, RhB, des VöV und rund 50 weiteren
Unternehmen organisiert login marktorientierte Berufslehren, Praktika und weiterführende Ausbil-
dungen. login ist ein führender Anbieter von attraktiver und bedarfsgerechter Berufsbildung und
leistet einen wesentlichen Beitrag zur Sicherung des Nachwuchses in der Welt des Verkehrs.

Per 01. Januar 2002 schlossen sich die Gründungsmitglieder SBB und BLS zu einem Ausbildungs-
verbund zusammen. Der Zusammenschluss erfolgte aus Gründen der Öffnung und Attraktivitätsstei-
gerung ihrer Ausbildung. Die Öffnung sollte es auch Drittfirmen ermöglichen von den Ausbildungsan-
geboten der SBB und BLS – neu login – zu profitieren. Zudem konnte login dadurch früher nicht
marktfähige Monopollehren eidgenössisch anerkennen lassen (z.B. Spezialist/in öffentlicher Ver-
kehr).

Die Mitgliederversammlung von login stimmte am 22. November 2013 der Umwandlung in eine
Aktiengesellschaft zu. Aus dem Verein mit ursprünglich über 60 Partnerfirmen wurde eine Aktienge-
sellschaft, an der sich die SBB als grösster Lehrbetrieb mit 70%, die BLS, die Rhätische Bahn (RhB)
und der Verband öffentlicher Verkehr (VöV) mit je 10% beteiligen.

Als Bildungspartner organisiert login die Ausbildung von über 2000 Lernenden in 25 verschiedenen
Berufslehren. Zentraler Bestandteil ihrer Ausbildung sind Praxiseinsätze in den unternehmerisch
ausgerichteten Junior Teams bei login und deren Partnerfirmen. Abgesehen von einem Vertiefungs-
jahr rotieren die Lernenden während ihrer Ausbildung im Halbjahresrhythmus zwischen verschie-
denen Ausbildungsplätzen.

login beschäftigt heute rund 140 Mitarbeitende, davon ca. 50 am Hauptstandort in Olten. Die rest-
lichen Mitarbeitenden sind über die Standorte in Trimbach, Bern, Spiez, Zürich, Lausanne, Yverdon,
Bellinzona und Landquart verteilt.

1.2 Ausgangslage und Problemstellung

Im Rahmen der Strategieumsetzung 2018 hat login diverse Projekte zur Digitalisierung der Prozesse
rund um die Ausbildung der Lernenden und Praktikanten realisiert. login verfolgt damit das Ziel die

05. August 2019                                                                                     1
Ausstellen und Verifizieren von Leistungsausweisen auf der Ethereum-Blockchain - Bachelor Thesis 2019 - FHNW
Einleitung

Ausbildung für Lernende und die Zusammenarbeit mit den Berufsbildenden zeitgemäss und attraktiv
zu gestalten und gleichzeitig die Effizienz administrativer Prozesse zu erhöhen.

Mit der Strategieumsetzung hat login eine Systemumgebung geschaffen, die den aktuellen
Anforderungen von Lernenden, Ausbildenden und Partnerfirmen entspricht. Die Systeme werden
kontinuierlich weiterentwickelt um auch weiterhin den Anforderungen aller Stakeholder gerecht zu
werden. Um auch langfristig als kompetenter, attraktiver und innovativer Bildungspartner
wahrgenommen zu werden, setzt sich login aktiv mit aktuellen Technologie-Entwicklungen und
zukünftigen Trends auseinander. Eine dieser Technologien ist Blockchain.

Als Bildungsinstitution führt login verschiedenste Kurse wie die Schulung von Berufsbildenden, oder
überbetriebliche Kurse durch und stellt den Teilnehmenden Leistungsausweise aus, die das
Absolvieren eines solchen Kurses bescheinigen. Die Leistungsausweise werden auf Papier
gedruckt, vom Kursleitenden unterzeichnet und dem Teilnehmenden ausgehändigt. In dieser Form
entsprechen die Leistungsausweise nicht dem Digitalisierungsgedanken der login und können
zudem leicht gefälscht und nur umständlich verifiziert werden.

Der Begriff Leistungsausweis wird im Rahmen dieser Arbeit sehr oft verwendet und beschreibt die
schriftliche Dokumentation des Erbringens einer Leistung wie z.B. das Absolvieren eines Kurses (mit
oder ohne Bewertung) oder ein Nachweis der Arbeitsleistung eines Mitarbeitenden (Arbeitszeugnis).
Leistungsausweise sind auch bekannt als Urkunden, Diplome oder Zertifikate. Konkrete Beispiele
für Leistungsausweise im Kontext dieser Arbeit sind:

    •    Schulzeugnisse
    •    Arbeits-, Lehr- und Praktikumszeugnisse
    •    Diplom für den Besuch der Schulung Berufsbildende
    •    Diplom für den Modulabschluss oder Gesamtabschluss des Lehrgangs Spezialist öffentlicher
         Verkehr

1.3 Ziele

Das Ziel dieser Arbeit ist primär die Beantwortung der folgenden Fragen:

    •    Eignet sich Blockchain für das Ausstellen und Verifizieren digitaler und fälschungssicheren
         Leistungsausweisen?
    •    Gibt es Anbieter von Lösungen für das Ausstellen und Verifizieren digitaler Leistungsaus-
         weise auf der Blockchain?
    •    Wie könnte eine solche Lösung bei login eingesetzt werden und wie wäre das Verhältnis von
         Kosten und Nutzen?

05. August 2019                                                                                     2
Einleitung

Im weiteren Sinne verfolgt diese Arbeit das Ziel bei login ein Bewusstsein und Verständnis für das
Potenzial von Blockchain abseits von Kryptowährungen und ICOs zu schaffen und dies anhand
eines einfachen Beispiels zu demonstrieren.

Die Fragen werden in Form dieser Arbeit unter Anwendung verschiedener Methoden (siehe 1.4
Vorgehen) bearbeitet und beantwortet.

1.4 Vorgehen

Für die Beantwortung der Fragen orientieren wir uns am Anwendungsfall für das Ausstellen von
Leistungsausweisen in Form von Lehrzeugnissen (schriftlicher Nachweis des Arbeitsverhaltens).

Die Arbeit umfasst einen theoretischen und einen praktischen Teil. Im theoretischen Teil wird
analysiert, ob und wie Leistungsausweise auf einer Blockchain ausgestellt werden können. Dieser
wird primär auf Grund er Analyse von akademisch relevanter Literatur erarbeitet.

Im zweiten Teil der Arbeit werden in Form einer Anforderungsanalyse die Bedürfnisse der Auftrag-
geberschaft erhoben. Im Anschluss beginnt die Evaluation einer Lösung, die den Anforderungen
von login entspricht. Das Resultat aus der Evaluation ist ein Konzept für die technische Umsetzung
der vorgestellten Lösung. Zusätzlich wird im Rahmen der Evaluation mit Hilfe einer Kosten-
/Nutzenanalyse auch die Wirtschaftlichkeit der Lösung betrachtet und in dieser Arbeit ausgewiesen.

Sofern es der zeitliche Rahmen der Bachelor-Thesis und die finanzielle Machbarkeit beim Auftrag-
gebenden zulässt, wird als Proof of Concept ein Pilot durchgeführt. Über die Durchführung und die
Dokumentation des Pilots entscheiden der Auftraggeber, der betreuende Fachdozent und der Autor
dieser Arbeit gemeinsam im Rahmen der Zwischenpräsentation vom 05. Juni 2019. Im Zweifelsfall
wird im Rahmen der Bachelor-Thesis kein Pilot durchgeführt um den Erfolg dieser Arbeit nicht zu
gefährden.

Der Auftraggeber und der betreuende Fachdozent erhalten die fertige Bachelorthesis bis spätestens
am 05. August 2019 in digitaler Form zugestellt. Die Ergebnisse werden im Rahmen der Schlussprä-
sentation vom 13. August 2019 präsentiert und besprochen. Sofern vom Auftraggeber bis zu diesem
Zeitpunkt keine schriftlichen Ansprüche beim Verfasser dieser Arbeit geltend gemacht wurden,
gelten die Ergebnisse als abgenommen.

1.4.1    Meilensteine

Als Meilensteine gelten die folgenden Termine:

    •    09. April 2019     Kick-Off (bei Auftraggeberschaft)
    •    05. Juni 2019      Zwischenpräsentation (inkl. Entscheid Pilot)

05. August 2019                                                                                   3
Einleitung

    •    05. August 2019      Abgabe der Bachelor-Thesis an Auftraggeberschaft und Fachdozent
    •    13. August 2019      Schlusspräsentation und Bewertung der Arbeit

Abgesehen vom 05. August 2019 gilt bei allen Meilensteinterminen Anwesenheitspflicht für alle
Parteien (Auftraggeber, betreuender Fachdozent und Auftragnehmer).

1.5 Erwartete Ergebnisse

Als Ergebnis erhält die Auftraggeberschaft diese Arbeit. Die Arbeit enthält alle Antworten auf die
Fragestellungen. Die Ergebnisse der Literaturrecherche, die Anforderungsanalyse, die Wirtschaft-
lichkeitsbeurteilung sowie ein allfälliger Bericht aus der Pilotgruppe sind Teil dieser Arbeit. Detail-
lierte Arbeitsdokumentationen, Protokolle, etc. werden je nach Relevanz im Anhang der Arbeit
angefügt, gelten jedoch nicht als zu erwartende Lieferobjekte.

1.6 Abgrenzung

1.6.1    Evaluation einer Standardlösung

Die Lösungsevaluation umfasst im Minimum einen Anbieter. Es muss kein Vergleich zwischen
verschiedenen Anbietern erfolgen. Sofern keine Lösung die Anforderungen erfüllen kann bzw. der
Anbieter nicht für eine Zusammenarbeit bereit ist (z.B. aus Ressourcengründen), ist dies unver-
züglich nach Bekanntwerden durch den Auftragnehmenden an den Auftraggebenden zu melden und
hat keine Auswirkung auf den Erfolg dieser Arbeit.

1.6.2    Erhebung und Definition der Anforderungen mit der Auftraggeberschaft

Für die Analyse der Anforderungen sind dem Auftragnehmenden durch den Auftraggebenden die
nötigen Unterlagen und Ressourcen von Mitarbeitenden (z.B. für Interviews) zur Verfügung zu
stellen. Werden dem Auftragnehmenden nicht in nützlicher Frist die nötigen Ressourcen zur
Verfügung gestellt, kann dem Auftraggebenden die Qualität bzw. Vollständigkeit der Ergebnisse
nicht länger garantiert werden.

1.6.3    Umgang mit allfälligen Zusatzkosten

Zu Beginn der Arbeit wurden dem Auftragnehmenden weder personelle noch finanzielle Ressourcen
zugesprochen. Sollte im Rahmen der Arbeit Bedarf für Ressourcen entstehen, ist dies dem Auftrag-
gebenden unverzüglich mitzuteilen. Es werden weder durch den Auftragnehmenden noch durch die
Fachhochschule zusätzliche Kosten getragen. Kann ein Arbeitsschritt nicht ohne Zusatzkosten
durchgeführt werden (z.B. Evaluation einer Lösung) und der Auftraggebende ist nicht bereit diese
zu tragen, verfällt der Anspruch auf die direkten und davon abhängigen Ergebnisse.

05. August 2019                                                                                        4
Einleitung

1.6.4    Dokumentation der Lösung (technisches Konzept)

Die Dokumentation der Lösung erfolgt nur soweit dies durch den Anbieter zugelassen und unter-
stützt wird.

1.6.5    Proof of Concept mit Hilfe einer Pilotgruppe

Das Proof of Concept in Form eines Pilots ist optional und kein verpflichtendes Ergebnis.

1.6.6    Projekt der SBB

Im Anschluss an das Kick-Off-Meeting vom 09. April 2019 fand auf Wunsch der Auftraggeberschaft
ein Treffen zwischen dem Auftragnehmenden und dem Mutterkonzern SBB AG statt. Dabei ging es
darum sich über den aktuellen Stand von Blockchain-Entwicklungen bei der SBB AG zu erkundigen
um allenfalls die SBB AG als potentiellen Anbieter aufzunehmen und so Synergien zu nutzen. Das
vorgestellte Projekt der SBB AG beschäftigt sich mit der Zutrittsregelung zu Gebäuden bzw.
Baustellen mit Hilfe von digital ausgestellten Zutrittsberechtigungen und entspricht nicht dem
Anwendungsfall von login. Die Partizipation von login oder weitere Abklärungen zu diesem Projekt
sind nicht Teil dieser Arbeit.

05. August 2019                                                                                     5
Blockchain – Einführung in die Theorie

2    Blockchain – Einführung in die Theorie

Bevor man verstehen kann, wie Leistungsausweise auf der Blockchain ausgestellt werden können
und inwiefern sich die Technologie Blockchain in dieser Hinsicht von anderen Technologien
unterscheidet, ist es elementar die Eigenschaften der Blockchain zu verstehen. Um das Potenzial
und den Reifegrad der Technologie über den Anwendungsfall dieser Arbeit hinaus einschätzen zu
können, braucht es zudem ein gewisses Verständnis dafür, wie und wann das Konzept Blockchain
entstanden ist und wie es sich in ihren konkreten Ausprägungen (z.B. Ethereum) noch weiterent-
wickeln wird.

Das gesamte Kapitel 2 basiert auf der fundierten Fachliteratur «Blockchain für die Praxis» von Egloff
und Turnes (2019), «Mastering Ethereum» von Antonopoulus und Wood (2018) und «Bitcoin und
andere dezentrale Transaktionssysteme» von Elfriede Sixt (2017) und ist wo nötig durch weitere
Quellen ergänzt.

2.1 Entstehungsgeschichte der Blockchain

Ein erster Grundstein für Blockchains wurde 1991 durch Stuart Haber und W. Scott Stornetta gelegt
als sie ihre wissenschaftliche Arbeit zum Thema «Cryptographically linking blocks in an append-only
data structure» veröffentlicht hatten (Haber & Stornetta, 1991). Das kryptografische Verlinken von
Blöcken in einer Datenstruktur, die ausschliesslich neue Einträge entgegennimmt ohne alte Einträge
zu verändern oder zu löschen, bildet heute ein zentrales Element jeder Blockchain.

Rund 17 Jahre nach der Veröffentlichung der Arbeit von Haber und Stornetta erlangt eine Person
oder eine Gruppe, bekannt unter dem Pseudonym Satoshi Nakamoto, grosse Aufmerksamkeit durch
ihren Beschrieb der ersten Kryptowährung basierend auf der Bitcoin-Blockchain. Die Idee von
Nakamoto war die Erschaffung eines dezentralen Zahlungssystems, das es jeder an der Blockchain
partizipierender Partei erlaubt Transaktionen durchzuführen ohne dabei eine absichernde Drittpartei
wie z.B. eine Bank hinzuzuziehen (Nakamoto, 2008).

Das benötigte Vertrauen zwischen den an der Transaktion beteiligten Parteien sollte durch die
Blockchain sichergestellt sein wodurch die Funktion des Mittelsmannes (oft auch als Intermediieren-
de bezeichnet) hinfällig wird. Blockchains sind also im Grunde genommen eine Alternative zu den
klassischen intermediären Transaktionssystemen, welche eine vertrauensstiftende Drittpartei vor-
aussetzen. Um die Funktionsweise und die Eigenschaften einer Blockchain zu verstehen, ist es
daher wichtig die Anforderungen an ein Transaktionssystem zu kennen.

05. August 2019                                                                                             6
Blockchain – Einführung in die Theorie

2.2 Anforderungen an ein Transaktionssystem

Unter dem Begriff Transaktion versteht man den Austausch von Gütern oder Informationen zwischen
zwei Parteien. Sehr oft wird unter Transaktion der Austausch von monetären Gütern wie z.B. Geld,
Wohneigentum, etc. verstanden. Transaktionen können aber auch nicht-monetärer Art sein wie zum
Beispiel das Ausstellen von Auszeichnungen oder das entgegenbringen von Anerkennung. Eine
Transaktion von Anerkennung klingt zwar etwas abstrakt, wird aber zum Beispiel auf Social Media
in digitaler Form massenhaft ausgeführt.

Für die Abwicklung von Transaktionen wird jeweils ein Transaktionssystem vorausgesetzt. Auch
wenn dies in der heutigen Zeit so üblich ist, beschreibt ein Transaktionssystem nicht zwingend ein
IT-System. Es kann sich dabei auch um ein analoges und primitives System wie beispielsweise der
Eintrag von Viehbestand eines Bauern im Registerbuch des Königs oder den Austausch von Wolle
gegen Getreide eingemeisselt in eine Steintafel handeln.

Egal in welcher Zeit der menschlichen Evolution man sich bewegt; Die Anforderungen an
Transaktionssysteme bleiben mehr oder weniger dieselben: Ein Transaktionssystem definiert
Eigentums- und Nutzungsrechte und kann diese bei Bedarf transferieren.

Egloff und Turnes unterteilen die Anforderungen in die nachfolgenden fünf Punkte und definieren
damit die Faktoren für das Vertrauen in Transaktionssysteme (Egloff & Turnes, 2019, S. 25-27).

2.2.1    Verfügbarkeit

Das Transaktionssystem muss möglichst einfach zugänglich und stabil sein. Betrachtet man z.B. die
Entwicklung vom herkömmlichen Schaltergeschäft von Banken hin zum heutigen e-Banking, war
dies ein grosser Schritt zur Optimierung der Verfügbarkeit der Transaktionssysteme der Banken.
Trotzdem ist die Verfügbarkeit in diesem Fall von einem zentralen Anbietenden abhängig, was dazu
führt, dass die Bank nach ihrem eigenen Interesse Personen vom Transaktionssystem
ausschliessen kann. Zudem garantiert die Bank alleine für die Ausfallsicherheit und auch für die
Integrität des Transaktionssystems. Die Kunden der Bank müssen auf die Dienste der Bank
vertrauen.

2.2.2    Eigentumssicherung

Neben der Verfügbarkeit ist die Eigentumssicherung ein zentraler Faktor für das Vertrauen in ein
Transaktionssystem. Alle an einer Transaktion beteiligten Parteien müssen sicher sein können, dass
der Versand von Gütern nur von Personen erfolgen kann, die auch tatsächlich im Besitz des Gutes
sind und dass nur die empfangende Partei die Transaktion entgegennehmen (lesen) kann, ohne
dass sie von Dritten abgefangen oder manipuliert wird.

05. August 2019                                                                                           7
Blockchain – Einführung in die Theorie

2.2.3    Unveränderbarkeit

Des Weiteren müssen Transaktionssysteme garantieren, dass Transaktionen nicht nur während des
Transaktionsvorgangs, sondern auch im Nachhinein nicht verändert werden. Beispielsweise dürfen
unter keinen Umständen ohne die Durchführung einer Transaktion Kontosaldos oder Besitzer im
Grundbuch geändert werden. Die Integrität und Nachvollziehbarkeit von Transaktionen bildet die
Grundlage des Vertrauens von Kunden eines Transaktionssystems.

2.2.4    Überprüfbarkeit

Die Überprüfbarkeit beschreibt grundsätzlich das Verlangen nach Transparenz. Bei einer
Transaktion möchten die Parteien prüfen, ob tatsächlich das gewünschte Gut bzw. der gewünschte
Betrag transferiert wurde und der neue Zustand (z.B. Kontosaldo) der Transaktion entspricht. Bei
modernen intermediären Transaktionssystemen sind die Bewegungen beinahe unmittelbar
ersichtlich (z.B. e-Banking). Durch diese zeitnahe Transparenz über den neuen Zustand im
Transaktionssystem schaffen die Intermediierenden Konsens zwischen den Parteien und somit
zusätzliches Vertrauen in ihr System.

2.2.5    Skalierbarkeit

Skalierbarkeit beschreibt die Expansionsfähigkeit eines Systems. Dabei gilt diese Anforderung nicht
nur für Transaktionssysteme, sondern für jegliche Systeme, über welche ein Austausch
irgendwelcher Art erfolgen soll. So ist z.B. eine Messaging Plattform, welche maximal 5'000
Nutzende zulässt, wenig attraktiv, da man darüber kaum Massen erreicht. So verhält es sich auch
mit Transaktionssystemen. Kann man über ein Transaktionssystem nur mit einem kleinen Kreis
Güter austauschen, entspricht dies kaum den Anforderungen der heutigen Marktwirtschaft. Ein
weiterer Faktor für die Expansionsfähigkeit eines Transaktionssystems ist die Anzahl zulässiger
Transaktionen. So wären zum Beispiel die Steintafel oder auch die handschriftliche Notation keine
geeigneten Hilfsmittel für die Erfassung von Transaktionen von Kleinstbeträgen.

2.3 Schwachstellen intermediärer Transaktionssysteme

Herkömmliche Transaktionssysteme haben meist einen intermediären Aufbau. Das bedeutet, das
Vertrauen zwischen zwei Transaktionsparteien wird durch eine zentrale Drittpartei garantiert. Diese
zentralen Parteien – auch Intermediierende genannt – gelten gemäss Egloff und Turnes (2019) aus
folgenden Gründen als Schwachstelle der intermediären Transaktionssysteme:

    •    Abhängigkeit – Die Macht über das Transaktionssystem konzentriert sich auf den
         Intermediierenden.

05. August 2019                                                                                           8
Blockchain – Einführung in die Theorie

    •    Angreifbarkeit – Ein zentrales System ist zwar umgehend und einfacher implementierbar,
         jedoch leichter angreifbar als ein dezentrales System mit mehreren Knoten. Bei einem
         dezentralen System wird der Ausfall eines Knotens durch die restlichen Knoten abgefangen.
    •    Hohe Kosten – Die Leistungen des Intermediierenden hat in den meisten Fällen Kosten für
         die Transaktionsparteien zur Folge.
    •    Ineffizienzen – Egloff und Turnes (2019) begründen diesen Punkt nur sehr spärlich mit den
         Stichworten «Verzögerungen» und «Doppelspurigkeiten». Vermutlich sprechen sie damit die
         Ineffizienzen an, welche beim Hinzuziehen einer weiteren Partei entstehen (zusätzliche
         Bearbeitungs- und Antwortzeiten, redundante Arbeiten und Datenpflege, etc.).

Um diese Schwachstellen zu eliminieren, wurden verteilte Transaktionssysteme oder im englischen
die «Distributed Ledger Technology» (kurz DLT) erfunden.

2.4 Verteilte Transaktionssysteme (DLT)

Im bisherigen Verlauf dieser Arbeit wurde stets sehr allgemein von Transaktionssystemen
gesprochen. Meist wurde dabei davon ausgegangen, dass es eine zentrale Instanz gibt, welche
Vertrauen zwischen Transaktionsparteien herstellt. Durch verteilte Transaktionssysteme sollen
genau diese zentralen Instanzen abgelöst werden. Man spricht in diesem Kontext auch von
Disintermediation.

Egloff und Turnes (2019) ordnen DLT den Systemarchitekturen ein und definieren den Unterschied
so, dass verteilte Systeme im Vergleich zu intermediären Systemen nicht über einen zentralen
Knotenpunkt, sondern alle an diesem Netzwerk teilnehmenden Systeme miteinander kommunizie-
ren. Sie veranschaulichen dies in Abbildung 1 und grenzen dabei dezentrale von verteilten Systemen
ab, wobei es in dezentralen Systemen zwar mehrere Hauptknoten gibt, jedoch nicht alle Knoten
direkt miteinander kommunizieren.

                        Abbildung 1 – Systemarchitekturen (Egloff & Turnes, 2019)

05. August 2019                                                                                                9
Blockchain – Einführung in die Theorie

Eine mögliche technologische Ausprägung eines verteilten Transaktionssystems ist die Blockchain.
Neben der Blockchain gibt es aktuell mindestens eine weitere Technologie namens «Directed
Acyclic Graph» (kurz DAG), welche ebenfalls zur Gruppe der verteilten Transaktionssysteme gehört.
Die beiden Technologien unterscheiden sich primär in der Art wie die Anforderung an die
Unveränderbarkeit von Transaktionen umgesetzt ist. Bei Blockchain-Protokollen werden die
Transaktionen in Blöcke gepackt und gespeichert. DAG-Protokolle speichern die Transaktionen
ohne Blockbildung einzeln ab und sind unter anderem dadurch im Stande Transaktionen schneller
auszuführen. Bekannte Blockchain-Protokolle sind Bitcoin und Ethereum mit den jeweils gleich-
namigen Tokens. Eine der bekannteren Ausprägungen der DAG-Technologie ist der Token MIOTA
basierend auf dem Tangle-Protokoll (Egloff & Turnes, 2019, S. 27-29, 71-74).

Wie die Blockbildung funktioniert und wie die weiteren Anforderungen an verteilte Transaktions-
systeme in der Technologie Blockchain umgesetzt werden, ist im nachfolgenden Abschnitt 2.5
beschrieben.

2.5 Elemente einer Blockchain

Blockchain wird häufig als komplexe Technologie verstanden beziehungsweise eben nicht vollstän-
dig verstanden. Dabei handelt es sich bei Blockchain im Grunde genommen um eine Zusammen-
setzung von etablierten technologischen Konzepten der Informatik und Mathematik.

2.5.1    Verteiltes Peer-to-peer-Netzwerk

Eines dieser technologischen Konzepte wurde spätestens 1999 bekannt als Shawn «Napster»
Fanning ein File-Sharing-System veröffentlicht. Napster entwickelte sich rasend schnell zu einer
Plattform zur Verbreitung von Musikdateien. Napster war zwar nie ein wirkliches verteiltes Peer-to-
peer-Netzwerk, weil es von einem zentralen Knoten abhängig war. Es hat aber die Ära von verteilten
Netzwerken eingeläutet (Mahlmann & Schindelhauer, 2007).

Schoder und Fischbach (2002) definieren Peer-to-peer-Netzwerke als Verbund gleichberechtigter
«Peers», die sich wechselseitig Ressourcen zur Verfügung stellen und ohne zentrale Koordinations-
instanzen kollaborative Prozesse ausführen.

Die sogenannten «Peers» werden im Kontext von verteilten Transaktionssystemen meist als Knoten
(engl. nodes) bezeichnet und sind Computer, welche der Blockchain Speicher- und Rechenre-
ssourcen zur Verfügung stellen. Blockchain basiert also im Grunde genommen auf einem Netz an
gleichberechtigten Knoten, die ohne eine koordinierende zentrale Instanz über das Internet
miteinander kommunizieren. Dabei verfügt jeder Knoten des Netzwerks über eine aktuelle und

05. August 2019                                                                                          10
Blockchain – Einführung in die Theorie

vollständige Kopie der Transaktionshistorie (auch «Ledger» oder zu Deutsch «Hauptbuch» ge-
nannt). Nun gibt es zwei Punkte, die aus dieser Definition mit Vorsicht zu geniessen sind:

Erstens kommunizieren Blockchains nicht zwingend über das Internet. Es gibt öffentliche
Blockchains wie Bitcoin und Ethereum, auf welche jeder mit einem Computer zugreifen kann und
es gibt private Blockchains, welche nur mit Erlaubnis (Zugang zu privatem Netzwerk oder durch
Benutzerauthentifizierung) benutzt werden können. Private Blockchains können also rein theoretisch
an Stelle des Internets auch ausschliesslich über unternehmensinterne Netzwerke kommunizieren.
Die wesentlichen Unterschiede zwischen privaten und öffentlichen Blockchains sind, dass private
Blockchains nur mit Erlaubnis genutzt werden können, dadurch eine Identifikation der Nutzenden
möglich ist, die Daten nur für Teilnehmende transparent sind und dass sie unter normalen
Umständen schneller als öffentliche Blockchains sind (Egloff & Turnes, 2019, S. 38-39). Im weiteren
Verlauf dieser Arbeit liegt der Fokus auf öffentlichen Blockchains.

Zweitens vermerken Egloff und Turnes (2019), dass nicht jeder Knoten über eine volle Kopie der
Transaktionen verfügt. Man unterscheidet hier zwischen vollen Knoten (engl. Full Nodes) und
leichten Knoten (engl. Lightweight Nodes). Volle Knoten validieren alle Transaktionen und Blöcke
und bilden somit das Rückgrat der Blockchain. Es ist beinahe unmöglich ein grosses Netz an «Full
Nodes» gesamthaft zu verfälschen oder in die Knie zu zwingen. Fällt ein Knoten aus, wird seine
Arbeit durch die weiteren Knoten des Netzwerks fortgesetzt. Leichte Knoten hingegen speichern nur
die Header eines Blocks um Speicherplatz zu sparen und trotzdem prüfen zu können, ob konkrete
Transaktionen in einem Block enthalten waren oder nicht. Wallets sind Beispiele von leichten
Knoten.

Um auf die Anforderungen an verteilte Transaktionssysteme zurückzukommen – es gibt zwei
Aspekte, welche die Verfügbarkeit des Systems beeinflussen: Zum einen bedeutet eine hohe Anzahl
voller Knoten geringes Ausfallrisiko und somit hohe Verfügbarkeit des Systems. Zum anderen kann
die Verfügbarkeit durch Privatisierung einer Blockchain eingeschränkt werden.

2.5.2    Asymmetrische Kryptographie

Im vorausgehenden Abschnitt wurde bereits der Begriff «Wallet» verwendet. Übersetzt bedeutet
«Wallet» so viel wie Brieftasche. Dabei wäre der Begriff Schlüsselbund viel passender, da Trans-
aktionen auf der Blockchain und nicht in der Wallet gespeichert sind und eine Wallet nur über
sogenannte Schlüssel verfügt, welche auf die in der Blockchain gespeicherten Transaktionen
verweisen (Antonopoulus & Wood, 2018, S. 79-80).

Ein Wallet beinhaltet mindestens ein Schlüsselpaar. Ein Paar besteht jeweils aus einem privaten
und einen öffentlichen Schlüssel (engl. «private key» und «public key»). Mit Hilfe dieser beiden

05. August 2019                                                                                           11
Blockchain – Einführung in die Theorie

Schlüssel ist es möglich, dass zwei Parteien miteinander kommunizieren können, ohne dass es für
Dritte möglich ist den Inhalt der Nachricht zu entschlüsseln. Zudem kann die sendende Partei die
ausgehende Nachricht signieren damit die empfangende Person weiss, dass die Nachricht von der
korrekten Person stammt. Der öffentliche Schlüssel ist dabei für jeden sichtbar. Der private Schlüssel
hingegen muss gut verwahrt werden, weil damit verschlüsselte Nachrichten entschlüsselt werden
können. Dieses Vorgehen ist bekannt als asymmetrische Kryptographie (auch Verschlüsselung) und
wird von Egloff und Turnes (2019) wie folgt beschrieben:

Ein Schlüsselpaar wird durch einen Algorithmus generiert. Dieser erstellt zuerst einen privaten
Schlüssel und leitet den öffentlichen Schlüssel so davon ab, dass es nahezu unmöglich ist auf Grund
des öffentlichen Schlüssels den privaten Schlüssel zu rekonstruieren. Es entsteht also eine Art
Einbahnbeziehung zwischen den beiden Schlüsseln. Diese Einwegbeziehung bildet die Grundlage
für die beiden Vorgänge «verschlüsseln und entschlüsseln» und «signieren und verifizieren».

Verschlüsseln und entschlüsseln
Anna möchte Ben eine Nachricht senden, deren Inhalt nur Ben lesen kann. Dazu nimmt sie den
öffentlichen Schlüssel von Ben und verschlüsselt damit den Inhalt der Nachricht. Ab diesem
Zeitpunkt könnte selbst Anna den Inhalt der Nachricht nicht mehr entschlüsseln. Nur Ben kann den
Inhalt der Nachricht, welche er von Anna empfängt, mit seinem privaten Schlüssel auflösen.

Man kann sich den öffentlichen Schlüssel von Ben auch als offene Vorhängeschlösser vorstellen,
bei welchen sich Anna und alle anderen Personen bedienen können, welche Ben eine Nachricht
senden möchten. Man packt die Nachricht an Ben in eine Box, nimmt eines der offenen Vorhänge-
schlösser von Ben und verschliesst die Box mit dem Vorhängeschloss. Ab diesem Zeitpunkt kann
nur noch Ben als Besitzer des Schlüssels zum Vorhängeschloss an den Inhalt der Box gelangen.

                  Abbildung 2 - Verschlüsseln und entschlüsseln (Egloff & Turnes, 2019)

Signieren und verifizieren
Durch das Verschlüsseln und Entschlüsseln ist sichergestellt, dass nur die empfangsberechtigte
Person den Inhalt einer Transaktion lesen kann. Jedoch ist dadurch noch nicht garantiert, dass Anna
auch die Person ist, für welche sie sich ausgibt. Um das zu beweisen, signiert Anna die Nachricht
an Ben mit ihrem privaten Schlüssel. Ben kann beim Empfang der Nachricht mit Hilfe des

05. August 2019                                                                                               12
Blockchain – Einführung in die Theorie

öffentlichen Schlüssels von Anna verifizieren, ob es sich tatsächlich um eine Nachricht von Anna
handelt (Egloff & Turnes, 2019, S. 42-44).

                      Abbildung 3 - Signieren und verifizieren (Egloff & Turnes, 2019)

Blockchains bedienen sich also auch bei der Verschlüsselung von Nachrichten an einem altbe-
kannten Konzept der Informationssicherheit. Die asymmetrische Verschlüsselung wurde bereits
1970 veröffentlicht (Antonopoulus & Wood, 2018, S. 60). Sie sorgt dafür, dass die Anforderung an
die Eigentumssicherung in Blockchains erfüllt ist. Wie die Unveränderbarkeit von Transaktionen
sichergestellt ist, wird im folgenden Abschnitt erklärt.

2.5.3    Hash-Funktion und Blockbildung

Wie einleitend erwähnt, publizierten Haber und Stornetta (1991) ein Verfahren, nachdem es möglich
ist, Daten so in einer Struktur hinzuzufügen, dass sie anschliessend nicht mehr verändert werden
können. Sie beschreiben in ihrer Arbeit, vereinfacht ausgedrückt, ein Verfahren wie Transaktionen
so miteinander verlinkt werden, dass sie später nicht mehr änderbar sind ohne die gesamte Kette
von Transaktionen zu verändern. Unter anderem bedienen sie sich dabei sogenannter Hash-
Funktionen.

Hash-Funktionen
Haber und Stornetta (1991) definieren Hash-Funktionen als Familie von Funktionen, welche einen
Input (in Form eines Bit-Strings) mit zufälliger Länge entgegennehmen und in einen Output (auch in
Form eines Bit-Strings) mit fixer länge umwandeln. Dabei wird der exakt gleiche Input immer zu
einem identischen Output führen. Umgekehrt ist es nicht möglich auf Grund zwei verschiedener
Inputs den gleichen Output zu generieren (auf jeden Fall bei kollisionsfreien Hash-Funktionen).
Hash-Funktionen haben die Eigenschaft, dass der Output auf Grund des Inputs leicht berechnet, auf
Grund des Outputs aber unmöglich auf den Input geschlossen werden kann (Haber & Stornetta,
1991).

Abbildung 4 zeigt wie sich aus der Eingabe zwei leicht unterschiedlicher Inputs, zwei komplett unter-
schiedliche Outputs (auch Hash-Wert, Hash-Code, Fingerprint, etc. genannt) ergeben. Für die Grafik
wurde die Hashfunktion Keccak-256 verwendet, die in der Ethereum-Blockchain sehr oft Anwendung
findet (Antonopoulus & Wood, 2018, S. 72).

05. August 2019                                                                                                 13
Blockchain – Einführung in die Theorie

             Abbildung 4 - Hash-Funktion mit minim unterschiedlichem Input (eigene Darstellung)

Inputs als Hash-Werte zu speichern macht aus diversen Gründen Sinn. Zum einen sind Hash-Werte
meist kleiner als ihr Input-Wert und brauchen so weniger Speicherplatz. Trotzdem kann man mit
Hilfe des ursprünglichen (unveränderten) Inputs nachweisen, dass dieser zum entsprechenden
Hash-Wert führt. Zum anderen kann auf Grund des Hash-Werts nicht auf den Input geschlossen
werden (Egloff & Turnes, 2019). Das bedeutet, wenn es sich um sensitiven Input handelt, kann man
mit dem Hash-Wert öffentlich eine Referenz speichern, ohne dass jemand (ohne den originalen
Input) auf den Inhalt schliessen kann. Die Daten sind folglich vollständig geschützt.

Blockbildung
Welche Rolle Hash-Algorithmen im Kontext von Blockchains spielen, wird spätestens klar, wenn
man betrachtet, wie Transaktionen in Blöcke gepackt und Blöcke miteinander verlinkt werden.
Abbildung 5 veranschaulicht dieses Konzept der Blockbildung.

 Abbildung 5 - Von der Transaktion zur Blockkette (eigene Darstellung angelehnt an Egloff & Turnes, 2019)

05. August 2019                                                                                                14
Blockchain – Einführung in die Theorie

Damit Transaktionen unveränderbar werden, bilden Blockchains in einem bestimmten Zeitintervall
aus den Transaktionen Blöcke, welche chronologisch angeordnet miteinander verbunden werden.
Die Blöcke bestehen immer aus einem Block-Header mit Metadaten zum Block und einen Block-
Body mit dem Inhalt (Transaktionen) des Blocks. Je nach Blockchain-Protokoll können die Header-
daten unterschiedliche Angaben enthalten. Gemäss Egloff und Turnes (2019) müssen im Header
zumindest die folgenden Daten enthalten sein:

Zeitangabe: Enthält die Zeit, zu welcher der Block erstellt wurde. Dies dient dem Nachweis des
Erstellungszeitpunkts und der chronologischen Anordnung der Blocks in der Kette.

Hash vorheriger Block: Beim Hinzufügen eines neuen Blocks wird anhand der Header-Daten des
vorherigen Blocks ein Hash-Wert berechnet und im neuen Block eingefügt. Durch diese Referenzier-
ung bildet sich erst eine Kette und somit die Grundlage für die Unveränderbarkeit von Transaktionen.

Nonce: Nonce (kurz für Number Used Once) steht für eine Zufallszahl, die während dem Prozess
der Blockbildung bei der Ausführung des Konsensmechanismus definiert wird. Dieser Wert wird für
den Konsensmechanismus Proof of Work (kurz PoW) verwendet. In diesem Zusammenhang wird
im Block-Header meist auch ein Wert «Difficulty» gespeichert. Dieser Wert definiert das Schwierig-
keitslevel, mit dem der Block erzeugt wurde. Mehr dazu gibt es im Abschnitt «Konsensalgorithmen».

Transaktionsverweis: Das Feld Transaktionsverweis dient dazu den Block-Header nicht unnötig
aufzublähen. An dieser Stelle wird der sogenannte Top-Hash aller im Block gespeicherten Transak-
tionen festgehalten. Der Top-Hash ist der oberste Hash eines sogenannten Merkle-Trees. Beim
erschaffen eines Merkle-Trees startet man auf der untersten Ebene (Transaktionen), berechnet
einzeln deren Hash-Werte und hasht rekursiv immer wieder zwei Hash-Paare bis nur noch der Top-
Hash übrigbleibt (Egloff & Turnes, 2019). Im Gegensatz zu Bitcoin basiert Ethereum auf einer etwas
komplexeren Variante des Merkle-Trees: Dem sogenannten «Merkle-Patricia-Tree» (Antonopoulus
& Wood, 2018).

Wenn also jemand eine Transaktion ändern möchte, würden sich dadurch die Hash-Werte im
Merkle-Tree und dadurch der Transaktionsverweis ändern. Da der Transaktionsverweis Teil des
Block-Headers ist, würde dadurch auch der Header-Hash verändert und der Block und alle nachfol-
genden Blocks ungültig. Auf einem zentral geführten System wäre das kein Problem, weil dieses
System das «einzig Richtige» ist. Auf einem verteilten System, bei welchem alle Knoten gleich-
berechtigt sind und ein Konsens zwischen den Knoten verlangt wird, ist eine solche Manipulation
äusserst unwahrscheinlich. Ein solcher Angriff könnte erfolgen, wenn 51% der Knoten oder mehr
manipuliert werden (Sixt, 2017). Die Unveränderbarkeit einer Transaktion und damit das Vertrauen

05. August 2019                                                                                           15
Blockchain – Einführung in die Theorie

in eine Blockchain steigen folglich mit der Anzahl unabhängiger voller Knoten eines Blockchain-
Netzwerks und der Anzahl nach der Transaktion folgender Blöcke.

2.5.4    Konsensalgorithmen

Blockchains bestehen also aus asymmetrisch verschlüsselt durchgeführten Transaktionen, deren
Hash-Werte in Blöcke verpackt und auf einem weltweit verteilten Transaktionssystem gespeichert
werden. Soweit so gut. Nun gibt es jedoch noch eine Problemstellung, die noch nicht thematisiert
wurde. Diese Herausforderung entsteht durch die Verteilung des Systems: Die Synchronizität der
partizipierenden Knoten.

Bei einem intermediären System passiert die Synchronisation über eine zentrale Stelle. Alle
teilnehmenden Knoten oder auch Clients in diesem System vertrauen auf die Korrektheit und
Integrität der Daten auf dem zentralen Server. In einem verteilten System, in dem alle Knoten
gleichberechtigt sind, kann es unterschiedliche Zustände geben, weil beispielsweise die betreibende
Person des Knotens die lokal gespeicherten Daten manipuliert oder einfach weil auf Grund zeitlicher
Verzögerungen noch nicht alle Knoten über den neusten Status informiert sind (Egloff & Turnes,
2019, S. 51-52). Dieses Problem ist auch unter dem Begriff «Byzantinischer Fehler» bekannt (Egloff
& Turnes, 2019, S. 30).

Durch die zeitliche Verzögerung kann es zu sogenanntem «Double Spending» kommen. Das heisst
eine Transaktion könnte mehrfach ausgeführt werden, weil zwei verschiedenen Knoten mit unter-
schiedlichem Status dieselbe Transaktion erhalten und ausführen. Um solche Fehler zu verhindern,
sind verteilte Systeme auf sogenannte Konsensmechanismen (auch Konsensalgorithmen)
angewiesen, welche helfen über alle Knoten oder zumindest über eine Mehrheit der Knoten einen
Konsens zu schaffen. Dieser wird geschaffen, indem der Knoten, der das Konsensverfahren für sich
entscheidet, den Block berechnet und zur Prüfung an alle anderen Knoten sendet. Erklären diese
den Block als valide, wird er der Blockchain angehängt (Sixt, 2017, S. 43).

Die beiden bekanntesten Mechanismen sind «Proof of Work» (kurz PoW) und «Proof of Stake» (kurz
PoS). Die Protokolle Bitcoin und Ethereum verwenden nach aktuellem Stand der Fachliteratur beide
einen PoW-Mechanismus. Bei Ethereum wird im Rahmen der Protokoll-anpassung «Casper» ein
zumindest teilweiser Wechsel auf ein PoS-Mechanismus geplant (Antonopoulus & Wood, 2018, S.
322; Egloff & Turnes, 2019, S. 124-125). Die beiden Verfahren sind in der Fachliteratur von Egloff
und Turnes (2019, S. 55-63) und Antonopoulus und Wood (2018, S. 320-322) beschrieben und
werden in den folgenden beiden Abschnitten zusammengefasst.

05. August 2019                                                                                           16
Sie können auch lesen