Es passierte auf einer Gartenparty bei Freunden. Alle waren gut gelaunt, als plötzlich jemand aus heiterem Himmel in die Runde fragte: „Was ist eigentlich eine Blockchain?“ Betretenes Schweigen. Ausweichende Blicke. Wikipedia lieferte eine Erklärung, die nur jemand versteht, der eigentlich keine Erklärung benötigt. Auch die Google Suche fand keine verständlichen Antworten auf die Frage.
Warum gibt es keine einfache und verständliche Erklärung, um die Funktion einer Blockchain zu verstehen?
Zunächst ist es wichtig ein paar Begriffe zu klären, die oft zu Verwechslungen führen.
Bitcoins und andere Cyberwährungen werden gerne in einem Atemzug mit der Blockchain genannt, aber nicht jede Blockchain hat etwas mit Cyberwährungen zu tun. Vielmehr gibt es unendlich viele Einsatzmöglichkeiten für eine Blockchain. Cyberwährungen sind nur die bekanntesten Anwendungsfälle, bei denen die Blockchain Technologie zur Verwendung kommt.
Bei allen Aufgabenstellungen, wo bei einer gemeinsamen Transaktion zwischen verschiedenen Parteien gegenseitiges Vertrauen notwendig ist, obwohl sich die Parteien nicht kennen, ist die Blockchain das ideale Mittel, um dieses Vertrauen auf technischer Basis herzustellen.
Um die Funktion besser zu verstehen, trennen wir den Begriff Blockchain in die beiden Wörter „Block“ und „Kette“ auf. Mit dem Wort „Block“ ist die verkürzte Form eines Datenblocks gemeint.
Ein Datenblock bzw. „Block“ ist ein Textfile, welches aus Buchstaben und Zeichen besteht. Der Block enthält alle Informationen die notwendig sind, um den Umfang und den Ablauf einer Transaktion zu dokumentieren. Bei den meisten Blockchains ist der Inhalt eines Blocks nicht verschlüsselt. sondern sogar lesbar, aber in der Regel nicht lesefreundlich formatiert.
Unter Transaktion versteht man in der Volkswirtschaftslehre den Austausch von Wirtschaftsobjekten zwischen Wirtschaftssubjekten. Eine Transaktion findet zum Beispiel statt, wenn eine Person mit einer anderen Person eine Ware gegen Geld tauscht.
Mit Kette oder „Chain“ wird jener Vorgang bezeichnet, bei dem ein neuer Block mit dem vorhergehenden Block verkettet wird. Diese Verkettung ist das Besondere an der Blockchain Technologie und beschreibt jenen Vorgang, bei dem das oben erwähnte Vertrauen zwischen mehreren Parteien, die sich nicht kennen, durch Technologie erzeugt wird.
Für die Verkettung der Blöcke wird ein sogenannter „Hash“ verwendet. Ein Hash ist eine mathematische Funktion, die eine Eingabe mit einer beliebigen Anzahl von Zeichen in eine Ausgabe mit einer festen Anzahl von Zeichen umwandelt.
In unserem Beispiel weiter unten verwenden wir die sehr bekannte Hash-Funktion „SHA-256“, welche immer einen Ausgabewert in der Länge von 64 Zeichen erzeugt. Jedes einzelne Zeichen des 64-stelligen Ausgabewert besteht entweder aus einem Buchstaben oder einer Zahl.
Der Eingabewert, den die Hash-Funktion erhält, kann jedoch beliebig viele Zeichen beinhalten. Er kann lediglich eines, oder mehrere Millionen Zeichen umfassen. Die Hash-Funktion SHA-256 liefert immer einen Ausgabewert in der Länge von 64 Zeichen zurück.
Ruft man die Hash-Funktion mit dem Eingabewert „Anexia“ auf, so lautet der Ausgabewert wie folgt:
F80A3AA42E59AF31D272CCA0C86DA10E3BE7D0C90815E12BF49FE0F1E34BBA32
Wird die Hash-Funktion mit demselben Eingabewert mehrmals aufgerufen, so sind die jeweiligen Ausgabewerte immer identisch, weil ja auch die Eingabewerte identisch sind. Sollte sich der Eingabewert aber auch nur durch ein einziges Zeichen unterscheiden, so ist der Ausgabewert völlig unterschiedlich. Nicht nur an einer der 64 Stellen, sondern an allen Stellen.
Wenn zum Beispiel die Hash-Funktion mit dem Eingabewert „anexia“ aufgerufen wird, so lautet der Ausgabewert:
E17262AB0B2D3BAD3B1F4FD87A67431179FFD4F4674B9AF16513C906C45CBB3E
Die Ausgabewerte der beiden Beispiele unterscheiden sich sehr deutlich, obwohl beim Eingabewert nur der Großbuchstabe „A“ durch den Kleinbuchstaben „a“ ersetzt wurde. Jeder kleinste Unterschied erzeugt einen völlig anderen Ausgabewert.
Es ist ebenfalls völlig ausgeschlossen, dass zwei verschiedene Eingabewerte durch Zufall den gleichen Ausgabewert erzeugen oder dass anhand des Ausgabewertes Rückschlüsse auf den ursprünglichen Eingabewert getroffen werden können.
In manchen Publikationen wird das Ergebnis der Hash-Funktion auch als „Fingerprint“ bezeichnet, um die Einzigartigkeit des Ausgabewerts zu unterstreichen. Bei der Hash-Funktion kann immer darauf vertraut werden, dass zwei völlig identische Ausgabewerte aus zwei völlig identischen Eingabewerten erzeugt wurden. Fälschungen oder nachträgliche Manipulation an einem Block als Eingabewert würden auffallen, weil in solchen Fällen der Ausgabewert vom ursprünglichen Wert stark abweicht.
Bei jeder Blockchain Transaktion wird ein neuer Datenblock geschrieben und mit dem vorhergehenden Block verkettet. Beim Verketten wird der Hash Wert des vorhergehenden Blocks, also die letzten 64 Zeichen des Files und alle Zeichen des aktuellen Blocks der Hash-Funktion als Eingangswert übergeben. Auf diese Weise wird der vorletzte Block und der aktuelle Block miteinander „logisch“ verkettet und ein neuer Ausgabewert erzeugt. Diese 64 Zeichen werden beim Speichern am Ende des neuen Blocks angefügt. Durch diese logische Verkettung ist sichergestellt, dass bei einer Manipulation auch alle nachfolgenden Blöcke einen abweichenden Hashwert aufweisen würden.
Alle Verkettungen einer Blockchain werden regelmäßig überprüft, indem Block für Block die Hashwerte mit den gespeicherten Hashwerten verglichen werden. Als zusätzliche Sicherheitsstufe wird jede Blockchain dezentral auf viele verschiedene Server kopiert und jeder neue Block auf alle Server verteilt. In der Fachwelt wird dieser Vorgang als dezentral geführtes Kontobuch oder als Distributed-Ledger-Technologie bezeichnet. Würde jemand einen Block manipulieren oder löschen, so müsste diese Manipulation auf allen beteiligten Servern durchgeführt werden, was praktisch unmöglich ist.
Die bei der Transaktion involvierten Wirtschaftssubjekte können darauf vertrauen, dass die im Block enthaltenen Daten durch die Hash-Funktion und Verkettung „versiegelt“ sind und eine nachträgliche, unbemerkte Manipulation unmöglich ist.
Die möglichen Einsatzgebiete der Blockchain Technologien sind riesig. Bei den meisten Transaktionen des täglichen Lebens vertrauen die Wirtschaftssubjekte gegenwärtig noch einem Dritten, wie zum Beispiel einem Notar oder einer Bank, dass die Versiegelung der Akten korrekt und dauerhaft durchgeführt wird. Dieser Mittelsmann bzw. Intermediär kann durch den Einsatz von Blockchain Technologien entfallen, weil das Vertrauen zwischen den Parteien durch die Verkettung der Blöcke und dem Schutz vor nachträglicher Manipulation gewährleistet ist. Die Blockchain wird sich aus diesem Grund in vielen Bereichen durchsetzen und zum technischen Standard bei digitalen Transaktionen oder digitalen Verträgen werden.
Sollte jemand bei der nächsten Gartenparty nach einer Erklärung für die Blockchain fragen, dann hilft dieser Artikel hoffentlich beim Beantworten der Frage.
Weiterführende, SEHR ausführliche Informationen zur Blockchain Technologie:
Deutsch: Blockchain White Paper – Grundlagen, Anwendungen, Potentiale
Englisch: White Paper on Blockchain in Trade Facilitation