Kategorien
Digitale Transformation

Wie funktioniert Blockchain?

Erfahren Sie, wie eine Blockchain funktioniert und welche Fachbegriffe mit ihr verbunden sind: Unser aktueller Blogartikel dient als Einführung in die Thematik sowie als Beschreibung des aktuellen Stands.

In diesem Blogartikel werden wir besprechen, wie eine Blockchain funktioniert und einige der damit verbundenen Fachbegriffe definieren. Daher soll dieser Artikel als Einführung in die Materie sowie als Beschreibung des aktuellen Stands dienen.

Woher kommt Blockchain?

Im Jahr 2008 wurde ein Artikel mit dem Titel „Bitcoin: A Peer-to-Peer Electronic Cash System“ in einer auf Kryptographie spezialisierten Mailingliste veröffentlicht. Der Autor wird als Satoshi Nakamoto angegeben. Satoshi Nakamoto ist jedoch ein Pseudonym, die dahinter stehende Person oder Personengruppe ist derzeit nicht öffentlich bekannt. Im Januar 2009 wurde die Version 0.1 der bitcoin-Software veröffentlicht. Das bitcoin-Netzwerk wurde zwischen Computern, auf denen die Software lief, gestartet.

Nakamoto löste das Problem der Doppelverwendung mit einem öffentlichen Kassenbuch, das alle Bitcoin-Transaktionen aufzeichnet und fälschungssicher ist. Dies ist die erste Beschreibung einer Blockchain. Daher sind Blockchain und Bitcoin inhärent miteinander verbunden, da sie aus derselben Veröffentlichung stammen. Blockchain ist jedoch ein spezielles Datenbankdesign, während Bitcoin eine Anwendung ist, die dieses Datenbankdesign nutzt.

Was ist eine Blockchain?

Das ursprüngliche Blockchain-Design wurde als Hauptbuch für die Transaktionen der Kryptowährung Bitcoin verwendet. Wir können sie uns also als eine Liste von Transaktionen vorstellen – Zeitstempel, Quellkonto, Zielkonto, Betrag. In Wirklichkeit ist es komplizierter als das, aber der Einfachheit halber können wir mit dieser Annahme arbeiten. Mehrere Transaktionen werden in einem Block zusammengefasst, vergleichbar mit einer Seite in einem physischen Buch.

In einem physischen Buch sind die Seiten mit Seitenzahlen versehen und die Reihenfolge ist gewissermaßen vorgegeben, wenn die Bindung stabil ist. Dennoch könnte ein geschickter Fälscher das Kassenbuch mit Zeit und physischem Zugang manipulieren. Für das öffentliche Kassenbuch, das die Bitcoin-Transaktionen beherbergt, hat jeder, der ein öffentlich verfügbares Stück Software, bekannt als „Knoten“, betreibt, eine Kopie des Kassenbuchs und akzeptiert Transaktionen, die dem Kassenbuch hinzugefügt werden sollen. Wie werden also betrügerische Änderungen am Kassenbuch verhindert? Die Antwort liegt im „Chain“-Teil des Blockchain-Namens.

Wie werden die Blöcke verkettet?

Prüfsummen sind eine zuverlässige Methode, um übertragene Daten zu verifizieren. Eine Prüfsumme ist eine Zahl, die aus allen übertragenen Daten berechnet und mit den Daten gesendet wird. Der Empfänger berechnet ebenfalls eine Zahl aus den Daten mit demselben Algorithmus und vergleicht sie mit der empfangenen Prüfsumme. Wenn sie identisch ist, ist alles in Ordnung, wenn nicht, wurden die Daten beschädigt und müssen erneut gesendet werden. In IT-Systemen werden die Prüfsummen oft in Formaten dargestellt, die auch Buchstaben und manchmal auch andere Symbole enthalten.

Jeder Block wird verschlüsselt und der resultierende Hash-Wert ist Teil des nächsten Blocks. Diese Grafik zeigt dies mit verschiedenen Farben.
Schema der Blöcke und wie der jeweilige Hash-Wert eines Blocks diesen mit dem nächsten Block verknüpft

Kryptografische Hash-Funktionen (CHF) sind u. a. ein Mittel, um solche Prüfsummen zu erzeugen. Für den Inhalt eines bestimmten Blocks wird ein Hash-Wert berechnet. Dieser Hash-Wert wird als Inhalt zum nächsten Block in der Kette hinzugefügt. Auf diese Weise würde jede Änderung in einem beliebigen Block den Hash-Wert im nächsten Block ändern, der wiederum den Hash-Wert dieses Blocks im nächsten Block ändern würde und so weiter. Die Blöcke sind wie Glieder einer Kette aneinander gebunden.

Was macht die Verkettung manipulationssicher?

Jeden Block in der Kette zu ändern, scheint keine so große Sache zu sein, vorausgesetzt ein Computer könnte das tun. Aber es steckt mehr hinter der Verwendung der Hashes in der Blockchain. CHFs haben die folgenden Eigenschaften:

  • die gleiche Eingabe in die Hash-Funktion ergibt immer den gleichen Hash-Wert.
  • der Algorithmus ist schnell in der Lage, den Hash-Wert für jede gegebene Eingabe zu berechnen.
  • mit vertretbarem Aufwand ist es nicht möglich, eine Eingabe zu erzeugen, die einen gegebenen Hash-Wert ergibt. Das heißt, es ist nicht möglich, den Prozess umzukehren, der den gegebenen Hash-Wert erzeugt hat.
  • mit vertretbarem Aufwand ist es nicht möglich, zwei verschiedene Eingaben mit demselben Hash-Wert zu finden.
  • eine kleine Änderung an der gehashten Information sollte den Hash-Wert erheblich ändern. Daher erscheint ein neuer Hash-Wert ohne Zusammenhang mit dem alten Hash-Wert.

Dies schließt Manipulationen nicht per se aus. Schließlich klingt die schnelle Berechnung der Hashes danach, dass es noch attraktiver ist, Änderungen an einem Block in der Kette vorzunehmen und dann schnell alle Hashes neu zu berechnen. Deshalb gibt es in der originalen Blockchain-Veröffentlichung eine zusätzliche Einschränkung für die Art und Weise, wie Blöcke in der Kette verknüpft werden. Konkret muss der Hash-Wert, wenn er als Zahl betrachtet wird, kleiner als eine bestimmte Sollzahl sein.

Dazu wird dem Inhalt jedes Blocks eine Zufallszahl, ’nonce‘ genannt, hinzugefügt. Dann wird der Hash berechnet. Wenn der Hash größer als die Sollzahl ist, wird eine neue Nonce verwendet, der Hash wird erneut berechnet und so weiter. So lange, bis der Hash die Anforderung erfüllt. Wenn das der Fall ist, wird der Block unter allen Knoten geteilt. Da Hashes schnell zu berechnen sind, können die anderen Knoten innerhalb von Sekundenbruchteilen überprüfen, ob der Block mit dieser bestimmten Nonce die Voraussetzung erfüllt und formal in die Blockchain übernommen wird.

Was ist Hashcash?

Mit der Einschränkung, dass der Hash kleiner als die Sollzahl sein muss, muss man einiges an Rechenleistung aufwenden, um durch systematisches Ausprobieren (trail and error) eine geeignete Nonce zu finden. Damit wird das nachträgliche Ändern eines Blocks und die Neugenerierung aller Blöcke undurchführbar.

Da Rechenleistung Geld kostet, wird diese Methode Hashcash genannt, und es gab sie eigentlich schon vor Bitcoin und der Blockchain. Sie wurde im Jahr 1997 von Adam Back veröffentlicht. (in 1997 by Adam Back.) Hashcash wurde als Schutz gegen Denial-of-Service-Attacken vorgeschlagen, oder um E-Mail-Spam zu reduzieren, indem man E-Mails durch berechnete Hashes im E-Mail-Header effektiv mit einem Preis belegt. Hashcash ist ein Proof-of-Work-Algorithmus, da er von einer Partei verlangt, ein Ergebnis (einen Hash mit einer bestimmten Eigenschaft) vorzulegen, das nur durch die Investition von Rechenleistung erhalten werden kann.

Warum setzt jemand Rechenleistung ein, um Blöcke zu erzeugen?

Es gibt einen Anreiz für jeden, einen Computer zu betreiben und die Nonce zu finden, um den nächsten Block zu bilden. Wenn man erfolgreich ist, erhält man Transaktionsgebühren aus den Transaktionen im Block sowie eine Belohnung in Bitcoin. Diese Belohnung halbiert sich etwa alle 210000 Blöcke, also etwa alle vier Jahre. Sie wird ca. im Jahr 2040 Null erreichen. Dann wird der Anreiz nur noch aus Transaktionsgebühren bestehen. Dies begrenzt auch die Gesamtzahl der verfügbaren Bitcoins. Sie wird 21 Millionen erreichen, sobald kein neuer Bitcoin mehr als Belohnung für die Erzeugung eines Blocks vergeben wird.

Der Prozess der Pflege der Blockchain, der Erzeugung neuer Blöcke und der Verifizierung der von anderen Knoten erzeugten Blöcke wird als „Mining“ bezeichnet. Die spezifische Sollzahl, unter der ein Hash liegen muss, um einen gültigen Block zu bilden, wird regelmäßig angepasst. Nach jedem 2016. Block, der der Blockchain hinzugefügt wird, wird die Sollzahl gesenkt oder erhöht. Die Änderung hängt von der durchschnittlichen Zeit ab, die benötigt wurde, um diese 2016 Blöcke zu erzeugen. Dadurch soll die Zeit, die für die Erzeugung eines Blocks benötigt wird, auf etwa 10 Minuten begrenzt werden.

Ist Bitcoin die einzige Blockchain?

Nein. Erstens gibt es andere Kryptowährungen, von denen die meisten ein verteiltes Kassenbuch mit einem Blockchain-Design als Datenbank verwenden. Sie verwenden auch oft ein Proof-of-Work-Mining-Konzept, um die Integrität der Blockchains zu schützen.

Es gibt auch andere Anwendungen für manipulationssichere Datenbanken. Wir haben die Funktionen zur Verwaltung von digitalen Identitäten (digital identity management) und intelligenter Verträge (smart contracts) in anderen Blogartikeln besprochen und werden weitere Anwendungen in kommenden Artikeln behandeln. Weitere Anwendungen sind das Lieferkettenmanagement und das Verfolgen von Sendungen für Logistikunternehmen. Wenn der Zugriff auf eine Blockchain beschränkt ist, wird die Blockchain als private oder permissioned (autorisierte) Blockchain bezeichnet. Es wird argumentiert, dass jede Organisation, die den Zugriff auf das Netzwerk kontrolliert, die Kontrolle über alle Miner hat. Daher kann eine solche Organisation die Blockchain kontrollieren – und damit ihre fälschungssichere Qualität zunichte machen.

Dennoch gibt es solche autorisierten Blockchains. Ein System mit Anbietern und Lieferanten, die Knoten betreiben und nur anderen Anbietern und Lieferanten in ihrem Arbeitsbereich die Blockchain erlauben, könnte immer noch ein System sein, das vertrauenswürdig ist.

Kostet die ganze Aufbereitung für den Mining-Prozess viel Geld?

Nun, das hängt davon ab, was Sie für viel Geld halten. Der Knoten, der die richtige Nonce findet, um einen Hash zu erzeugen, der einen Block signieren und zur Kette hinzufügen darf, hängt weitgehend von Glück und Rechenleistung ab. Die Miner haben sich daher zu Mining-Pools zusammengeschlossen und teilen den Gewinn aus dem Belohnungsanreiz (falls vorhanden) und den Transaktionsgebühren unter sich auf, je nachdem, wer wie viele Berechnungen zu dem aktiven Block beigetragen hat. Dennoch benötigt die Rechenleistung Energie und verursacht Kosten. Selbst wenn spezialisierte Hardware, welche alle Operationen optimiert ausführt, verwendet wird, sind die benötigten Hash-Algorithmen ein Faktor.

Viele Miner arbeiten daher an Orten, wo Energie billig ist, oft in Ländern, in denen die Regierung die Energiekosten subventioniert, um den Armen zu helfen. Um den Energieverbrauch zu reduzieren, verbot China das Kryptowährungs-Mining in der Region Innere Mongolei. Anfang dieses Jahres nahm die Polizei in Malaysia einen Bitcoin-Mining-Betrieb hoch, der das Stromnetz anzapfte und Strom im Wert von mehr als 2 Millionen US-Dollar stahl.

Auch haben mehrere Studien versucht, den Kohlendioxid (CO2)-Fußabdruck bestimmter Blockchain-Netzwerke zu berechnen. Und während diese Studien aus verschiedenen Gründen kritisiert wurden, wie z. B. die generellen Annahmen, die getroffen wurden, ist es zweifellos nicht ökologisch sinnvoll, eine Blockchain durch Energieverbrauch zu sichern.

Was sind Konsensmechanismen?

Proof-of-Work ist ein sogenannter „Konsensmechanismus“. Netzwerke brauchen diese, um sich über den aktuellen Zustand ihres Netzwerks, oder in diesem Fall, den aktuellen Zustand der Blockchain-Datenbank, zu einigen. Wie bereits erwähnt, erhält bei der Proof-of-Work-Methode derjenige Miner den Zuschlag, der als erster dem Netzwerk eine Nonce vorlegt, die es erlaubt, einen Block mit einem Hash abzuschließen, der die vom Netzwerk gesetzte Voraussetzung erfüllt.

Gibt es Alternativen zu „Proof-of-Work“?

Es gibt weitere Methoden, um den Miner auszuwählen, der den Block bilden darf. Diese Methoden sollen verhindern, dass eine Organisation einfach eine große Anzahl von Knoten zum Netzwerk hinzufügt und es dadurch übernimmt. Dies würde als „51%-Angriff“ bezeichnet werden.

„Proof of Space“ ist eine Konsensmethode, bei der die Miner komplizierte mathematische Rätsel nur einmal lösen und die Ergebnisse speichern, was große Mengen an Speicherplatz beansprucht. Wenn ein Knoten ausgewählt wird, um einen Block zu signieren, muss er die Ergebnisse zufällig ausgewählter Puzzles vorlegen und damit beweisen, dass der Knoten die Ergebnisse tatsächlich gespeichert hat.

Was ist mit „Proof-of-Stake“?

„Proof of stake“ ist ein Set von Methoden mit mehreren Varianten. Grundsätzlich muss ein Knoten beweisen, dass er einen Anteil am Netzwerk hat; normalerweise ist es ein Betrag in der Kryptowährung, die im Netzwerk gehandelt wird. Je höher der Einsatz ist, desto wahrscheinlicher wird der Knoten ausgewählt, um den nächsten Block zu minen. Wenn man über Anreize und Transaktionsgebühren nachdenkt, würde dies diejenigen, die bereits reich sind, noch reicher machen. So gibt es natürlich Varianten des „Proof of Stake“, bei denen Knoten für das Mining des nächsten Blocks gesperrt sind, wenn sie innerhalb der letzten 30 Tage bereits einen Block gemined haben bzw. die Zeit seit dem letzten Mining eines Blocks die Chance erhöht, für das Mining des nächsten Blocks ausgewählt zu werden.

Eines der größten Netzwerke, Ethereum, verwendet eine Proof-of-Stake-Variante in seinem Ethereum-2.0-Design.

Bei anderen Varianten kann jeder Teilnehmer seine Kryptowährung an einen Miner delegieren, so dass sein Einsatz größer ist und er mit größerer Wahrscheinlichkeit den nächsten Block minen kann. Ein Teil der Belohnung wird dann von dem betreffenden Miner behalten, während ein gewisser Prozentsatz an diejenigen geht, die ihren Einsatz an den Miner delegiert haben. In jedem Fall hat jeder Miner einen gewissen Anteil am Netzwerk und damit einen intrinsischen Anreiz, das Netzwerk zu sichern.

Fazit

Als Technologie werden sich Blockchain-Designs durchsetzen. Welche Anwendungen, die Blockchain-Designs verwenden, sich durchsetzen werden, ist schwieriger vorherzusehen. In einigen Gerichtsbarkeiten gibt es Bestrebungen, Kryptowährungen oder den Energieverbrauch für Proof-of-Work-Mechanismen zu regulieren. Aber das ist nur ein kleiner Teil dessen, worum es bei Blockchains geht. Blockchains werden verwendet, um den Widerruf von zertifizierten Berechtigungsnachweisen (certified credentials), Schritte innerhalb von Supply-Chain-Management-Szenarien, intelligenten Verträgen (smart contracts) und viele andere Dinge sicher zu dokumentieren.

Senior Consultant

Heinrich Krebs ist Senior Berater bei ifb. Er arbeitet seit 2015 für ifb und ist Mitglied in der Arbeitsgruppe für Blockchain-Technologien. Hier beschäftigt er sich mit den Themen "Selbstbestimmte digitale Identitäten" und Kryptographie.