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