Mining – Was ist Mining?

Bitcoin Mining – Was ist das?

 

Eine leicht verständliche Erklärung des Proof oWork-Konzepts aka Mining findet ihr in diesem Video!

Siehe vorher: Blockchain-Grundlagen   |   Wallets – Wie lagere ich Coins?

 

Viele Cryptocurrencies setzen auf das Proof of Work (PoW) Konzept. Das bedeutet, für das Errechnen von Kalkulationen, also erledigen von Arbeit für das Peer-to-Peer Netzwerk, erhalten Miner eine Belohnung. (Block-Reward) Die Höhe dieser Belohnung ist abhängig von der Höhe der Transaktionsgebühr (Transaction fee) der im Block enthaltenen Transaktionen.
 
 

Aber was passiert da eigentlich auf der Code-Seite?

Zu Beginn einer Mining-Session und des neuen Blocks beginnt der Computer eine kryptographische Hashfunktion (zwei Runden SHA256) aus.

Den sogenannten Block Header. Bei jedem neuen Hash benutzt die Mining Software eine andere, zufallsgenerierte Zahl für den Block-Header. Diese Nummer wird Nonce genannt. Von den im Block enthaltenen Informationen (Nonce, Header usw.) abhängig erstellt die Hashfunktion einen einzigen Hash wie dieses Beispiel: 

93ef6f358fbb699c60802496863052432d4c63735b7fe5bdaac821de96a53a9a
Wie ihr seht, ist dieser Hash eine lange Nummer, bestehend aus Hexadezimalzahlen. (D.h. Buchstaben von A-F sind hier die Nummern 10-15!)
Um einer zu starken Inflation, durch zu viele Miner bei gleichbleibenden Coin-Wert entgegen zu wirken gibt es eine Ziel-Schwierigkeit. Diese wird in Abhängigkeit von der gesamten Rechenleistung des Netzwerkes festgelegt.
Heißt: Um einen Block zu finden, der gültig ist, also eine Belohnung gewährt, muss der Miner einen Hash finden, der unterhalb der Ziel-Schwierigkeit liegt.

   1. Sagen wir hier zum Beispiel die Ziel-Schwierigkeit liegt bei: 

1000000000000000000000000000000000000000000000000000000000000000

   2. Pauschal wäre also jede Nummer, die mit einer 0 anfängt, direkt kleiner als die Ziel-Schwierigkeit! Also bspw.:

0787a6fd6e0782f7f44777fbef45f5c17fe89086ad4e78a1520d06505acb4522f

   3. Reduzieren wir die  Ziel-Schwierigkeit also jetzt auf

0100000000000000000000000000000000000000000000000000000000000000
   4. Brauchen wir nun einen Hash der min. zwei Nullen am Anfang haben:

00db27957bd0ba06a5af9e6c81226d74312a7028cf9a08fa125e49f15cae4979
 

 

Wie legt sich die Schwierigkeit fest?

Grundsätzlich wird also eine geringere Zahl genutzt, um die aktuelle Ziel-Schwierigkeit anzugeben. Diese Nummer nennt sich im Allgemeinen Mining-Difficulty.
Diese Schwierigkeit drückt eigentlich aber nur aus, wie viel schwieriger es ist, den aktuellen Block gegenüber dem ersten zu erstellen.
Eine Schwierigkeit von 688000 bedeutet, es ist 688000x mal mehr Arbeit nötig, als Satoshi Nakamoto benötigt hat, um den ersten Block zu erstellen. 
Das hört sich astronomisch an, aber zu diesen Zeiten war das Mining viel langsamer und es gab weniger optimierte Software bzw. erst recht keine ASIC-Einheiten.

Allgemein wird die Schwierigkeit alle 2016 Blöcke angepasst. Das Netzwerk versucht die Schwierigkeit so anzupassen, dass ca. alle 14 Tage genau 2016 Blöcke erstellt wurden.
Die Schwierigkeit steigert sich proportional zur Leistung des Netzwerks!

 

Hier zur Veranschaulichung der Graph der letzen 9 Monate

 

 

 

Als nächstes: Cloud-Mining – Was steckt dahinter?

Oder: How-To Mining – Erste Schritte (folgt)