Computer auf der ganzen Welt "schürfen" nach Bitcoin, indem sie miteinander konkurrieren, um komplexe kryptografische Probleme zu lösen. Menschen führen ständig Transaktionen auf der Bitcoin-Blockchain durch, und alle Transaktionen müssen im öffentlichen Hauptbuch aufgezeichnet werden. In zentralisierten Systemen gibt es eine einzige maßgebliche Instanz, die alle Transaktionen verfolgt. Wenn der Wächter des Hauptbuchs offline geht oder gehackt wird, funktioniert das ganze System nicht mehr. Das Bitcoin-Hauptbuch, die so genannte Bitcoin-Blockchain, wird von einer Vielzahl unabhängiger Stellen auf der ganzen Welt verteilt und gepflegt. Dies garantiert eine unübertroffene Widerstandsfähigkeit und Zensurresistenz von Bitcoin im Vergleich zu zentralisierten Hauptbüchern.
Da es bei Bitcoin keine einzige Instanz gibt, müssen sich unabhängige Transaktionsverarbeiter auf ein gemeinsames Hauptbuch einigen. Die Bitcoin Blockchain verwaltet dies, indem sie frisch getätigte Transaktionen in Listen sammelt, die Blöcke genannt werden. Jedes Mal, wenn ein neuer Block von Transaktionen erstellt wird, wird er der Bitcoin-Blockchain hinzugefügt, wodurch eine immer längere Liste aller Transaktionen entsteht, die jemals im Bitcoin-Netzwerk stattgefunden haben. Es ist die Aufgabe der Miner, die erstellten Blöcke zu bestätigen und den Inhalt des Blocks durch die Lösung eines kryptografischen Problems zu sichern. Sobald das Problem gelöst ist, wird der Block dem öffentlichen Hauptbuch aller aufgezeichneten Transaktionen hinzugefügt. Dieser Block wird über das Bitcoin-Netzwerk verbreitet, so dass alle Teilnehmer ihre lokalen Kopien des Hauptbuchs aktualisieren können.
Wie können wir sicher sein, dass die Bitcoin-Blockchain niemals manipuliert wird? Hier kommen die Bergleute ins Spiel.
Wenn ein Transaktionsblock erstellt wird, arbeiten Miner daran, das kryptografische Problem zu lösen, das das Hinzufügen des Blocks zur Bitcoin-Blockchain ermöglichen würde. Dazu nehmen sie die Informationen im Block und wenden darauf eine mathematische Formel an. Diese Formel wandelt die Informationen aus dem Block in eine kurze, zufällige Folge von Zahlen und Buchstaben um. Dies wird als kryptografischer Hash bezeichnet. Ein Hash jedes Blocks muss eine Einschränkung erfüllen: Der als große Ganzzahl behandelte Hash sollte kleiner oder gleich dem aktuellen Netzwerkschwierigkeitsziel sein. Das Ziel wird dynamisch geändert, sodass es durchschnittlich 10 Minuten dauert, einen gültigen Block zu finden.
HASHES HABEN EINIGE INTERESSANTE EIGENSCHAFTEN. ES IST EINFACH, EINEN HASH AUS EINER SAMMLUNG VON DATEN WIE EINEM BITCOIN-BLOCK ZU ERZEUGEN, ABER ES IST PRAKTISCH UNMÖGLICH, ANHAND DES HASHES HERAUSZUFINDEN, WAS DIE DATEN WAREN. WENN MAN DEN HASH VON EINIGEN DATEN HAT, IST ES IM ALLGEMEINEN UNMÖGLICH, RÜCKWÄRTS ZU ARBEITEN UND HERAUSZUFINDEN, WAS DIE URSPRÜNGLICHEN DATEN WAREN.
Obwohl es sehr einfach ist, aus einer großen Datenmenge einen Hash zu erstellen, ist jeder Hash einzigartig. Wenn Sie nur ein Zeichen in einem Transaktionsblock ändern, ändert sich der Hash des Blocks völlig unvorhersehbar. Aufgrund dieser Eigenschaft ist es schwierig, einen Block mit einem gültigen Hash zu generieren. Das Beste, was Sie tun können, ist, den Inhalt des Blocks iterativ zu ändern und zu prüfen, ob sein Hash den Gültigkeitskriterien entspricht. Es ist eine sehr rechenintensive Aufgabe; Um einen gültigen Bitcoin-Block zu generieren, müssen seit Anfang 2016 durchschnittlich mehr als 100.000.000.000.000.000.000 Iterationen durchgeführt werden. Es ist keine Überraschung, dass das Bitcoin-Mining nicht mehr auf PCs durchgeführt wird. Stattdessen verwenden Miner spezielle Hardware.
Beim Hashen eines Blocks arbeiten Miner nicht nur mit den Transaktionen. Sie verwenden auch den Hash des letzten bestätigten Blocks in der Bitcoin-Blockchain; das heißt, jeder Block verweist auf den vorherigen. Da der Hash jedes Blocks unter Verwendung des Hash des Blocks davor erstellt wird, wird er zu einer digitalen Version eines Wachssiegels. Es bestätigt, dass dieser Block – und jeder Block davor – legitim ist. Wenn jeder Block auf einen bestimmten Transaktionsblock gestapelt wird, steigt das Vertrauen in den Block.
Wenn ein böswilliger Akteur versuchen würde, eine Transaktion zu fälschen, indem er einen Block ändert, der bereits in der Bitcoin-Blockchain gespeichert war, würde dies den Hash dieses Blocks ändern. Wenn jemand die Authentizität des Blocks überprüfen würde, indem er die Hashing-Funktion darauf ausführt, würde er feststellen, dass sich der Hash von dem unterscheidet, auf den der nächste Block verweist. Der Angreifer müsste alle Blöcke nach dem Block ändern, den er ändern möchte. Darüber hinaus müsste er eine längere neue Blockkette generieren als alle anderen Miner, damit das Netzwerk die Änderung des Angreifers akzeptieren kann. Dies würde Ausgaben in zweistelliger Millionenhöhe erfordern.
Um Bitcoin zu verdienen, arbeiten Miner daran, als Erster ein Block-Hash-Problem zu lösen, das in das Bitcoin-Protokoll passt. Jedes Mal, wenn jemand das Problem erfolgreich löst, erhält er eine Belohnung, die aus zwei Teilen besteht: neu erstellte Bitcoins und Gebühren aus den im Block enthaltenen Transaktionen. Seit Anfang 2016 erzeugt jeder Block 25 neue Bitcoins und die Transaktionsgebühren betragen etwa 0,5 Bitcoins.