Das digitale Schürfen (engl. mining) dient der Erzeugung digitaler Währungen, auch Kryptowährungen genannt. Der Begriff lehnt sich metaphorisch an das Schürfen von Gold an und beschreibt das Generieren digitaler Münzen (engl. coins) mittels zur Verfügung gestellter Rechenleistung. Das Mining ist zentraler Bestandteil vieler Kryptowährungen. Viele davon, wie Bitcoin, nutzen ein sog. Proof of Work Validierungsmodell, welches auf dem Mining basiert. Andere Kryptowährungen, wie neuerdings Ethereum, nutzen ein sog. Proof of Stake Modell.
Das Mining verfolgt zwei Ziele:
- Generieren neuer Kryptowährung (z.B. Bitcoins)
- Validierung, Verarbeitung und Synchronisierung von Daten (z.B. monetäre Transaktionen) in einer Blockchain
Mining am Beispiel von Bitcoin
Im Bitcoin-Netzwerk werden rund um die Uhr Bitcoins zwischen Netzwerkteilnehmern transferiert. Das Bitcoin-Netzwerk wickelt diese Transaktionen ab, indem es alle Transaktionen eines bestimmten Zeitraums sammelt und in einer Liste zusammenfügt – der sogenannte Block. Dieser Datenblock wird mittels eines Hashs „versiegelt“, sodass ein nachträgliches Manipulieren eines Blocks nicht mehr möglich ist. Die dafür benötigte Rechenleistung liefern einige Netzwerkteilnehmer, die sog. Miner. Es ist der Job jedes Miners, Bitcoin-Transaktionen zu verarbeiten, zu speichern und mittels Hash-Werte zu Validieren. Entlohnt werden Miner dafür in Bitcoin.
Validierung der Blockchain mittels Hashes
Wie in dem Artikel Was ist ein Hash? beschrieben, wird die Unverfälschbarkeit der Daten in einer Blockchain mit Hilfe sog. Hashes sichergestellt. Beim Mining wetteifern die Miner darum, Hash-Werte von Datenblöcken schnellstmöglich zu errechnen. Der Hash muss dabei ein bestimmtes Aussehen haben, wie etwa eine bestimmte Anzahl von Nullen am Anfang. Meist sind viele Versuche notwendig, bis der Hash die Anforderung (difficulty) erfüllt. Denn es gibt keine Möglichkeit zu wissen, wie ein Hash aussieht, bevor er nicht produziert wurde. Da er sein Erscheinungsbild mit jedem Stück Datensatz, das hinzugefügt wird, komplett verändert. Der Miner, der einen Transaktionsblock zuerst korrekt validiert, erhält als Gegenleistung einen bestimmten Wert in Bitcoin.
Miner dürfen die im Block befindlichen Daten (z.B. Transaktionen) nicht verändern. Allerdings können sie die Daten erweitern, um einen neuen Hash zu erzeugen, der die Anforderung (z.B. 4 Nullen am Anfang) erfüllt. Dies machen sie, indem sie wieder ein anderes Stück Datensatz, die sog. Nonce, benutzen. Findet der Hash nicht das gewünschte Format, wird die Nonce geändert und der ganze Hash verändert sich abermals. Meist sind viele Versuche notwendig, um die passende Nonce zu finden. Daher arbeiten die Miner meist zur gleichen Zeit im gleichen Netzwerk. Ist die Nonce gefunden, werden die Bitcoins auf alle Miner entsprechend ihrer erbrachten Leistung aufgeteilt.