229 / 691JNP

Job Negotiation

Aushandeln eigener Mining-Arbeit

Job Negotiation trennt Transaktionsauswahl von gemeinsamer Mining-Abrechnung. Die Wirkung hängt von beteiligten Protokollen, Datenoffenlegung und Reaktion auf Ablehnung ab; eine Verbindung über Stratum V2 allein reicht nicht.

Job Negotiation bezeichnet die Abstimmung eigener Mining-Arbeit zwischen Miner und Pool. Die Stratum-V2-Spezifikation beschreibt sie im Job Declaration Protocol zusammen mit Vorlagen- und Job-Verteilung.

Das Mining Protocol kann ohne Job Declaration und Template Distribution arbeiten. Dann verteilt der Pool weiterhin einseitig Arbeit. Eigene Auswahl braucht passenden Client, Vorlagenanbieter und unterstützenden Pool, nicht bloß ein anderes Transportprotokoll. [Stratum V2 — Mining Protocol and Custom Jobs] [SRI — Pool and miner application roles]

Über CoinbaseOutputConstraints erhält der Template Provider Anforderungen an zusätzliche Coinbase-Outputs und sigops. JDC muss sie für verwendete Pools ermitteln. Ohne richtige Reserven könnten Auszahlungsoutputs die Blockgrenzen überschreiten; die Transaktionsauswahl hängt deshalb mit der Zusammenstellung zusammen. [Stratum V2 — Template Distribution Protocol]

Im Modus Full-Template sendet JDC DeclareMiningJob an JDS. Der Server kann fehlende Transaktionen über ProvideMissingTransactions anfordern. Bestätigung der Deklaration und anschließende Annahme eigener Arbeit durch den Pool sind getrennte Schritte, keine einzelne Nachricht. [Stratum V2 — Job Declaration Protocol]

Coinbase-only verwendet DeclareMiningJob nicht, und JDC legt die Transaktionsmenge nicht offen. Der Pool bewertet Einnahmen anhand der Coinbase. Vertraulichkeit der Menge beweist weder Gültigkeit noch deklarierte Gebühren; die Spezifikation beschreibt dieses Risiko ausdrücklich. [Stratum V2 — Job Declaration Protocol]

SetCustomMiningJob verweist auf einen mining_job_token von JDS. Bei Annahme liefert der Pool SetCustomMiningJob.Success mit eigener job_id. Die Kennungen haben unterschiedliche Aufgaben; Ergebnisse werden für den bestätigten Job mit passender job_id eingereicht. [Stratum V2 — Mining Protocol and Custom Jobs]

Mit den nötigen Daten kann optimistisches Mining vor SetCustomMiningJob.Success beginnen. Gefundene Shares werden bis zur Bestätigung gepuffert. Laufendes Hashing bedeutet daher nicht, dass der Pool die Arbeit schon angenommen oder vergütet hat. [Stratum V2 — Mining Protocol and Custom Jobs]

Nach SetCustomMiningJob.Error oder Timeout empfiehlt die Spezifikation einen anderen Pool oder Solo-Mining. Widerstandsfähigkeit hängt von funktionierendem Fallback ab. Stillschweigend mit der Vorlage des ablehnenden Pools weiterzumachen würde die ursprüngliche Transaktionsauswahl nicht erhalten. [Stratum V2 — Mining Protocol and Custom Jobs] [SRI — Pool and miner application roles]

JDC muss dem vorgesehenen Pool-Output Wert zuweisen, um Pool-Vergütung zu erhalten. Umleitung eines Einnahmenteils in andere Outputs kann diese anteilig senken. Job Declaration macht gemeinsame Abrechnung daher nicht zur automatischen direkten Auszahlung an den Miner. [Stratum V2 — Job Declaration Protocol]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Stratum V2, getblocktemplate, Mining Pool, Block Template. Auf diesen Eintrag verweisen außerdem Stratum V2, Mining Pool Centralization.

DOC · 001Stratum V2 — Mining Protocol and Custom JobsSpezifikationDOC · 002Stratum V2 — Job Declaration ProtocolSpezifikationDOC · 003Stratum V2 — Template Distribution ProtocolSpezifikationDOC · 004SRI — Pool and miner application rolesPrimärquelle
Quellenbasiert · Keine Anlageberatung