Kaum eine IT-Innovation hat in den vergangenen Monaten mehr Gesprächsstoff geliefert als die Blockchain. Dank der raffinierten Kombination bewährter Technologien und Verschlüsselungsmechanismen soll die Technologie manipulationssicher sein. Darüber hinaus soll sie ihre Nutzer unabhängig machen von monolithischen Systemen und den damit verbundenen Risiken. Und: Blockchain soll die Basis für völlig neue Geschäftsmodelle bilden.
Die bis dato bekannteste Blockchain-Anwendung ist Bitcoin - ein weltweit verwendbares, dezentrales Zahlungssystem mit digitaler Währung, an dessen Beispiel sich gut veranschaulichen lässt, wie das Prinzip der Blockchain funktioniert.
So funktioniert die Bitcoin Blockchain
Wie alle Blockchains ist auch die Bitcoin Blockchain eine dezentral organisierte Datenbank, die von mehreren Parteien betrieben wird. In ihr sind alle bisherigen Transaktionen in "verketteten" Blöcken dokumentiert. Neue Transaktionen werden in neuen Blöcken hinzugefügt. In der Sprache der Buchhalter wäre die Blockchain das Hauptbuch in einem gigantischen Buchhaltungssystem. Allerdings sind die Informationen im Fall der Blockchain eben nicht zentral abgelegt, sondern werden redundant auf allen Knoten der Kette gehalten.
Die Netzwerk-Teilnehmer verwalten die dezentrale Bitcoin-Datenbank anhand des zugehörigen Protokolls und tätigen Bitcoin-Transaktionen. Als Sender und Empfänger sind sie Teilnehmer des Netzwerks und können jederzeit nachvollziehen, wie viele Bitcoins von wo nach wo transferiert wurden - die hinter den Adressen stehenden Personen allerdings bleiben anonym.
Die so genannten Miner betreiben und sichern das Bitcoin-Netzwerk, indem sie mehrere Transaktionen zusammenfassen und validieren. Neue Transaktionen werden in einem neuen Block dokumentiert und an das Ende der Kette angehängt. Mit jedem neuen Block aktualisiert sich die Kette auf jedem Knoten im Blockchain-Netz. Damit verfügt jeder Teilnehmer des Netzwerks über die gleichen Informationen und Voraussetzungen, um am System teilzunehmen und neue Informationen hinzuzufügen. Miner kann grundsätzlich jeder sein, der die quelloffene Bitcoin Software herunterlädt und seine Rechnerkapazität zur Verfügung stellt.
Zum Video: So funktioniert Blockchain
Das ist die Bitcoin Wallet
Bitcoin-Konten können mit Hilfe einer virtuellen Wallet (englisch "Geldbörse") verwaltet werden. Die Wallet generiert ein Schlüsselpaar, bestehend aus einem privaten und einem öffentlichen Schlüssel. Der öffentliche Schlüssel (Public Key) wird in eine öffentliche Adresse umgewandelt - die für jeden sichtbare "Kontonummer". Der private Schlüssel (Private Key) wird nicht offenbart. Er ist Teil einer digitalen Unterschrift, mit der jede Transaktion zu signieren ist. Die nahezu unendlich große Anzahl möglicher Schlüssel macht es beinahe unmöglich, einen solchen zu "erraten".
Eine Bitcoin-Transaktion erfordert:
die öffentliche Adresse des Empfänger-Kontos
den Überweisungsbetrag
die öffentliche Adresse des Sender-Kontos
den Private Key zu dieser öffentlichen Adresse, um Transaktionen ausgehend von diesem Konto zu signieren
Informationen wie Kartennummern, Namen oder Adressen sind nicht erforderlich. Die Teilnehmer wickeln ihre Transaktionen zudem ohne Intermediär ab.
Wie Bitcoin Mining abläuft
Neu angestoßene Transaktionen werden mit Hilfe der Miner an die Blockchain angehängt. Hierzu fassen die Miner Transaktionen eines bestimmten Zeitraums zusammen und versuchen, einen neuen Block zu erzeugen. Dieser neue Block wird über ein spezielles Konsensverfahren geschaffen. Im Falle der Bitcoin Blockchain muss für die Erzeugung des neuen Blocks eine kryptografische Aufgabe gelöst werden. Dazu wenden die Miner unter anderem die Hash-Funktion SHA-256 an.
Für die Aufgabe dienen die folgenden drei Größen als Input:
der Previous Hash (256 Bit): aktuellster Block der Blockchain als Anknüpfungspunkt.
die Merkle Root: ein Wert, der durch paarweises "Hashen" der einzuwebenden Transaktionen mithilfe eines Hash-Baums / Merkle Trees erzeugt wird. Beim letzten Hashwert handelt es sich um den Root Hash / Merkle Root.
die Nonce: frei wählbarer Wert, um sicherzustellen, dass eine Lösung gefunden werden kann (Variable, nach welcher die Aufgabe aufgelöst werden muss).
Output muss laut Bitcoin-Protokoll ein neuer Hash sein, bei dem die ersten 17 Bits mit Nullen belegt sind. Dieser neue Hash ist nur zu finden, indem die Miner-Rechner so lange herumprobieren und immer wieder die Nonce austauschen, bis die Aufgabe gelöst ist. Dieses ausgesprochen rechenintensive Konsensverfahren wird "Proof-of-Work" (PoW) genannt.
Zum Video: So funktioniert Blockchain
Der Miner, der zuerst den neuen Hash errechnet, veröffentlicht den Block im Netzwerk. In diesem Moment prüfen die an der Blockchain beteiligten Knoten, ob der neu erzeugte Block valide ist. Das ist dann der Fall, wenn die verwendeten Input-Größen ("Previous Hash" und eingewebte Transaktionen) gemeinsam mit der gewählten Nonce den neuen Hashwert mit x führenden Nullen ergeben. Die Prüfung dieser Tatsache - das heißt das Nachrechnen der gelösten Aufgabe - dauert lediglich den Bruchteil einer Sekunde, wohingegen das Finden einer Lösung mehrere Minuten in Anspruch nehmen kann.
Miner werden für den Erhalt des Netzes durch Bereitstellung von Rechenleistung und Erzeugung neuer Blöcke belohnt. Derjenige Miner, der zuerst den nächsten Block erzeugt, erhält unter anderem eine protokollarisch festgelegte Belohnung von derzeit 12,5 Bitcoin.
So kam es zum Bitcoin-Blockchain-Fork
Bei der Erzeugung eines neuen Blocks kann es passieren, dass mehrere Miner gleichzeitig neue Blöcke finden. Die Blockchain verzweigt dann für kurze Zeit in mehrere mögliche Fortsetzungen, die miteinander konkurrieren. Eine sogenannte Fork (englisch "Gabelung") liegt vor. Existieren mehrere Fortsetzungsstränge, docken die Miner so lange an deren Enden an, bis ein Strang länger ist. Der Block mit den meisten Unterstützern setzt sich schließlich durch. Die längste Kette wird von allen Knoten als die gültige akzeptiert, da hinter ihr der größte Rechenaufwand steht.
Gabelungen entstehen auch dann, wenn der Code der Blockchain geändert wird, aber nicht alle Miner und Teilnehmer des Netzwerks den neuen Regeln folgen. Das ist beispielsweise dann der Fall, wenn Uneinigkeit bei der Lockerung oder Verschärfung der Regeln für die Verifizierung eines Blocks herrscht. Im ungünstigsten Fall folgt ein Teil der Community einem eigenen Konzept und nimmt eine Abspaltung von der ursprünglichen Blockchain in Kauf. Werden anschließend beide Stränge aufrechterhalten, erhält man als Ergebnis zwei Blockchains, die jeweils nach ihren eigenen Regeln funktionieren.
Anfang August 2017 wurde eine solche Spaltung der Bitcoin Blockchain bewusst erzwungen: eine sogenannte User Activated Fork (UAF). Damit wurde eine alternative Kette erzeugt: Bitcoin Cash. Der Abspaltung ging ein jahrelanger Streit um die Erhöhung der maximalen Blockgröße von Bitcoin voraus. Eine Gruppe von Minern, Entwicklern, Investoren und Bitcoin-Nutzern wollte die technische Beschränkung der Blockgröße auf maximal ein Megabyte nicht mehr akzeptieren. Denn die Größe des Blocks limitiert, wie viele Transaktionen pro Sekunde durchgeführt werden können. Laut Bitcoin-Protokoll sind dies aktuell sieben Transaktionen pro Sekunde.
Angesichts des enormen Wachstums des Netzwerks und der steigenden Anzahl an Transaktionen ist das ein Problem. Da jedoch lediglich ein Teil der Community die weitreichenden Code-Änderungen befürwortete, war die Spaltung so gut wie sicher. Bitcoin Cash wurde als Kopie der Bitcoin Blockchain abgespalten. Mit der Aufrechterhaltung dieser Kette wird ein Software-Update umgesetzt, das die Blockgröße auf acht Megabyte erhöhen soll. Damit können zukünftig mehr Transaktionen pro Sekunde durchgeführt werden. Ob Bitcoin und Bitcoin Cash langfristig koexistieren können, muss sich zeigen.
Die ewige Blockchain
Gemäß klassischem Bitcoin-Protokoll wird etwa alle zehn Minuten ein neuer Block erstellt und der Kette hinzugefügt. Ist das geschehen, gelten die im neuen Block dokumentierten Transaktionen als formal bestätigt. Der "new hash" wird nun zum Anknüpfungspunkt für die Erzeugung des nächsten Blocks. Nach vier bis sechs Bestätigungen - also neu hinzugefügten Blöcken - gelten Bitcoin-Transaktionen in der Praxis als unveränderbar und sind damit Teil der "ewigen" Blockchain.
Zum Video: So funktioniert Blockchain
Durch die aufeinander aufbauende Speicherung von Daten in einer Blockchain ist eine nachträgliche Änderung nicht möglich, ohne die Integrität des Gesamtsystems zu beschädigen. Würde ein Angreifer versuchen, eine Transaktion zu manipulieren, indem er einen bereits bestehenden Block in der Kette ändert, so müsste er auch den gespeicherten Hash verändern. Eine Überprüfung des Blocks mit der Hashing-Funktion würde den Block sogleich als Fälschung entlarven, da der veränderte Hash nicht mit dem in der Blockchain übereinstimmt. Da jeder Hash eines Blocks dazu genutzt wird, auch den Hash des nächsten Blocks in der Blockchain zu generieren, würde eine Manipulation sich auch auf alle folgenden Hashes auswirken. Das macht die Manipulation von Daten in der Blockchain beinahe unmöglich. Ein Angreifer müsste mehr als 50 Prozent der Rechenleistung des gesamten Netzwerks erbringen, um schneller Blöcke zu erzeugen als die restlichen Teilnehmer und so die Blockchain zu manipulieren.
Inzwischen gibt es bereits Blockchain-Anwendungen, die Smart Contracts ermöglichen. Smart Contracts sind Programme, die von allen Knoten der Blockchain ausgeführt werden (auch: Chaincode genannt). Basierend auf dem "Wenn-Dann-Prinzip", führen diese Programme entsprechende Maßnahmen des Vertrages aus, die an bestimmte Vertragsbedingungen geknüpft sind. Die Vertragspartner interagieren direkt über die Blockchain. Vermittler wie Notare, Anwälte, Börsen oder Banken werden nicht mehr benötigt. Über Smart Contracts lässt sich auch verbindliche, intermaschinelle Kommunikation via IoT realisieren - etwa, wenn in eine Mautstrecke eingefahren wird und das Auto direkt über die Blockchain bezahlt.
Das Blockchain-Prinzip dürfte also völlig neuen, digital gestützten Geschäftsmodellen den Weg ebnen. (fm)