Bitcoin Mining

Das Konsensus Verfahren in der Bitcoin-Blockchain heißt Proof-of-Work. Findet ein Teilnehmer für einen Block einen Proof-of-Work, darf er den Block an die Blockchain hängen. Dafür bekommt er eine Belohnung, die sogenannte Block-Reward. Zur Zeit sind das 12,5 Bitcoins. Die Suche nach einem Proof-of-Work wird Bitcoin-Mining genannt. Um die Funktionsweise zu verstehen, muss man wissen wie ein Block aufgebaut ist. In der Bitcoin-Blockchain besteht ein Block aus

  • Einem Verweis auf den Vorgänger Block
  • Alle enthaltenen Transaktionen
  • Der Coinbase, das ist die WalletID (Kontonummer) eines Miners
  • Nonce, ein ungenutzter Bereich im Block

Hash Funktionen

Beim Bitcoin Mining spielen Hash-Funktionen eine wichtige Rolle. Das sind Funktionen, die aus einer beliebigen Zeichenkette als Eingabe eine völlig zufällige Zahl generieren. Je nach Eingabe liegt diese Zahl irgendwo zwischen 0 und einer extrem großen oberen Schranke, einer Zahl mit 78 Stellen. Man kann bei Hashfunktionen nicht vorhersagen was das Resultat sein wird und minimale Änderungen an der Eingabe führen zu einem völlig anderem Ergebnis. Die gleiche Eingabe führt aber stets zu einem identischen Ergebnis.

Proof of Work

Ein Bitcoin Miner berechnet den Hashwert seines Blocks.  Ein Block wird an die Blockchain gehängt, wenn der errechnete Hashwert kleiner als eine vom Netzwerk festgelegte Grenze ist. Dafür spielt der Nonce im Block eine wichtige Rolle. In diesen Bereich schreibt der Miner eine Zahl, die nach jedem erfolglosen Versuch um eins erhöht wird. So verändert sich die Eingabe der Hashfunktion, die dadurch einen neuen Hash generiert. Das wird so lange gemacht, bis ein Miner mit seinem Block die Grenze unterschritten und somit einen Proof-of-Work gefunden hat. Mit diesem Proof-of-Work wird der neue Block von den anderen Minern akzeptiert. Dann beginnt der Vorgang erneut. Die Miner sammeln Transaktionen und versuchen sie an diesen neuen Block anzuhängen.

Blöcke verweisen auf ihren Vorgängerblock. Dieser Verweis erfolgt ebenfalls mit Hilfe dieses Hashes. Beispielsweise ist Block 498260 der Nachfolger des Blockes mit dem Hash 0000000000000000001fea1ac0ce16f0600ba733d8ac533be2a9320be2e7e6a5 (Block 498260 auf blockchain.info). Dadurch wird die Blockchain manipulationssicher. Angenommen jemand möchte eine Überweisung manipulieren, die fünf Blöcke zurückliegt. Mit genügend Zeit kann ein Proof-of-Work für diesen manipulierten Block gefunden werden. Jedoch verändert sich dadurch der Hashwert des Blocks. Der nachfolgende Block muss ebenfalls erneut gemined werden, verweist dieser ja noch auf den Hash des nicht-manipulierten Blockes. Die Manipulation kann nur gelingen, wenn für die komplette Kette bis zum aktuellen Block jeder Proof-of-Work neu berechnet wird. Das wird möglich, wenn dem Saboteur mehr als 50% der Rechenkraft des Mining-Netzwerkes zur Verfügung steht. Man spricht deshalb in diesem Zusammenhang auch von einer 51%-Attacke. Hat niemand im Netzwerk mehr als 50% Rechenkraft, kann eine solche Manipulation ausgeschlossen werden.

Difficulty

Die zu unterschreitende Grenze, genannt Difficulty, wird vom Netzwerk festgelegt. Alle 2016 Blöcke (ca. zwei Wochen) wird die durchschnittliche Zeit ermittelt, in der ein Block gefunden wurde. Lag das Mitttel über 10 Minuten, wird die zu unterschreitende Grenze erhöht.  Lag das Mittel unter zehn Minuten, wird die Grenze abgesenkt. So bleiben die 10-Minuten-Intevalle auch bei neuen Minern, oder neuer leistungsfähiger Hardware konstant.

Block Reward

Die Belohnung für neue Blöcke wird alle 210.000 Blöcke (ca. vier Jahre) halbiert. Ursprünglich lag sie bei 50 Bitcoins. Sie wurde bereits zweimal halbiert, so dass derzeit 12,5 Bitcoins pro Block generiert werden. Durch die stetige Halbierung ist die Gesamtmenge auf 21 Millionen Bitcoins begrenzt. Die letzte Block-Reward wird voraussichtlich im Jahr 2140 vergeben. Zusätzlich bekommt ein Miner für jede im Block enthaltene Transaktion eine kleine Gebühr.

Dieses Verfahren war entscheidend für die Akzeptanz des Bitcoins. Anstatt sich selbst mit einem üppigen Startguthaben auszustatten, lässt Satoshi Nakamoto alle Bitcoins unter den Unterstützern des Netzwerks verteilen. Im Gegenzug machen sie durch das Mining Transaktionen überhaupt erst möglich. So konnte ein Netzwerk mit gigantischer Rechenleistung aufgebaut werden. Selbst Staaten ist es nicht mehr möglich Bitcoin zu unterwandern, da der benötigten finanziellen Mittel zu hoch sind. Gleichzeitig geht eine weite Verbreitung und zunehmende Etablierung mit mehr Transaktionen einher. Mehr Transaktionen bedeuten mehr Transaktionsgebühren. Sie kompensieren zunehmend die abnehmende Belohnung für den Proof-of-Work.