Share Difficulty beschreibt, wie anspruchsvoll die Bedingung ist, die ein Rechenergebnis erfüllen muss, damit der Pool es als Share annimmt, also als laufenden Arbeitsnachweis. Bei höherer Schwierigkeit erfüllen im Durchschnitt weniger Ergebnisse aus derselben Anzahl von Versuchen die Bedingung. Das ist eine andere Einstellung als die Schwierigkeit, einen Block im Bitcoin-Netzwerk zu finden.
Beim Mining entstehen Hashes: Rechenergebnisse, die sich als Zahlen lesen lassen. Damit der Pool ein Ergebnis annehmen kann, darf es nicht über dem festgelegten Zielwert liegen. Ein niedrigerer Zielwert ist strenger, weil weniger Ergebnisse darunterfallen. Share Difficulty steigt also, wenn der Zahlenwert des Ziels sinkt. Für technisch Interessierte: Stratum V2, das die Kommunikation mit dem Pool regelt, übermittelt diese Grenze im Feld target der Nachricht SetTarget. Das Nachrichtenformat muss man nicht kennen, um das Prinzip zu verstehen: Eine niedrigere Zahlengrenze macht die Bedingung für den Miner schwieriger. [1]
Angenommen, der Pool erhöht Petras Schwierigkeit von 1024 auf 2048. Bei gleicher Hashrate, also gleich vielen Rechenversuchen pro Sekunde, und derselben Umrechnung erwarten wir in einem gleich langen Zeitraum ungefähr halb so viele passende Ergebnisse. Die Maschine rechnet unverändert schnell; lediglich weniger Versuche passieren den strengeren Filter. Die einzelnen Zeitabstände bleiben zufällig. Petra sollte deshalb nicht erwarten, dass jeder folgende Share nach genau der doppelten Zeit eintrifft. [2]
Wer nur Nachrichten zählt, vergleicht unterschiedliche Größen. Braiins erklärt die Abrechnung daher anhand von Arbeitseinheiten, die nach Schwierigkeit umgerechnet werden. Zwei akzeptierte Ergebnisse mit Schwierigkeit 1024 haben zusammen dasselbe Gewicht wie eines mit Schwierigkeit 2048. Weniger Nachrichten beweisen somit keinen geringeren Beitrag. Dieses Abrechnungsgewicht darf Petra aber auch nicht mit der exakten Anzahl tatsächlich ausgeführter Berechnungen verwechseln: Es ist ein statistischer Arbeitsnachweis. Die finanzielle Vergütung hängt außerdem von den Regeln des Pools ab. [3]
Eine Änderung der Share Difficulty beschleunigt den ASIC, den spezialisierten Chip im Miner, nicht von selbst. Sie verändert auch nicht den Zielwert für einen Block im Bitcoin-Netzwerk. Bei gleicher Anzahl unabhängiger Versuche und gleicher Netzwerkschwierigkeit bleibt die Chance auf einen Block gleich. Der Pool ändert nur, welche Zwischenergebnisse er erhalten möchte. Eine geringere Share-Schwierigkeit macht Bitcoin-Blöcke also nicht leichter zu finden. [3]
Schwächere und stärkere Geräte würden bei identischer Einstellung sehr unterschiedliche Mengen an Ergebnissen senden. VarDiff, die automatische Anpassung der Schwierigkeit, gleicht diesen Unterschied aus und reduziert unnötigen Datenverkehr. Bei Braiins lässt sich auch ein Minimum einstellen. Es ist eine Untergrenze, keine feste Zuweisung: Je nach Hashrate kann der Pool eine höhere Schwierigkeit wählen. Wenn Petra ihre Einstellung mit der aktuellen Anzeige vergleicht, muss sie zunächst klären, ob sie das Minimum oder die tatsächlich zugewiesene Schwierigkeit liest. [2]
Die Software muss wissen, für welche Arbeit eine Änderung gilt. Laut aktueller Stratum V2-Spezifikation betrifft SetTarget danach empfangene Aufgaben sowie zuvor empfangene zukünftige Aufgaben mit leerem ntime_start. Dieses Feld legt den anfänglichen Zeitstempel im Blockheader fest, der die wichtigsten Daten des Blocks zusammenfasst. Ein leeres Feld kennzeichnet eine Aufgabe, die noch auf ihre Aktivierung wartet. Eine bereits empfangene Aufgabe mit ausgefülltem ntime_start behält ihren Zielwert. Bei der Untersuchung einer Ablehnung genügt es deshalb nicht, das Ergebnis mit der neuesten Grenze zu vergleichen: Es muss der richtigen Aufgabe zugeordnet werden. Normalerweise übernimmt das die Mining-Software. [1]
Petra kann auch auf die Angabe best share stoßen. Braiins Solo bezeichnet damit etwa den Share mit der höchsten erreichten Schwierigkeit innerhalb einer Mining-Sitzung. Die zugewiesene Schwierigkeit beschreibt die Voraussetzung für das Einreichen; best share beschreibt, wie selten das tatsächlich gefundene Ergebnis war. Ein Rekord ist kein angesparter Fortschritt zu einem Block. Selbst ein außergewöhnliches Ergebnis verbessert nicht die Chance des nächsten unabhängigen Versuchs. [4]
Ein zu hoch gewähltes manuelles Minimum kann zu so seltenen Meldungen führen, dass die geschätzte Hashrate stark schwankt. Die Überwachung schlägt dann möglicherweise Alarm, obwohl der ASIC weiterarbeitet. Eine kurze Pause ohne Share beweist für sich genommen keinen Defekt. Petra vergleicht deshalb die zugewiesene Schwierigkeit, den Beobachtungszeitraum, die akzeptierte Arbeit und den Verbindungsstatus. Zusammen helfen ihr diese Angaben, normalen Zufall von einem echten Problem zu unterscheiden. [2]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Mining Share, Mining Target, Hashrate, Mining Pool, Bitcoin. Auf diesen Eintrag verweisen außerdem Mining Pool, Stratum V1, Stratum V2, Mining Share.