Was ist Blockchain?
Kurz gesagt ist eine Blockchain eine Liste von Datensätzen, die als dezentrales digitales Hauptbuch fungiert. Die Daten sind in Blöcken organisiert, die chronologisch angeordnet und durch Kryptografie gesichert sind.
Das erste Modell einer Blockchain entstand Anfang der 1990er Jahre, als der Informatiker Stuart Haber und der Physiker W. Scott Stornetta kryptografische Techniken in einer Kette von Blöcken verwendeten, um digitale Dokumente vor Datenmanipulation zu schützen.
Die Arbeit von Haber und Stornetta inspirierte zweifellos die Arbeit vieler anderer Informatiker und Kryptographie-Enthusiasten – was letztendlich zur Schaffung von Bitcoin als erstem dezentralisierten elektronischen Bargeldsystem (oder einfach der ersten Kryptowährung) führte.
Obwohl die Blockchain-Technologie älter ist als Kryptowährungen, wurde ihr Potenzial erst nach der Einführung von Bitcoin im Jahr 2008 erkannt. Seitdem ist das Interesse an der Blockchain-Technologie allmählich gewachsen und Kryptowährungen werden nun in größerem Umfang anerkannt.
Die Blockchain-Technologie wird hauptsächlich zur Aufzeichnung von Kryptowährungstransaktionen verwendet, eignet sich aber auch für viele andere Arten digitaler Daten und kann in einer Vielzahl von Anwendungsfällen eingesetzt werden. Das älteste, sicherste und größte Blockchain-Netzwerk ist Bitcoin, das mit einer sorgfältigen und ausgewogenen Kombination aus Kryptografie und Spieltheorie entwickelt wurde.
Wie funktioniert Blockchain?
Im Kontext von Kryptowährungen besteht eine Blockchain aus einer stabilen Kette von Blöcken, von denen jeder eine Liste zuvor bestätigter Transaktionen speichert. Da das Blockchain-Netzwerk von unzähligen Computern auf der ganzen Welt verwaltet wird, fungiert es als dezentrale Datenbank (oder Hauptbuch). Dies bedeutet, dass jeder Teilnehmer (Knoten) eine Kopie der Blockchain-Daten verwaltet und sie miteinander kommunizieren, um sicherzustellen, dass sie alle auf derselben Seite (oder demselben Block) sind.
Daher finden Blockchain-Transaktionen innerhalb eines globalen Peer-to-Peer-Netzwerks statt, und das macht Bitcoin zu einer dezentralen digitalen Währung, die grenzenlos und zensurresistent ist. Darüber hinaus gelten die meisten Blockchain-Systeme als vertrauenslos, da sie keinerlei Vertrauen erfordern. Es gibt keine einzelne Autorität, die Bitcoin kontrolliert.
Ein zentraler Bestandteil fast jeder Blockchain ist der Mining-Prozess, der auf Hash-Algorithmen basiert. Bitcoin verwendet den SHA-256-Algorithmus (Secure Hash Algorithm 256 Bits). Er nimmt eine Eingabe beliebiger Länge entgegen und erzeugt eine Ausgabe, die immer dieselbe Länge hat. Die erzeugte Ausgabe wird als „Hash“ bezeichnet und besteht in diesem Fall immer aus 64 Zeichen (256 Bits).
Die gleiche Eingabe führt also zur gleichen Ausgabe, egal wie oft der Vorgang wiederholt wird. Wenn jedoch eine kleine Änderung an der Eingabe vorgenommen wird, ändert sich die Ausgabe vollständig. Hash-Funktionen sind daher deterministisch und in der Welt der Kryptowährungen sind die meisten von ihnen als Einweg-Hash-Funktionen konzipiert.
Da es sich um eine Einwegfunktion handelt, ist es fast unmöglich, die Eingabe aus der Ausgabe zu berechnen. Man kann nur raten, was die Eingabe war, aber die Wahrscheinlichkeit, es richtig zu erraten, ist äußerst gering. Dies ist einer der Gründe, warum die Blockchain von Bitcoin sicher ist.
Nachdem wir nun wissen, was der Algorithmus macht, demonstrieren wir anhand eines einfachen Transaktionsbeispiels, wie eine Blockchain funktioniert.
Stellen Sie sich vor, wir haben Alice und Bob und ihre Bitcoin-Guthaben. Nehmen wir an, Alice schuldet Bob 2 Bitcoins.
Damit Alice Bob diese 2 Bitcoins senden kann, sendet Alice eine Nachricht mit der Transaktion, die sie durchführen möchte, an alle Miner im Netzwerk.
Bei dieser Transaktion gibt Alice den Minern Bobs Adresse und die Menge an Bitcoins, die sie senden möchte, zusammen mit einer digitalen Signatur und ihrem öffentlichen Schlüssel. Die Signatur wird mit Alices privatem Schlüssel erstellt und die Miner können bestätigen, dass Alice tatsächlich die Besitzerin dieser Coins ist.
Sobald die Miner sicher sind, dass die Transaktion gültig ist, können sie sie zusammen mit vielen anderen Transaktionen in einen Block einfügen und versuchen, den Block zu minen. Dies geschieht, indem der Block durch den SHA-256-Algorithmus geleitet wird. Die Ausgabe muss mit einer bestimmten Anzahl von Nullen beginnen, um als gültig zu gelten. Die Anzahl der benötigten Nullen hängt von der sogenannten „Schwierigkeit“ ab, die sich je nach der Rechenleistung des Netzwerks ändert.
Um am Anfang einen Ausgabe-Hash mit der gewünschten Anzahl von Nullen zu erzeugen, fügen die Miner dem Block einen sogenannten „Nonce“ hinzu, bevor sie ihn durch den Algorithmus laufen lassen. Da eine kleine Änderung der Eingabe die Ausgabe komplett verändert, probieren die Miner zufällige Nonces aus, bis sie einen gültigen Ausgabe-Hash finden.
Sobald der Block geschürft ist, sendet der Miner den neu geschürften Block an alle anderen Miner. Diese prüfen dann, ob der Block gültig ist, damit sie ihn zu ihrer Kopie der Blockchain hinzufügen können und die Transaktion abgeschlossen ist. In den Block müssen die Miner jedoch auch den Ausgabe-Hash des vorherigen Blocks einfügen, damit alle Blöcke miteinander verknüpft sind (daher der Name Blockchain). Dies ist ein wichtiger Teil, da Vertrauen im System funktioniert.
Jeder Miner hat seine eigene Kopie der Blockchain auf seinem Computer und jeder vertraut der Blockchain, in die die meiste Rechenarbeit gesteckt wurde, der längsten Blockchain. Wenn ein Miner eine Transaktion in einem vorherigen Block ändert, ändert sich der Ausgabe-Hash für diesen Block, was dazu führt, dass sich auch alle Hashes danach ändern, da die Blöcke mit Hashes verknüpft sind. Der Miner müsste die ganze Arbeit wiederholen, damit irgendjemand seine Blockchain als die richtige akzeptiert. Wenn ein Miner also betrügen wollte, bräuchte er mehr als 50 % der Rechenleistung des Netzwerks, was sehr unwahrscheinlich ist. Netzwerkangriffe wie dieser werden daher 51-%-Angriffe genannt.
Das Modell, bei dem Computer arbeiten, um Blöcke zu produzieren, heißt Proof-of-Work (PoW). Es gibt auch andere Modelle wie Proof-of-Stake (PoS), die nicht so viel Rechenleistung erfordern und weniger Strom verbrauchen sollen, während sie gleichzeitig auf mehr Benutzer skalierbar sind.