Was ist Mining? Bitcoin Mining erklärt!

Inhalt

In diesem Beitrag gehen wir kurz auf den Zweck von Mining ein, was Miner genau machen und was das Ganze mit der Blockchain zu tun hat.

 

Was ist der Zweck von Mining?

Mining erlaubt es Kryptowährungen wie Bitcoin dezentral zu agieren, ohne die Verwendung einer zentralen Instanz. Die Miner betreiben dafür ein dezentrales Rechenzentrum über die gesamte Welt verteilt. Sie ermöglichen die Verifizierung von Transaktionen und die Synchronisation der Datenbanken aller Nutzer.

 

Wie funktioniert Mining?

Die Transaktionen von Nutzern des Netzwerks werden im sogenannten Mempool gesammelt. Miner suchen sich dann Transaktionen aus dem Mempool aus, um diese in Blöcken zu dokumentieren und diesen anschließend an die Blockchain anzuhängen. Hierbei achten die Miner nicht darauf, welche Transaktion als erstes im Mempool gelandet ist, sondern welche Transaktion aktuell die höchsten Transaktionsgebühren aufweist. Das liegt daran, dass die Transaktionsgebühren später Teil der Belohnung werden.
Wenn ein Block die volle Kapazität erreicht hat, muss dieser abgeschlossen werden, indem ein valider Hashwert des Blocks berechnet wird. Dieser Teil des Minings verursacht den größten Teil des Energieverbrauchs. Die enorme Anzahl an Berechnungen ist Grund für den hohen Energieverbrauch des Minings.

 

Wie genau ist ein Block aufgebaut und wie wird er abgeschlossen?

Grundsätzlich kann ein Block in den Blockheader und den Blockbody aufgeteilt werden.
Im Blockbody werden die Transaktionen dokumentiert. Der Miner fügt eine zusätzliche Transaktion ein, welche seine Belohnung, auch Blockbelohnung genannt, beinhaltet. Diese beträgt momentan 6,25 Bitcoin. Die Bitcoins dieser Belohnung werden dabei neu generiert. Dies ist der einzige Weg, durch den Bitcoins erzeugt werden können. Die Höhe der Blockbelohnung ist von der Software vorgegeben und wird ca. alle vier Jahre halbiert.
Blockchain Block Aufbau beim Mining
Die dokumentierten Transaktionen des Blocks werden in eine Hashfunktion gegeben. Sinn einer Hashfunktion ist es, den Input beliebiger Länge auf einen Output fester Länge abzubilden. Sie sind hoch sensibel, wodurch eine minimale Änderung im Input, zu einer großen Änderung im Output führt. Eine weitere Eigenschaft ist der Determinismus, was bedeutet, dass der gleiche Input immer zum gleichen Output führt. Diese Hashwerte werden in einem sogenannten Merkle Baum sortiert. Das bedeutet, dass die Hashwerte als Paare geordnet werden, um danach wieder in eine Hashfunktion gegeben zu werden. Dies geschieht so lange bis die Wurzel des Baums (auch Merkle Root genannt) erreicht ist.

Im Blockheader wird die Merkle Root zusätzlich mit einem Zeitstempel, einem Target-Wert, dem Hashwert des vergangenen Blocks und der Nonce (Number used once) gespeichert, welche gleich weiter erläutert werden. Diese fünf Bestandteile des Headers werden von den Minern wiederum in eine Hashfunktion gegeben, welche einen Hashwert zurückgibt, den sogenannten Block Identifier.

 

Warum benötigt Mining so viel Energie?

Mit der einmaligen Berechnung des Block Identifier ist der Block jedoch noch nicht zwingend abgeschlossen. Denn für die Verifizierung des Blocks muss der Hashwert eine bestimmte Form haben, damit er an die Blockchain angefügt werden kann. Die Difficulty gibt an, wie schwer es ist diese bestimmte Form zu erraten. Dazu bestimmt sie das Target, welches im Blockheader gespeichert wird und vorgibt, wie klein der generierte Hashwert sein muss, um von der Software akzeptiert zu werden. Das heißt, sie gibt vor, mit wie vielen Nullen der Block Identifier starten muss. Um unterschiedliche Hashwerte aus den Hashfunktionen zu erhalten, muss der Input verändert werden.

Vier der Fünf genannten Bestandteile des Blockheaders bleiben bei der Berechnung des Hashwerts konstant. Die Nonce ist variabel und wird bei jeder Berechnung des Hashwerts verändert, um ein neues Ergebnis zu erhalten. Dieser Schritt wird so lange wiederholt, bis der Hashwert die korrekte Form hat. Das heißt, Miner versuchen die richtige Nonce zu erraten, um einen Hashwert in passender Form zu erhalten.

 

Warum wird die Mining Difficulty angepasst?

Die Difficulty wird durch ein Protokoll alle 2016 Blöcke automatisch angepasst, damit das Verifizieren eines Blocks IMMER im Schnitt 10 Minuten dauert. Wenn also die Miner länger als 10 Minuten brauchen, um einen passenden Hashwert zu berechnen, wird die Difficulty angepasst. Dazu wird das Target erhöht und es ist leichter einen Hashwert zu berechnen, der kleiner als das Target ist.
Wenn die Miner weniger als 10 Minuten für das Abschließen des Blocks benötigen, wird die Difficulty ebenfalls angepasst, indem das Target reduziert wird und es schwerer ist einen Hashwert kleiner als das Target zu berechnen. Diese Anpassungen sind notwendig, um die zunehmende Rechenleistung der Hardware und das mit der Zeit schwankende Interesse am Mining zu kompensieren, damit die Blockzeit stets 10 Minuten beträgt.

 

Was passiert nachdem ein Miner den passenden Hashwert berechnet hat?

Sobald ein passender Block Identifier berechnet wurde, wird der Block an die anderen Teilnehmer des Netzwerks geschickt, welche die Validität überprüfen. Anschließend verwerfen die anderen Miner ihre Berechnungen zum bereits abgeschlossenen Block und fügen den überprüften Block in ihre Kopie der Blockchain ein. Dann starten sie mit den Berechnungen zum nächsten Block, in der Hoffnung dort als erstes den korrekten Hashwert zu berechnen und den Block an die Blockchain anzuhängen. Denn es wird die eingefügte Transaktion mit der Blockbelohnung an den Miner nur ausgeführt, wenn sein Block an die Blockchain angefügt wurde. Zusätzlich dazu würde er wie bereits erwähnt die Transaktionsgebühren jeder Transaktion aus dem Block erhalten.
Für einen Miner allein ist es mittlerweile sehr unwahrscheinlich einen Block als erstes abzuschließen. Deshalb bilden sich sogenannte Miningpools, in denen sich viele Miner zusammenschließen und ihre Rechenleistung aggregieren. Sollte ein Miner aus dem Pool einen Block abschließen, wird die Belohnung entsprechend der beigesteuerten Rechenleistung unter den Poolteilnehmern aufgeteilt.

Wir hoffen, wir konnten dir in diesem Beitrag einen kurzen Überblick zum Mining verschaffen. Vielen Dank fürs Lesen!