Spätestens seit ihrem Höhenflug im Sommer 2017 ist die Kryptowährung „Bitcoin“ wieder in aller Munde. Im Windschatten des Hypes gewinnt jedoch auch ein anderer Begriff an Bekanntheit: die „Blockchain“. Was die Blockchain ist und welche Probleme sie löst, das soll dieser Beitrag möglichst anschaulich erläutern (das TL;DR findet ihr am Ende des Beitrags).
Bevor wir uns der Blockchain-Technologie selbst widmen, müssen wir zunächst verstehen, welche Probleme sie lösen soll. Ein einfach zu verstehendes Beispiel dafür sind Systeme, die Besitzrechte abbilden (z.B. Hausbesitzer). Systeme, die Besitzrechte speichern, können als sog. Transitionssystem modelliert werden. Ein Transitionssystem besteht aus Zuständen und Übergängen zwischen diesen Zuständen, den Transitionen.

 

Transition

 

System Grundbesitz

Betrachten wir das System „Grundbesitz“ genauer. Ein Zustand umfasst hier die Information darüber, welche Grundstücke im System (bspw. einem Neubaugebiet) existieren und wem sie gehören. Wechselt ein Grundstück den Eigentümer (in der Regel durch Verkauf), ist das eine Transition, die wiederum einem neuen Zustand zur Folge hat.

Damit dieses System funktioniert, müssen sich jedoch vor jeder Transition alle Parteien über den aktuellen Zustand einig sein. Sprich: Bevor ein Grundstück verkauft wird, müssen sich alle einig sein, wem es gerade gehört. Sonst ist es möglich, dasselbe Grundstück mehrfach zu verkaufen – das sog. „Double-Spend-Problem“.

Das „Double-Spend-Problem“

Stellen wir uns folgendes Szenario vor: Mallorys Grundstück mit der Nr. 42 steht zum Verkauf (Zustand A). Alice möchte das Grundstück kaufen und bezahlt Mallory dafür den geforderten Preis (Transition). Damit ist Alice die neue Eigentümerin von Grundstück Nr. 42 (Zustand B). Oder?

 

Transition

 

Bob hat ebenfalls ein Auge auf Grundstück Nr. 42 geworfen. Davon, dass Mallory es gerade an Alice verkauft hat, weiß er jedoch nichts – es gehört seines Wissens immer noch Mallory. Die nutzt dieses Missverständnis aus und verkauft Bob ebenfalls Grundstrück Nr. 42.

 

Transition

 

Die Konflikte, die sich daraus ergeben, sind ersichtlich:

  1. Mallory hat dasselbe Grundstück zweimal verkauft.
  2. Alice und Bob sind sich nicht einig darüber, wem Grundstück Nr. 42 jetzt gehört.

Man könnte auch sagen: Ihre jeweiligen Systemzustände sind nicht kompatibel.

 

Konflikt Systemzustände

 

Dieses System funktioniert also ganz offensichtlich nicht. Solange die Möglichkeit besteht, dasselbe Grundstück mehrmals zu verkaufen, wird sich niemand auf einen Handel einlassen.
Damit unser einfaches Grundbesitz-System funktioniert, müssen nämlich folgende
Voraussetzungen erfüllt sein:

  1. Alle Parteien müssen sich über den aktuellen Systemzustand einig sein
  2. Alle Parteien müssen sich über die Validität einer Transition einig sein

Wir brauchen also jemanden (oder etwas), das dafür sorgt, dass diese Bedingungen gegeben sind.

Zentrale Autoritäten (und warum sie keine gute Lösung sind)

In der Realität kümmert sich darum das Grundbuchamt. Das Grundbuchamt kontrolliert als zentrale Autorität den Zustand des Systems (das Grundbuch) und überprüft jede Transition (Kauf bzw. Verkauf eines Grundstücks) auf seine Validität. Auch in der Finanzwirtschaft gibt es eine zentrale Autorität: Banken kontrollieren Konten und ihre Kontostände (Zustand) sowie die Validität jeder einzelnen Kontobewegung (Transition).

Die Existenz einer zentralen Autorität im System bringt aber neue Probleme mit sich.

So bieten sie durch ihre mächtige Rolle im System grundsätzlich Möglichkeiten für Manipulation und Zensur. Der Online-Bezahldienst PayPal etwa sah sich in der Vergangenheit immer wieder Zensur Vorwürfen ausgesetzt, besonders nach der kontroversen Sperrung des Kontos der Wau-Holland-Stiftung, über die ein Großteil der Spenden an die Enthüllungsplattform WikiLeaks geflossen war. Zentrale Autoritäten machen das System zudem angreifbar, denn sie sind per definitionem ein „Single Point of Failure“. Im Risikomanagement bezeichnet man so den Systembestandteil, dessen Ausfall den Ausfall des ganzen Systems nach sich zieht.

Wir suchen also nach einer Lösung, die

  • Konsens über den aktuellen Systemzustand herstellt,
  • die Validität einer Transition überprüft,
  • eine dezentrale Struktur hat und
  • im Internet funktioniert (duh).

Ein solches System existiert – die Blockchain.

Blockchain – The General Idea

Blockchain wurde 2008 als integraler Bestandteil der Referenzimplementierung von Bitcoin von der Person oder Gruppe hinter dem Pseudonym „Satoshi Nakamoto“ entwickelt (dessen geheime Identität einen eigenen Beitrag füllen könnte).

Die Blockchain ist ein öffentliches, dezentrales Register (vgl. Datenbank), in dem sämtliche jemals vorgenommenen Transaktionen protokolliert werden. Öffentlich und dezentral deshalb, weil jeder Netzwerkteilnehmer eine vollständige Kopie der Blockchain besitzt. Wenn eine der Kopien verändert wird, werden diese Änderungen an alle anderen Kopien im Netzwerk weitergegeben. Damit ergibt sich ein dynamisches Protokoll aller Transaktionen, das auf den Computern aller Netzwerkteilnehmer redundant gespeichert wird.

 

dezentrales Blockchain Netzwerk

 

Stellen wir uns erneut vor, Mallory verkauft Alice ihr Grundstück Nr. 42. Der Verkauf ist eine neue Transaktion und Mallorys Rechner teilt sie dem Blockchain-Netzwerk mit. Jeder Rechner, der die neue Transaktion erhält, prüft sie auf Validität und gibt sie dann im Netzwerk weiter. So verbreitet sich die Transaktion im gesamten Netzwerk, bis sie jeden Teilnehmer erreicht hat.

Als Miner bezeichnet man einen Netzwerkteilnehmer, der neue Transaktionen sammelt und sie zu einem Block zusammenfasst. Dabei darf ein Block nur valide Transaktionen enthalten, die früheren Transaktionen nicht widersprechen. Der fertige Block wird erneut dem gesamten Netzwerk mitgeteilt und jeder Teilnehmer prüft, ob der neue Block mit der bisherigen Blockchain zusammenpasst. Wenn der Block als valide anerkannt wird, wird er Bestandteil der kollektiven Blockchain und die Transaktionen darin gelten als bestätigt.

Die Blockchain

 

Sollte Mallory nun versuchen, Grundstück Nr. 42 zweimal zu verkaufen, würde diese Transaktion zwar den anderen Netzwerkteilnehmern mitgeteilt, aber von ihnen als invalide abgelehnt und nicht in einen neuen Block aufgenommen.

Doch was hindert Mallory (oder jeden anderen Netzwerkteilnehmer) daran, selbst als Miner zu fungieren, ihre eigenen (invaliden) Blöcke in Umlauf zu bringen und damit verschiedene, widersprüchliche Versionen der Blockchain zu erzeugen?

Schutz vor Manipulation: der „Proof of Work“

Grundsätzlich kann tatsächlich jeder im Netzwerk als Miner fungieren und neue Blöcke berechnen. Das Protokoll schreibt jedoch vor, dass ein Miner nachweisen muss, dabei ein bestimmtes Maß an Rechenleitung (und damit Zeit) aufgewendet zu haben, damit sein produzierter Block als valide gilt.. Dieses Konzept nennt man „Proof of Work“, zu deutsch etwa „Arbeitsnachweis“ und es verhindert, dass ein einzelner Miner in kurzer Zeit viele neue Blöcke erzeugen und an die Blockchain anknüpfen kann.

In der Praxis muss ein Miner ein mathematisches Problem lösen, indem er in unzähligen Versuchen zufällige Zahlen in eine Formel einsetzt, bis er auf ein vorgegebenes Ergebnis kommt. Die Schwierigkeit dieses Problems wird vom System so geregelt, dass im Schnitt alle zehn Minuten ein zufälliger Miner im Netzwerk das korrekte Ergebnis errät und einen neuen Block erzeugt.

Dieses Konzept ist jedoch nicht nur stupide Beschäftigung. Es führt nämlich dazu, dass neue Blöcke viel schneller gemeinsam erzeugt werden können als allein.

Um die Blockchain erfolgreich zu manipulieren, müsste ein Angreifer sehr schnell sehr viele seiner manipulierten Blöcke in die Blockchain integrieren (vereinfacht gesprochen). Die Wahrscheinlichkeit, dass derselbe Miner mehrfach hintereinander als erster die richtige Lösung errät, ist jedoch extrem gering. Um sicher zu sein, jede Aufgabe als schnellster zu lösen, müsste ein Miner mindestens 51% der gesamten Rechenleistung im Netzwerk besitzen. Das ist praktisch unmöglich, denn das Bitcoin-Netzwerk besitzt in Summe mehr Rechenleistung als die 500 schnellsten Supercomputer der Welt zusammen … mal 10.000.

Zusammengefasst ist die Erfolgswahrscheinlichkeit für eine Manipulation der Blockchain durch einen Angreifer so gering, dass sich der Aufwand schlicht nicht lohnt.

Die Blockchain ist also sicher — und sie basiert auf vier Grundprinzipien:

  • Dezentraler Datenspeicher: Jeder Teilnehmer des Blockchain-Netzwerks hat Zugang zur gesamten Datenbank und deren kompletter Historie. Keine singuläre Institution kontrolliert die Daten.
  • Peer-to-Peer Kommunikation: Kommunikation findet zwischen zwei Netzwerkteilnehmern direkt statt, statt über einen zentralen Knotenpunkt. Jeder Teilnehmer speichert jedoch Informationen und leitet sie an alle anderen Teilnehmer weiter.
  • Transparenz durch Pseudonyme: Jede Transaktion und die damit verbundenen Daten sind für alle im Netzwerk sichtbar. Dafür besitzt jeder Teilnehmer eine einzigartige Adresse, die ihn identifiziert. Transaktionen finden zwischen Blockchain-Adressen statt.
  • Irreversibilität der Daten: Sobald eine Transaktion der Blockchain hinzugefügt wird (in die Datenbank aufgenommen wird), kann der Eintrag nicht mehr verändert werden, weil eine Verbindung zu jedem zuvor angelegten Eintrag besteht (daher die Bezeichnung „Kette“).

Der Themenkomplex rund um Blockchain, Smart Contracts, Kryptowährungen usw. ist spannend, hochaktuell und vor allem: umfangreich. Dieser Beitrag möchte eine Einführung sein, die Lust auf mehr macht. Deshalb im Folgenden das obligatorische TL;DR und ein paar weiterführende Links für diejenigen, die bis hierhin gelesen haben.

TL;DR

Blockchain ist die Technologie hinter Bitcoin und Ethereum. In der Blockchain wird eine Transaktionshistorie gespeichert – wie in einer ewigen Logdatei. Jeder im Netzwerk besitzt eine Kopie der Blockchain. Neue Transaktionen werden von allen geprüft und der Blockchain in Blöcken hinzugefügt – das macht sie sicher vor Manipulation und daher stammt auch ihr Name.

Weiterführende Links:

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.