Gibt es p2pool-Mining für Ethereum?

Gibt es dezentrale Mining-Pools für Ethereum? So etwas wie p2pool, das den Mining-Prozess und die Belohnungsverteilung vollständig dezentralisiert?

Ist das möglich?

Antworten (2)

Auf reddit gab es einige Ideen bezüglich p2pool für Ethereum. Folgt man dem gleichen Prinzip wie P2Pool für Bitcoin, das eine alternative Blockchain mit kürzeren Blockzeiten ist, sieht man, dass ein solches Modell auf Ethereum kaum funktionieren würde, da die Blockzeiten schon ziemlich kurz sind.

Eine andere Idee ist es, einen Pool als Vertrag zu organisieren. Dies ist jedoch technisch sehr knifflig, da die von den Minern eingereichten Anteile in den Transaktionen mitgeteilt werden müssten (die einzige Möglichkeit, Informationen an die Verträge weiterzugeben). Der Vertrag müsste die Anteile verifizieren, und leider würde die in Ethereum-VM-Op-Codes implementierte EtHash-Verifizierung ziemlich viel Gas verbrauchen. Das bedeutet, dass Miner weiterhin Ether für die Einreichung von Anteilen ausgeben müssen. Ein solches Pool-Mining wäre also nicht rentabel, und die Bergleute werden einfach das gewöhnliche, „zentralisierte“ Mining bevorzugen.

Selbst die aktuellen „Ethereum-Pools“ haben den großen Nachteil, dass sie der ohnehin kurzen Blockzeit Latenz hinzufügen. (Stellen Sie sich vor, Sie würden 10 % Ihres Gewinns verlieren, nur weil Sie einen konstanten Gewinn sehen möchten, anstatt dass sporadische Blöcke abgebaut werden.)

Für Ethereum ist derzeit aus verschiedenen Gründen, zB sehr kurze Blockzeiten oder die Unfähigkeit, Transaktionen mit mehreren Ausgängen zu erstellen, kein p2pool verfügbar.

Es gibt Ansätze, um zumindest den Mining-Aufwand zurück zu den Client-Knoten zu dezentralisieren. Dies ist möglich, weil Sie die Etherbase in Ihrem Client so angeben können, dass sie mit der Etherbase des Pools übereinstimmt. Daher bleibt die Auszahlung zentral.

Aber das lokale Mining eliminiert zumindest die Latenz bei der Kommunikation mit dem entfernten Pool, da die Blöcke lokal gelöst werden.

Ein Beispiel für diese Implementierung ist talkether .