Mining ist der Wettbewerb darum, den nächsten Block zur Bitcoin-Historie hinzuzufügen. Miner stellen Transaktionen zu Blöcken zusammen und suchen mit Rechenarbeit ein Ergebnis, das andere leicht überprüfen können. Ein erfolgreicher Block kann dem Miner neue Bitcoin und Gebühren der aufgenommenen Zahlungen einbringen. Die Regeln legt er damit nicht fest: Andere Computer im Netzwerk prüfen seinen Vorschlag selbst und lehnen ungültige Blöcke ab.
Beim Mining werden keine Münzen ausgegraben, die in einem Computer versteckt wären. Es geht darum, den nächsten gültigen Block vorzuschlagen: ein Paket von Transaktionen, das an die bisherige Historie anschließt. Für diesen Vorschlag sucht der Miner ein schwer zu findendes Rechenergebnis. Gelingt das, schickt er den Block an andere. Diese prüfen Berechnung und Transaktionen und entscheiden nach denselben Regeln, ob sie ihn annehmen können. Neue Bitcoin sind ein Teil der Vergütung, aber ihre Ausgabe ist nicht der einzige Zweck des Minings. Für Nutzer zählt vor allem, dass aus einer wartenden Zahlung eine in der überprüfbaren Historie erfasste Zahlung wird. [1] [2]
Wenn du eine Zahlung sendest, verbreitet sie sich zunächst zwischen Knoten. Ein Knoten ist ein Computer im Bitcoin-Netzwerk; sein Mempool ist ein lokaler Vorrat unbestätigter Transaktionen. Eine einzige, für alle verwaltete Warteschlange gibt es nicht. Miner stellen aus verfügbaren Transaktionen einen Blockkandidaten zusammen und berücksichtigen Gebühren und begrenzten Platz. Gibt eine Transaktion den Ausgang einer anderen, noch unbestätigten Transaktion aus, muss diese vorherige Transaktion im Block zuerst erscheinen. Der Befehl getblocktemplate liefert die Grundlagen zum Blockbau einschließlich solcher Abhängigkeiten. Auch Grenzen für Blockgewicht und Signaturprüfungen schränken die Auswahl ein. [1]
Die erste Transaktion eines Blocks heißt Coinbase Transaction. Sie hat nichts mit einem Konto bei der gleichnamigen Börse zu tun: Mit dieser besonderen Transaktion schreibt sich der Miner die erlaubte Belohnung gut. Sie besteht aus der Blocksubvention, also neu erzeugten Bitcoin, und den Gebühren der übrigen Transaktionen im Block. Eine Gebühr ist die Differenz zwischen Ein- und Ausgangswerten einer Transaktion und überträgt daher nur bereits vorhandene Bitcoin. Beansprucht der Miner zu viel, lehnen die Knoten den ganzen Block ab. Auch eine korrekte Belohnung ist nicht sofort ausgebbar: Einen Ausgang der Coinbase Transaction darf frühestens ein Block verwenden, dessen Höhe um 100 größer ist. [2]
Stell dir eine Lotterie vor, deren Gewinnlos vorher niemand kennt, die aber jeder nach Bekanntgabe schnell prüfen kann. Miner berechnen einen Hash, einen digitalen Fingerabdruck von Daten, der sich auch als große Zahl lesen lässt. Bei einem Bitcoin-Block muss diese Zahl kleiner oder gleich einer Grenze namens Target sein. Das ist die Anforderung von Proof of Work. Konkret wird die Hashfunktion SHA-256 zweimal auf den 80 Byte großen Blockheader angewendet, der die wesentlichen zusammenfassenden Angaben enthält. Miner lösen keine Aufgaben zu einzelnen Zahlungen. Sie ändern die Daten für die Berechnung und prüfen, ob das neue Ergebnis die Bedingung erfüllt. [3]
Ein ASIC ist ein Chip für eine bestimmte Rechenaufgabe; ein Bitcoin-Mining-ASIC berechnet wiederholt doppeltes SHA-256 für Varianten eines 80 Byte großen Headers. Eine veränderbare Angabe ist die Nonce, eine vier Byte große Zahl im Header. Ihr Wertebereich ist endlich. Ist er ausgeschöpft, lässt sich die Extra Nonce ändern, eine zusätzliche Angabe in der Coinbase Transaction. Dadurch ändern sich der Merkle Root, der gemeinsame Fingerabdruck der Transaktionen, und anschließend der Header. So entstehen weitere Kandidaten. Kein Fehlversuch bringt das Gerät einem sicheren Gewinn näher. Auch zehn Minuten sind keinem einzelnen Miner zugesagt: Sie sind der Zieldurchschnitt des gesamten Netzwerks. [3]
Miner haben einen Grund, gültige Blöcke zu bauen: Ein abgelehnter Vorschlag bringt keine nutzbare Belohnung. Ihre Prüfung ersetzt aber nicht die Kontrolle durch andere. Ein Full Node ist ein Computer, der Bitcoins Regeln selbst überprüft, einschließlich Transaktionen, Belohnung und Proof of Work. Er lehnt beispielsweise einen Block ab, der mehr Bitcoin als erlaubt erzeugt, auch wenn viel Rechenleistung darin steckt. Mit einem eigenen Knoten muss ein Nutzer sich daher nicht auf die Behauptung eines Miners verlassen, der Block sei in Ordnung. [2] [4]
Ein einzelner Miner kann sehr lange auf einen Erfolg warten. Ein Mining Pool erlaubt es, Arbeit und Einnahmen auf mehrere Teilnehmer zu verteilen. Um den Beitrag der Geräte zu schätzen, nimmt der Betreiber auch Ergebnisse an, die ein leichteres internes Target erfüllen. Ein solches Ergebnis heißt Share. Die meisten Shares reichen für das Bitcoin-Netzwerk nicht aus; nur manche erfüllen auch dessen strengere Bedingung. Auszahlungen richten sich nach Vergütungsmodell, vereinbarten Bedingungen und Poolgebühren. Die Arbeit in einem Pool gibt Minern also kein Recht, Bitcoins Regeln zu ändern. Der Betreiber muss die angeschlossenen Geräte auch nicht besitzen. Sein Anteil an gefundenen Blöcken belegt für sich kein Eigentum an den Maschinen. [3]
Nach der erfolgreichen Berechnung muss der vollständige Block noch die anderen Knoten erreichen. Zwei Miner können fast gleichzeitig verschiedene gültige Blöcke mit demselben Vorgänger finden. Kurzzeitig kennt dann ein Teil des Netzwerks den einen Zweig, ein anderer den zweiten. Knoten folgen dem gültigen Zweig mit der größten kumulierten Arbeit, also der Summe der den Blöcken zugerechneten Arbeit. Ein weiterer Block kann die Entscheidung zugunsten eines Zweigs verschieben. Ein Block im aufgegebenen Zweig kann selbst gültig sein; seine Belohnung gehört aber nicht zur aktiven Historie. Miner achten daher auf schnelle Verbreitung und darauf, nach Erhalt einer neuen Kettenspitze nicht an einem überholten Vorschlag weiterzuarbeiten. [4]
Hashrate bezeichnet die Zahl der Hash-Versuche pro Sekunde. Der Anteil eines Miners an der gesamten Rechenleistung hilft, die Häufigkeit von Erfolgen zu schätzen, garantiert aber keine regelmäßigen Einnahmen. Einnahmen sind außerdem kein Gewinn: Strom, Kühlung, Geräte, Wartung und Poolgebühren müssen abgezogen werden. Ausfälle können das Ergebnis weiter verschlechtern. Achte auch auf die Einheiten: TH/s misst Rechenleistung, Watt dagegen die elektrische Leistungsaufnahme. Ein leistungsfähiges Gerät kann bei teurem Strom Verluste machen, und ein einzelner Glückstreffer beweist keine langfristige Rentabilität. [3]
Auf deinem eigenen Knoten kannst du einen Vorschlag aus getblocktemplate mit Header, Coinbase Transaction und normalen Transaktionen eines gefundenen Blocks vergleichen. Befehle wie getblocktemplate gehören zur technischen Schnittstelle des Knotens; sie sind kein Dienst, dem du Geld anvertrauen müsstest. submitblock übergibt einen fertigen Block zur Prüfung an den Knoten. Lokale Annahme garantiert aber nicht, dass er dauerhaft zur Historie des Netzwerks gehören wird. Unterscheide bei einem Pool zwischen eingereichten Shares, angenommenen Bitcoin-Blöcken und tatsächlich ausgezahlten Beträgen. Zusammen mit den Betriebskosten zeigen sie das wirtschaftliche Ergebnis des Minings. [5]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Proof of Work, Difficulty Adjustment, Block Subsidy, Transaction Fees, Mempool. Auf diesen Eintrag verweisen außerdem Proof of Work, Difficulty Adjustment, Block Subsidy, Halving.