Die Blockchain-Technologie oder Distributed Ledger-Technologie ist die Basis für Kryptowährungen und weitere Blockchain-Anwendungen, wie z. B. Smart Contracts. Ein Blockchain-Netzwerk besteht aus miteinander verbundenen Computern, die eine einheitliche Software zur Kommunikation verwenden. Diese Computer bzw. Netzwerkteilnehmer bezeichnet man als Knoten (sog. Nodes oder Peers).
Die Validierung von Transaktionsinformationen (z. B. die Übertragung von Kryptowährungen zwischen zwei Personen) und damit die Etablierung von Vertrauen in die übermittelten Informationen erfolgt über Kryptographie sowie die Bestätigung durch das Netzwerk. Transaktionsinformationen werden auf Blöcken abgespeichert, die durch ein kryptographisches Verfahren miteinander verbunden werden. Dadurch entsteht eine Blockkette (sog. Blockchain).
Abbildung 2: Verkettung von Blöcken einer Blockchain
Wird eine neue Transaktion von einem Teilnehmer zu einem neuen Block zusammengesetzt, wird dieser nur kryptographisch mit einem vorhergehenden Block über einen sog. Hash-Algorithmus verbunden. Dies geschieht jedoch nur, wenn zuvor der Inhalt der Transaktion über einen Konsens im Gesamtnetzwerk validiert wurde. Um die Integrität der Blockchain durch das Netzwerk zu garantieren, ist die Transparenz der gesamten Transaktionshistorie für das Netzwerk notwendig.
Eine Transparenz ist aber nur in einem Netzwerk möglich, in dem jeder Teilnehmer die gesamte Transaktionshistorie lesen kann. Die gesamte Transaktionshistorie ist bei jedem Teilnehmer vorhanden und wird von diesem verwaltet, man spricht deshalb auch bei der Blockchain-Technologie von verteilten Datenbanken (distributed ledger). Wodurch das Vertrauen in die übermittelten Informationen sichergestellt wird. In einem zentralen Datenspeicher wird das Vertrauen hingegen durch einen zentralen Intermediär sichergestellt.
Abbildung 3: Zentraler und dezentraler Datenspeicher
Da jeder neue Block auf den vorherigen Block verweist, existiert ein sog. erster Genesis Block in jeder Blockchain. Z. B. wurde der erste Block von Bitcoin am 3.1.2009 erstellt.
Der Informationsinhalt des vorhergehenden Blocks wird Bestandteil des neuen Blocks und damit auch zu einem Hash. Sind einmal Informationen auf einer Blockchain eingetragen, können diese Informationen nicht mehr gelöscht oder unbemerkt verfälscht werden, da dies den Hash-Wert verändern würde. Ein Hash besteht aus Zahlen und Buchstaben und lässt per se keinen Rückschluss auf den Informationsinhalt der Transaktion. Z. B. verwendet Bitcoin den kryptographischen Hash "SHA-256".
Kryptographiealgorithmus
Z. B. wird nach dem Kryptographiealgorithmus SHA-256 der Satz "Hello World!" in folgende Zeichen und Zahlenkombination transferiert:
"7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069" |
Es wäre nur durch das nicht sinnvolle Ausprobieren sehr vieler unterschiedlicher Buchstaben und Zeichenvarianten möglich, auf den Inhalt zurückzuschließen (sog. Brute-Force-Methode).
Ein einmal veröffentlichter Blockchain-Code ist nicht mehr änderbar, damit sind Änderungen/ Verbesserungen schwierig umsetzbar. In der Grundkonzeption müssen daher bei Änderungswünschen an einem Blockchain-Netzwerk sog. Forks durchgeführt werden. Handelt es sich um grundlegende/konzeptionelle Änderungen ist eine Hard Fork notwendig, die im Ergebnis das Blockchain-Netzwerk in zwei Blockchain-Netzwerke aufspaltet und die Knoten können sich für eine der beiden Varianten entscheiden (s. z. B. die Hard Forks von Bitcoin und Bitcoin Cash am 1.8.2017 sowie von Ethereum und Ethereum Classic). Im Ergebnis wird vom Mutterprotokoll eine neue Blockchain abgespalten. Daneben gibt es auch noch Soft Forks, die zu keiner Aufspaltung der Blockchain führen, sondern nur geringfügige Änderungen am Protokoll vornehmen.