Bezahlen mit Bitcoins – diese Technik steckt hinter der Kryptowährung

So funktioniert das Bitcoin-System...

Werbung

Mining – mehr als Goldgräberstimmung

Es wurde vorhin bereits angedeutet, dass Max im Grunde auch selbst Bitcoins hätte erzeugen können. Diesen Prozess nennt man „Mining“.

Daran teilnehmen kann und darf jeder, der die dafür erforderliche potente Hardware besitzt – oder der mit anderen in einem Mining-Pool zusammenarbeitet und so von der gemeinsamen Rechenleistung vieler profitiert.


Werbung


Die Aufgaben der Miner

Aber beim Mining geschieht mehr als nur das Generieren neuer Bitcoins. Die wichtigste Aufgabe ist vielmehr das Kontrollieren und Verbuchen der an das Peer-to-Peer-Netzwerk gesendeten Transaktionen.

Erhält ein Miner eine neue Transaktion über das System, so wird diese zuerst auf Gültigkeit geprüft (Signaturen, Input/Output, etc.). Gültige Transaktionen packt der Miner in einen Block, also sozusagen in eine Liste von offenen Buchungen. Versehen wird der so erzeugte Block noch mit einem Zeitstempel, dem Hash des vorangegangenen gültigen Blocks aus der Blockchain sowie einer Zahl, der sogenannten „Nonce“ (englisch für „vorübergehend“, „vorläufig“).

Von diesem Paket erzeugt der Miner nun einen Hashwert, indem zweimal der SHA-256-Algorithmus angewendet wird. Dieser Hash muss kleiner sein, als ein vom Bitcoin-System vorgegebener Wert. Genau das macht es so schwierig und erfordert eine hohe Rechenleistung:

Kryptographische Hash-Funktionen sind nicht umkehrbar. Das bedeutet, man kann vom Hash-Wert nicht auf den als Basis verwendeten Datenstrom schließen. Bereits kleinste Änderungen am Datenstrom erzeugen dabei ein völlig abweichendes Ergebnis.

Beispiel einer einfachen Hashfunktion (MD5):

14All – das digitale Technik-Magazin für IT & Wissen! -> 6a1193c5b8e0323c2ec7ab3f2ec48aa1
14All – das digitale Technik-Magazin für IT + Wissen! -> 0dd9aaf61b7773fe597c52c0756f67ba

Die Berechnung des MD5-Hashwerts hat nur einen Wimpernschlag gedauert; den ursprünglichen Text wiederherzustellen ist selbst bei einer inzwischen als veraltet eingestuften Hashfunktion wie MD5 unmöglich.

Von Noncen, Nullen und Schwierigkeitsgraden

Bei der Nonce handelt es sich um einen 4-Byte großen Wert, der so ausgewählt wird, dass der erzeugte Hash eine Reihe führender Nullen enthält. Da jede Änderung am Datenblock – einschließlich der Nonce – einen anderen Hash erzeugt, wird die Nonce vom Miner immer wieder verändert. Und zwar solange, bis der Hash die erforderliche Anzahl von Nullen besitzt.

Die notwendige Zahl von Nullen wird durch die Schwierigkeit festgelegt, welche die Geschwindigkeit der Erzeugung neuer Blöcke steuert. Dieser Wert hängt von der Rechenleistung des Bitcoin-Netzwerks ab und wird nach der Generierung von 2016 Blöcken (ca. alle 14 Tage) neu ausgehandelt. Als Zielvorgabe ist gesetzt, dass die Erzeugung eines Blocks ungefähr zehn Minuten dauern soll.

Warum dieser Aufwand? Hinter jeder Währung stecken wertbestimmende Faktoren. Das können Gold- und Devisenreserven sein, aber auch die Wirtschaftsleistung des Landes, welche die Währung herausgibt. Im Fall von Bitcoin handelt es sich um die von den Minern zur Verfügung gestellte Rechenleistung.

Um darüber einen Nachweis erbringen zu können, muss eben jener Hash berechnet werden: Der Miner oder die Gruppe an kollaborierenden Minern, welche als erste erfolgreich einen validen Block erzeugen (also einen Block mit der passenden Zahl von Nullen im Hash), erhalten zur Belohnung eine bestimmte Anzahl Bitcoins sowie die Transaktionsgebühren.

Schematische Darstellung des Minings: Gesammelte Transaktionen werden in Blöcke gepackt, von Minern geprüft und dann an die Blockchain angehängt.
Schematische Darstellung des Minings: Gesammelte Transaktionen werden in Blöcke gepackt, von Minern geprüft und dann an die Blockchain angehängt.

Ab in die Blockchain…

Ein valider Block wird an die Blockchain angehängt. Da jeder Block den Hashwert des vorangegangenen Blocks enthält, entsteht mit zunehmender Kettenlänge eine manipulationssichere Liste aller Transaktionen.

Wie schon erwähnt kann man die Blockchain als eine Art kollektiv geführtes Buchhaltungssystem betrachten. Nur Transaktionen, die darin aufgeführt sind und durch immer neue Kettenglieder wieder und wieder bestätigt werden, bleiben gültig.

Darstellung der Blockchain - essentieller Teil der Kryptowährung Bitcoin. Nur das längste Kettenglied ist gültig, alle anderen werden verworfen.
Darstellung der Blockchain – essentieller Teil der Kryptowährung Bitcoin. Nur das längste Kettenglied ist gültig, alle anderen werden verworfen.

Das rechenintensive Mining schützt vor Manipulation: Denn um einen Block aus der Mitte der Kette in böswilliger Absicht zu verändern, müsste ein Miner auch alle nachfolgenden Blöcke modifizieren.

Solche Angriffe sind natürlich denkbar (und kommen immer wieder vor). Doch das Bitcoin-Netzwerk erkennt nur das längste Kettenglied als valide an, alle anderen Zweige werden verworfen. Um erfolgreich zu sein, müsste ein Angreifer also mehr Rechenleistung erbringen als alle ehrlichen Miner zusammen. Ein aussichtsloses Unterfangen.

Werbung