118 / 736SELF

Selfish Mining

Einen gefundenen Block verbergen, um einen Vorteil zu gewinnen

Ein neuer Block wird normalerweise sofort verbreitet. Bei Selfish Mining hält ein Miner ihn zurück und veröffentlicht ihn, wenn er damit Konkurrenten um ihre Belohnung bringen könnte. Dabei riskiert er auch die eigene Arbeit.

Selfish Mining ist eine Strategie, bei der gültige Blöcke zurückgehalten und gezielt veröffentlicht werden. Der Miner will einen größeren Anteil akzeptierter Blöcke erzielen, als seinem Anteil an der Rechenleistung entspricht. Das erlaubt keine Bitcoin-Erzeugung außerhalb der Regeln und garantiert keinen Gewinn: Verbindungen, andere Miner und Kosten spielen ebenfalls eine Rolle.

Peter betreibt einen Mining Pool, eine Gruppe von Minern, die Rechenleistung bündeln und Belohnungen teilen. Ein Block bündelt Transaktionen, die in die gemeinsame Historie aufgenommen werden. Peters Gruppe findet einen gültigen Block. Normalerweise würden sie ihn bekannt geben, damit andere darauf aufbauen können. Diesmal behalten sie ihn für sich und suchen seinen Nachfolger. Anna und die übrigen Miner arbeiten weiterhin auf dem alten gemeinsamen Block. Sie wissen nicht, dass Peter bereits eine andere Fortsetzung kennt. So entsteht ein privater Zweig, keine neue Währung. [1] [2]

Peter könnte den nächsten Block finden, aber auch Anna könnte zuerst erfolgreich sein. Die Mining-Geräte wiederholen Berechnungen mit veränderten Blockdaten, bis sie ein Zahlenergebnis finden, das die vorgegebene Grenze einhält. Mining ist kein gleichmäßiges Rennen, bei dem die schnellere Maschine immer gewinnt; jeder Fund ist zufallsabhängig. Die Strategie reagiert deshalb auf beide Zweige: weiter geheim arbeiten, Blöcke veröffentlichen oder den eigenen Zweig aufgeben. Hashrate bezeichnet die Geschwindigkeit der Rechenversuche. Ein größerer Anteil erhöht die Fundchance, garantiert aber nicht den nächsten Block. [1] [4]

Angenommen, Peter hält einen Block zurück und Anna veröffentlicht einen eigenen mit demselben Vorgänger. Peter zeigt nun seinen Block, und es herrscht Gleichstand. Verschiedene Miner erfahren möglicherweise zuerst von unterschiedlichen Blöcken und verlängern verschiedene Zweige. Weitere Funde und die Nachrichtenverbreitung beeinflussen den Ausgang. Entscheidend ist die angesammelte Arbeit eines gültigen Zweigs, nicht die Zahl seiner Unterstützer. Bei gleicher Schwierigkeit bedeuten mehr Blöcke mehr Arbeit. Die Schwierigkeit beschreibt, wie aufwendig es im Durchschnitt ist, ein solches Ergebnis zu finden. Eine höhere Schwierigkeit bedeutet im Mittel mehr Versuche, keine festgelegte Zeit für jeden Block. [1] [3] [4]

Setzt sich Peters Zweig durch, kann Annas konkurrierender Block als Stale Block außerhalb der akzeptierten Historie bleiben. Er war gültig, seine Belohnung lässt sich aber in der akzeptierten Kette nicht ausgeben. Peter versucht, anteilig mehr fremde als eigene Arbeit vergeblich werden zu lassen. Die Transaktionen des aufgegebenen Blocks müssen nicht für immer verschwinden: Sind sie weiterhin gültig und mit der akzeptierten Historie vereinbar, können sie später aufgenommen werden. [1] [4]

Ittay Eyal und Emin Gün Sirer beschrieben die bekannte Strategie 2013 in einer Studie. Sie verglichen den Anteil akzeptierter Blöcke eines Miners mit dessen Leistungsanteil. Das ist etwas anderes als der Stundenverdienst nach der Stromrechnung. Zurückhalten kann das Wachstum der öffentlichen Kette verlangsamen; die spätere Schwierigkeitsanpassung verändert die Wirtschaftlichkeit. Cyril Grunspan und Ricardo Pérez-Marco betonten später gerade Zeit und Anpassung. Ein höherer relativer Belohnungsanteil verspricht deshalb keinen sofortigen Nettogewinn. [1] [7]

Im ursprünglichen Modell steht α für den Leistungsanteil des Angreifers. γ bezeichnet den Anteil der übrigen Rechenleistung, der sich bei Gleichstand seinem Zweig anschließt. Für γ = 0 liegt die Schwelle des relativen Vorteils bei 1/3, für γ = 1/2 bei 1/4. Im Modell entsteht der Vorteil oberhalb der jeweiligen Schwelle. Das sind keine universellen Sicherheitsgrenzen des realen Netzwerks. Andere Strategien, Verzögerungen und Annahmen verändern das Ergebnis. Wichtig sind sowohl Leistung als auch die Zweigwahl der anderen Miner. [1] [6]

Ein schnell übermittelter Block gewinnt bei Gleichstand eher weitere Miner für sich. Ein Netzwerkvorteil kann die Rechenleistung also ergänzen. Würde eine Gruppe dauerhaft höhere Erträge bieten, könnte sie weitere Miner anziehen und die Konzentration verstärken. Das beschreibt einen Anreiz. Es beweist weder, dass jeder große Pool angreift, noch, dass andere Miner zwangsläufig beitreten. Ein Modellparameter ist ohne Messung auch keine festgestellte Eigenschaft eines bestimmten Betreibers. [1] [6] [8]

Anna kann sich durchsetzen, bevor Peters Strategie aufgeht. Dann bekommt Peter keine Belohnung, obwohl er Energie verbraucht und Maschinen betrieben hat. Eine für langfristige Durchschnittswerte berechnete Schwelle verspricht keinen Sieg in jeder Runde. Einige erfolgreiche Runden belegen ebenso wenig die Rentabilität nach Kosten und veränderten Bedingungen. Ein zurückgehaltener Block ist eine riskante Möglichkeit, keine sicher in einer Schublade verwahrte Belohnung. [1] [7]

Ein Full Node ist ein Programm, das die Bitcoin-Regeln selbstständig prüft. Es lehnt weiterhin ungültige Transaktionen und unerlaubte Coin-Erzeugung ab. Peter muss echten Proof of Work liefern, also die nötige Rechenarbeit nachweisen, und dieselben Regeln wie Anna erfüllen. Die Strategie konkurriert darum, welche gültige Historie sich durchsetzt. Sie verschafft ihm weder fremde private Schlüssel, also geheime Zahlenwerte zum Signieren von Transaktionen, noch das Recht, fremde Coins auszugeben. Ein Mining-Vorteil ist kein Bruch der Eigentumsregeln. [2] [5]

Schnellere Blockübertragung verringert Verzögerungen und einige Netzwerkungleichheiten. Compact Blocks nutzen dafür bereits bekannte Transaktionen, um einen Block mit weniger Daten zu übertragen. Das beseitigt Selfish Mining jedoch nicht vollständig. Auch der Umgang mit Gleichständen und wirtschaftliche Anreize werden erforscht. Ein aufgegebener Block allein beweist keinen Angriff: Zwei ehrliche Gruppen können fast gleichzeitig erfolgreich sein. Verdachtsfälle brauchen mehr Kontext. Die Grundfrage lautet, ob die Regeln unter diesen Bedingungen schnelles Teilen belohnen oder Zurückhalten vorteilhaft sein kann. [6] [8] [9]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Block Propagation, Compact Blocks, Nakamoto Consensus, Sybil Attack, Bitcoin, Mining. Auf diesen Eintrag verweisen außerdem Byzantine Generals Problem, Sybil Attack, Block Propagation, Block Withholding Attack.

DOC · 001Eyal and Sirer — Majority is not EnoughPrimärquelle DOC · 002Satoshi Nakamoto — Bitcoin whitepaperPrimärquelle DOC · 003The Bitcoin Backbone ProtocolPrimärquelle DOC · 004Bitcoin Developer Guide — Block ChainDokumentation DOC · 005Bitcoin Core v29.0 — validationDokumentation DOC · 006Sapirshtein, Sompolinsky & Zohar — Optimal Selfish Mining Strategies in BitcoinPrimärquelle DOC · 007Grunspan and Pérez-Marco — On profitability of selfish miningPrimärquelle DOC · 008Bitcoin Optech — Selfish miningDokumentation DOC · 009BIP 152 — Compact Block RelayPrimärquelle
Überarbeitet: Quellenbasiert · Keine Anlageberatung