Ist Equihash/Scrypt für gepooltes Mining geeignet?

Ein "sequentielles speicherintensives" PoW-Schema kann nicht effektiv parallelisiert werden, also stelle ich mir vor, dass Sie das Lösen des Rätsels auch nicht auf die Teilnehmer in einem Pool verteilen können? Wie funktioniert das dann mit Scrypt - wie funktionieren zum Beispiel Litecoin-Mining-Pools?

Korrigieren Sie mich, wenn ich falsch liege, aber Equihash ist "nur" speicherlastig. Ich verstehe, dass Sie ein allgemeines Geburtstagsproblem unter zufällig generierten Bitstrings lösen. Aber meine Frage hier ist: Wie überprüft der Pool, dass Sie tatsächlich sinnvolle Arbeit leisten? Wie bei einem "traditionellen" PoW reichen Sie Teillösungen ein, die nicht der Netzwerkschwierigkeit entsprechen, aber dennoch einige Schwierigkeiten "angehängt" haben, die beweisen, dass Sie etwas Arbeit geleistet haben.

Für Equihash gibt es meines Erachtens keine "Teillösung", entweder finden Sie die Eingaben, die xor auf Null setzen, oder nicht. Was vermisse ich?

Gibt es da draußen schon irgendwelche Zcash-Mining-Pools? Wie stellen sie „Fairness“ sicher?

Der erste Teil meiner Frage kann wahrscheinlich erklärt werden: Eine Scrypt-Berechnung lässt sich mit mehreren Threads nur schwer beschleunigen, aber Sie können immer mehrere davon ausführen (mit unterschiedlichen Nonces). Jeder von ihnen benötigt noch viel Speicher. Im Grunde berechnen also mehrere Personen völlig unterschiedliche Scrypt-Aufrufe. Für das zweite verstehe ich wahrscheinlich nicht, wie zcash genau Equihash verwendet, und ich wäre froh, wenn jemand das erklären könnte.

Antworten (2)

Ich habe https://minezcash.com/zcash-mining-pool/ gefunden , also gibt es offenbar schon einige zcash-Mining-Pools.

Bezüglich der Schwierigkeitsfrage schaue ich gerade auf https://github.com/str4d/zcash-pow/blob/master/pow.py Was mich irritiert ist, dass es anscheinend immer noch eine SHA256-Berechnung gibt.

Ich hätte das Equihash-Papier lesen sollen .

Grundsätzlich ist das PoW immer noch eine große Schleife, die über eine 160-Bit-Nonce geht, aber im Körper gibt es die Lösung des verallgemeinerten Geburtstagsproblems unter Verwendung von Wagners Algorithmus.

Die Parameter werden pseudozufällig generiert (unter Verwendung einer Hash-Funktion basierend auf vorherigem Block und Nonce) und am Ende wird die Lösung erneut gehasht und die Anzahl der führenden Null-Bits (dieser Lösung) bestimmt die Schwierigkeit. Ich denke, das ist der Grund, warum zcashd Lösungen/s und nicht Hashes/s meldet, da eine Lösung ein Versuch einer anderen Nonce ist (und Sie brauchen viele davon, um Glück zu haben).

SHA256- und Blake2B-Kryptografie-Einweg-Hash-Funktionen werden immer noch verwendet (ich dachte zuvor, dass dies nicht der Fall wäre), aber die Geschwindigkeit ihrer Berechnung dominiert nicht mehr die Mining-Geschwindigkeit.