Warum produziert die BFL-Single mit P2Pool ~50 % Altbacken?

Ich habe von Benutzern in Bitcointalk-Foren gehört, dass die BFL-Single nicht mit P2Pool funktioniert, da sie etwa 50 % abgelehnte Aktien produziert, was wahnsinnig hoch ist.

Warum ist das?

Ist es möglich, dass das Hashing nicht wirklich auf dem Chip selbst durchgeführt wird? Und es findet nur auf einem externen Server statt und wird dann an den P2Pool-Knoten gesendet, was vielleicht erklären würde, warum die Stale-Rate aufgrund der Netzwerklatenz so hoch ist? (zumal BFL sich weigert zu sagen, welchen Chip sie tatsächlich in ihren Singles verwenden)

Vielen Dank

Ich würde hoffen, dass jemand die BFL auf einem Knoten ohne Netzwerkverbindung (oder stark eingeschränkter und überwachter Netzwerkverbindung) getestet hat, um diese Art von Spielereien auszuschließen.
@ David Nicht notwendig. Die BFL-Einheiten können auf CGminer laufen, einem separat entwickelten Mining-Programm. Es ruft die Low-Level-Funktionen auf, nicht nur "Hash zurückgeben". Sofern der Schöpfer von CGminer (der schon eine ganze Weile dabei ist) mit BFL verbündet ist, scheint mir das das von Ihnen erwähnte Schema zu beseitigen. BFL will den Chip wahrscheinlich nicht herausgeben, weil sie ein älteres Modell im Sonderverkauf bekommen haben und den Bestand für sich behalten wollen.

Antworten (1)

Die BFL-Single erzeugt aufgrund der Art und Weise, wie ihre Firmware entwickelt wurde, hohe Stale-Raten auf P2Pool. Die BFL führt 2^32 Hashes durch und meldet dann alle gefundenen Anteile. Dies dauert etwa 5 Sekunden.

Beim Solo-Mining oder typischen Pools ist die Arbeitseinheit, die Sie erhalten, für mehrere Minuten gültig oder bis ein neuer Block gefunden wird (im Durchschnitt einer alle zehn Minuten). Die durchschnittliche Verzögerung von 2 1/2 Sekunden zwischen dem Finden einer Aktie und dem Melden hat also keine Auswirkungen. Aber P2Pool arbeitet mit einer effektiv viel höheren Blockrate, weil Sie Bausteine ​​für die P2Pool-Kette sind.

Im Wesentlichen kommt es darauf an, welche Rennen Sie gewinnen möchten und ob ein durchschnittliches Handicap von 2 1/2 Sekunden eine Rolle spielt.

Solo-Mining: Sie versuchen, einen Block zu finden, bevor es jemand anderes tut. Das passiert im Durchschnitt alle 10 Minuten. Ihr Handicap von 2 1/2 Sekunden kostet Sie also etwa 0,4 %.

Herkömmlicher Mining-Pool: Sie versuchen, eine Freigabe zu finden, bevor der Block ungültig wird. Sie können mehrere Freigaben innerhalb derselben Arbeitseinheit finden. Arbeitseinheiten dauern in der Regel mindestens 4 Minuten. Im schlimmsten Fall kostet Sie Ihr 2-1/2-Sekunden-Handicap etwa 1 % (normalerweise weniger, insbesondere wenn der Pool eine verzeihende Abnutzungsrichtlinie hat).

P2Pool: Sie versuchen, einen P2Pool-Block abzubauen, bevor jemand anderes eine Freigabe findet. Mehrere Freigaben in einer Arbeitseinheit sind nutzlos, da nur ein Block als nächstes in der P2Pool-Kette kommen kann. Die durchschnittliche Zeit, um einen neuen P2Pool-Block zu finden, beträgt 10 Sekunden. Ihr Handicap von 2 1/2 Sekunden (plus Verlust zusätzlicher Anteile pro Block) kostet Sie etwa 25 %.

Leider sollten alle diese Strafen verdoppelt werden, da Sie die gleiche Strafe treffen, wenn ein neuer Block zum ersten Mal gefunden wird. Alle Ihre Einheiten verbringen im Durchschnitt zusätzliche 2 1/2 Sekunden damit, ihre Arbeit am alten Block zu beenden. (Eigentlich sind die gesamten 5 Sekunden, die für eine Arbeitseinheit aufgewendet werden, während ein neuer Block gefunden wird, verschwendet. Alle Shares, die vor Ablauf der fünf Sekunden gefunden werden, sind verschwendet, da es zu spät ist, sie zu verwenden, und alle Shares, die nach den fünf Sekunden gefunden werden, sind vorbei sind verschwendet, da sie auf dem falschen Block basierten.)

Die Lösung wäre eine einfache Firmware-Änderung, damit der FPGA eine Freigabe meldet, sobald eine gefunden wird. Das würde das halbe Problem lösen. Die nächste Änderung würde darin bestehen, dem FPGA zu ermöglichen, mit der Arbeit an einer neuen Arbeitseinheit zu beginnen, wenn eine neue verfügbar ist, ohne die vorherige beenden zu müssen. Das würde die andere Hälfte des Problems lösen.

Gute Antwort. Zusammengefasst: P2Pool-Blöcke werden im Durchschnitt alle 10 Sekunden gefunden. Die BFL benötigt 5 Sekunden, um eine Reihe von Hashes zu testen. Wenn ein anderer Peer während dieser 5 Sekunden eine Freigabe findet (was in 50 % der Fälle vorkommt), ist die Arbeit des BFL verschwendet.
Danke, dass du es so einfach ausgedrückt hast. Und die Lösung wären zwei Firmware-Änderungen: 1) Wenn ein neuer Block an anderer Stelle gefunden wird, müssen Sie die aktuelle Arbeit unterbrechen und sofort mit der Arbeit an dem neuen Block beginnen. 2) Wenn ein neuer Block lokal gefunden wird, müssen Sie diesen Block sofort dem Host melden, nicht nachdem Sie den Rest des Speicherplatzes durchsucht haben.