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.
- Diskussion um die Blockchain
Experten vom Professor bis zum Praktiker haben sich Anfang Februar in der Computerwoche-Redaktion versammelt, um den Mythos Blockchain zu zergliedern. - Olaf Stöwer, Faizod
„Das Gute am Hype um die Blockchain ist, dass wir bestehende Paradigmen infrage stellen“, sagt Olaf Stöwer, Head of Operations der Dresdner Firma Faizod. - Raimund Gross, SAP
Raimund Gross, Innovation Manager Blockchain bei SAP: „Wir bewegen uns weg von zentralisierten Systemen hin zum Dezentralen. Das erfordert neues Denken und Handeln in Netzwerken. Das fällt vielen schwer.“ - Andrea Martin, IBM
Andrea Martin, Chief Technology Officer bei IBM: „Interesse bekommen wir nur über Use Cases.“ - Robert Bosch, Bearingpoint
Dr. Robert Bosch, Partner bei Bearingpoint: "Viele Marktteilnehmer zäumen das Pferd von hinten auf, nach dem Motto: ,Wir haben eine neue Technologie. Was können wir jetzt damit machen?'" - Dr. Rainhard Z. Bengez, Capgemini
Professor Rainhard Z. Bengez, Senior Manager bei Capgemini Consulting: "Wir versuchen, Misstrauen zu kommerzialisieren." - Burkhard Blechschmidt, Cognizant
Burkhard Blechschmidt, Head of CIO Advisory bei Cognizant: "Es handelt sich um eine geniale Kombination von teils lange bekannten Technologien und mathematischen Modellen“. - Franz Nees, Hochschule Karlsruhe
Professor Franz Nees, Hochschule Karlsruhe Technik und Wirtschaft: "Geht es um neue Wertschöpfungsmodelle – oder ,nur' um mehr Effizienz?"
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.
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)
- Blockchain
Blockchain wird in den kommenden Jahren zur Schlüsseltechnologie in der IT werden. - (1) Transaktion
Die Transaktion ist die elementare Grundeinheit der Blockchain. Zwei Parteien tauschen Informationen miteinander aus. Dies kann der Transfer von Geld oder Vermögenswerten, der Abschluss eines Vertrags, eine Krankenakte oder eine Urkunde sein, die digital gespeichert wurde. Transaktionen funktionieren im Prinzip wie das Versenden von E-Mails. - (2) Verifizierung
Die Verifizierung prüft, ob eine Partei die entsprechenden Rechte für die Transaktion hat. Die Prüfung erfolgt augenblicklich oder es wird in eine Warteschlange geschrieben, die die Prüfung später durchführt. An dieser Stelle werden Knoten, also Computer oder Server im Netzwerk, eingebunden und die Transaktion verifiziert. - (3) Struktur
Die Transaktionen werden zu Blöcken zusammengefasst, wobei diese mit einer Hash-Funktion als Bit-Nummer verschlüsselt werden. Die Blöcke können durch die Zuweisung des Hash-Wertes eindeutig identifiziert werden. Ein Block enthält einen Header, eine Referenz auf den vorhergehenden Block und eine Gruppe von Transaktionen. Die Abfolge der verlinkten Hashes erzeugt eine sichere und unabhängige Kette. - (4) Validierung
Bevor die Blöcke erzeugt werden, müssen die Informationen validiert werden. Das am meisten verbreitete Konzept für die Validierung von Open-Source-Blockchains ist das „Proof of Work“-Prinzip. Dieses Verfahren stellt in der Regel die Lösung einer schweren mathematischen Aufgabe durch den Nutzer beziehungsweise dessen Computer dar. - (5) Blockchain Mining
Der Begriff Mining stammt aus der Bergbau und meint das „Schürfen“. Bei diesem Vorgang wird der Block erzeugt und gehasht. Um zum Zug zu kommen, müssen die Miner ein mathematisches Rätsel lösen. Wer als Erstes die Lösung hat, wird als Miner akzeptiert. Der Miner erhält für seine Arbeit ein Honorar in Form von Kryptowährung (Bitcoin). - (6) Die Kette
Nachdem die Blöcke validiert wurden und der Miner seine Arbeit verrichtet hat, werden die Kopien der Blöcke im Netzwerk an die Knoten verteilt. Jeder Knoten fügt den Block an der Kette in unveränderlicher und unmanipulierbarer Weise an. - (7) Verteidigung
Wenn ein unehrlicher Miner versucht, einen Block in der Kette zu ändern, so werden auch die Hash-Werte des Blockes und der nachfolgenden Blöcke geändert. Die anderen Knoten werden diese Manipulation erkennen und den Block von der Hauptkette ausschließen.