Über Sinn und Unsinn des Solo Mining

Solo Mining ist wie Lotto spielen: Die Chance zu „gewinnen“ ist extrem gering, aber wenn man Glück hat, kann man abräumen. Häufig wird seitens der Solo Mining Equipment Hersteller behauptet, dass man neben der Lotterie aber auch das Netzwerk unterstützt. Solo Mining wird einem als ideelles Projekt verkauft, sprich einem Ideal dienend. Zuletzt wurde infrage gestellt, ob dies wirklich der Fall ist.

In einem Mining Pool werden die zu lösenden Blöcke unter den Mitgliedern verteilt, sodass keine zwei Miner versehentlich denselben Block lösen. Da diese Funktion beim Solo Mining fehlt, wurde vermutet, dass ein Solo Miner versehentlich den Proof of Work anderer Miner wiederholt und somit nicht das Netzwerk stärkt. Aber stimmt das?

Vorab: Folgende Berechnung ist aus Eigenrecherche entstanden. Es könnten Fehler enthalten sein und eine Korrektur ist in dem Fall explizit erwünscht.

Der Block-Hash wird aus dem Block-Header erzeugt. Dieser hat 4 Zutaten:

  • Hash des vorangegangenen Block
  • Merkle-Root der Transaktionen
  • Nonce (32 bit)
  • Timestamp (darf geringfügig variieren)

Die Anzhal der Hashes, die sich durch Nonce und Timestamp berechnen lassen ist durch moderne Geräte schnell gelöst. Wenn alle Möglichkeiten durchgerechnet wurden, muss eine neue Merkle-Root gebildet werden. Da dies Rechenleistung erfordert, wird dies aber erst gemacht, wenn alle anderen Optionen ausgeschöpft sind. Dabei wird das Transaktions-Set genommen und permutiert. In einem Block befinden sich etwa 3000 Transaktionen. Die Anzhal der Möglichen Permutationen ist 3000! (Fakultät). Diese Zahl ist größer aus 2^256. Solange der Algorithmus, der die Permuationen durchführt, zufällig ist, ist es ausgeschlossen, dass zweimal dieselbe Merkle-Root gebildet wird.

Ein Solo-Miner, der selbstständig eine Merkle-Root berechnet ist, wird damit mit an Sicherheit grenzender Wahrscheinlichkeit nicht versehentlich dieselbe Merkle-Root bilden und damit denselben Block berechnen, wie jemand anderes. Genau genommen ist die Wahrscheinlichkeit dieselbe Merkle-Root zu bilden geringer als die Wahrscheinlichkeit denselben Seed zu generieren.

Schlussfolgerung

  • Dass ein Solo Miner versehentlich dieselben Blöcke hasht, wie jemand anderes, ist ausgeschlossen
  • Solo Mining unterstützt damit das Netzwerk
4 „Gefällt mir“

Ein Blick auf mempoolspace zeigt dir ja schon, wie oft es vorkommt, das ein Solominer einen gültigen Block findet. Extremst selten, ich erinnere mich nur an einen in diesem Jahr (können mehr sein, aber mehr hab ich nicht auf dem Schirm).

Ich mag Nerd/Lotteryminer. Als Hobby, um Verständnis für das Thema aufzubauen. Sie sind günstig und verbrauchen kaum Strom. Aber der Anspruch, einen gültigen Block damit zu finden sollte gegen 0 tendieren, um Enttäuschung vorzubeugen.

Interessant wäre ja mal ein direkte Lottovergleich. Man nimmt den reward von 3,125 btc mit aktuellem Preis und vergleicht das mit der Wahrscheinlichkeit und Auszahlung von zb. dem Eurojackpot (aktuell 120 mio EUR bei Wahrscheinlichkeit von 1:140.000.000).

Wo stehen die Chancen besser unter Berücksichtigung von Wahrscheinlichkeit und portentiellen „Gewinn“?

1 „Gefällt mir“

Der Erwartungswert beim Lotto (pro Spiel) ist etwa -0.67€, bzw. ~50% des Einsatz.
Wenn man Mining unterhalb der 50%-Profitabilitäts-Schwelle betreibt, ist Lotto spielen „effektiver“. Wenn man zu Hause Mining mit Netzstrom betreibt, ist dies fast immer der Fall, selbst wenn man die Abwärme nutzen kann. Damit sich Solo Mining versus Lotto lohnt, müsste der Strompreis unter 30 cent/kWh sein.

Das ist schon ne knappe Kiste in Deutschland :)

1 „Gefällt mir“

Erst einmal gute Idee, einen separaten Thread dazu zu erstellen! :+1:

Bisher gibt es nur verstreute Diskussionen. Hier ein paar Beispiele zum Solo-Mining und verwanden Themen:
Solo-Miner schafft das Unfassbare und findet gültigen Block
Neu: Solo-Mining-Rechner bei Blocktrainer.de
Solo-Mining Wahrscheinlichkeit
Mining Protokoll Stratum V1
→ Diskussionen/News zu dezentralem Pool-Mining: Ocean 1, Ocean 2, Stratum V2, DATUM

Langfristig wäre ein Übergang zu mehr Solo-Mining eine gute Sache. Aktuell ist der Anteil ja fast vernachlässigbar.

Wirklich dezentrales und damit echtes Solo-Mining ist die eigenständige Erstellung (und im Erfolgsfall Veröffentlichung) von Blockkandidaten. Alternativ auch Peer-to-Peer-Mining. Für beides benötigt man zusätzlich allerdings eigene leistungsfähige Rechner und Nodes.

Beim „üblichen“ Solo-Mining wird sich wohl eher einem Solo-Mining-Pool angeschlossen (z.B. ckpool), bei denen zwar auf die eigene Adresse gemined, aber die Blockkandidaten leider trotzdem vorgegeben werden. Man muss dem Pool vertrauen, dass er ehrliche Kandidaten erstellt und auch nicht abweichend von der eigenen Vorstellung zensiert.
Das ist im Endeffekt kein Unterschied zum non-custodial Mining von Nicht-Solo-Mining-Pools (z.B. Ocean), bei denen man regelmäßige Auszahlungen direkt aus der Coinbase auf eine eigene Adresse erhält.

Andersherum gibt es Pools, bei denen in Zukunft die Block Kandidaten selbst vorgegeben werden können, z.B. mittels Stratum V2 oder mit eigenen Protokollen wie DATUM bei Ocean.
Aber selbst dort kommt es auf die detaillierte Umsetzung an. Nach meinem Verständnis kann der Pool Blockkandidaten immer noch ablehnen und dadurch nach eigenen Vorstellungen zensieren.

Am schlechtesten ist mit Abstand das ganz normale, heutzutage verbreitete Pool-Mining mittels Stratum V1. Hier liegt die komplette Kontrolle beim Mining-Pool. Beispielsweise ist es wahrscheinlich, dass die großen Pools zusammenarbeiten:
Non-custodial Bitcoin mining is solution to consolidation worries - Deeptech Times
These Pools Are Consolidating Bitcoin Rewards with Antpool - TheMinerMag

Bei den Solo-Mining-Pools werden die Kandidaten vom Pool erstellt.

Aber ja, das ist kein „echtes“ Solo-Mining.

Ehrlich gesagt bezweifle ich, dass sich die Auswahl-Algorithmen großartig unterscheiden.

Aber: Was gerne vergessen wird, ist die Auszahlungsadresse in der Coinbase Transaktion.

Dadurch dass jeder Solo-Miner, selbst bei einem Solo-Mining-Pool, eine eigene Adresse einträgt, unterscheidet sich die Merkle Root zwischen all diesen Minern, selbst wenn die restliche Transaktions-Auswahl und -Reihenfolge dieselbe ist.

6 „Gefällt mir“

Für den Erwartungswert sollte die Varianz nicht entscheidend sein. Jede Sekunde hat man eine gewisse Chance einen Block zu finden. Als Solominer darf man die riesige Belohnung für sich alleine behalten, was aber unwahrscheinlich ist. Im Pool bekommt man in jedem Fall nur sehr wenig, dafür aber sehr zuverlässig.

Also eigentlich sollte es „egal“ sein, ob man Solo Mining betreibt oder im Pool ist, so lange man sich bewusst ist, dass die Varianz riesig ist und man im Durchschnitt keinen einzigen Solo Block findet in seinem Leben.

1 „Gefällt mir“