229 / 691JNP

Job Negotiation

Uzgadnianie własnej pracy wydobywczej

Job Negotiation oddziela wybór transakcji od wspólnego rozliczania wydobycia. Efekt zależy od protokołów, trybu ujawniania danych i reakcji na odmowę; samo połączenie przez Stratum V2 nie wystarczy.

Job Negotiation oznacza uzgadnianie własnej pracy między górnikiem a poolem. Specyfikacja Stratum V2 opisuje je przez Job Declaration Protocol wraz z dystrybucją szablonów i zadań wydobywczych.

Mining Protocol może działać bez Job Declaration i Template Distribution. Pool nadal wtedy jednostronnie rozsyła pracę. Własny wybór wymaga odpowiedniego klienta, dostawcy szablonów i wspierającego poola, nie tylko innego transportu. [Stratum V2 — Mining Protocol and Custom Jobs] [SRI — Pool and miner application roles]

Przez CoinbaseOutputConstraints, Template Provider otrzymuje wymagania dodatkowych wyjść coinbase i sigops. JDC musi ustalić je dla używanych pooli. Bez odpowiedniej rezerwy wyjścia wypłat mogłyby przekroczyć limity bloku; wybór transakcji wiąże się więc z jego składaniem. [Stratum V2 — Template Distribution Protocol]

W Full-Template JDC wysyła DeclareMiningJob do JDS. Serwer może poprosić o brakujące transakcje przez ProvideMissingTransactions. Potwierdzenie deklaracji i późniejsze przyjęcie własnej pracy przez pool to dwa osobne kroki, nie jeden komunikat. [Stratum V2 — Job Declaration Protocol]

Coinbase-only nie używa DeclareMiningJob, a JDC nie ujawnia zbioru transakcji. Pool ocenia przychód z coinbase. Prywatność zbioru nie dowodzi poprawności ani deklarowanych opłat; specyfikacja wprost opisuje to ryzyko. [Stratum V2 — Job Declaration Protocol]

SetCustomMiningJob wskazuje mining_job_token od JDS. Po przyjęciu pool zwraca SetCustomMiningJob.Success z własnym job_id. Identyfikatory pełnią różne role; wyniki zgłasza się dla potwierdzonego zadania z odpowiednim job_id. [Stratum V2 — Mining Protocol and Custom Jobs]

Przy dostępnych danych optymistyczne wydobycie może zacząć się przed SetCustomMiningJob.Success. Znalezione shares przechowuje się do potwierdzenia. Samo hashowanie nie oznacza, że pool już przyjął pracę albo naliczył nagrodę. [Stratum V2 — Mining Protocol and Custom Jobs]

Po SetCustomMiningJob.Error lub przekroczeniu czasu specyfikacja zaleca inny pool albo wydobycie solo. Odporność zależy od działającego fallbacku. Ciche kontynuowanie na szablonie odmawiającego poola nie zachowałoby pierwotnego wyboru transakcji. [Stratum V2 — Mining Protocol and Custom Jobs] [SRI — Pool and miner application roles]

JDC musi przypisać wartość wyznaczonemu wyjściu poola, by uzyskać wspólne nagrody. Przekierowanie części przychodu na inne wyjścia może proporcjonalnie zmniejszyć nagrodę. Job Declaration nie zmienia wspólnego rozliczania w automatyczną wypłatę bezpośrednią dla górnika. [Stratum V2 — Job Declaration Protocol]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Stratum V2, getblocktemplate, Mining Pool, Block Template. Do tego hasła prowadzą również odsyłacze z Stratum V2, Mining Pool Centralization.

DOC · 001Stratum V2 — Mining Protocol and Custom JobsSpecyfikacja ↗DOC · 002Stratum V2 — Job Declaration ProtocolSpecyfikacja ↗DOC · 003Stratum V2 — Template Distribution ProtocolSpecyfikacja ↗DOC · 004SRI — Pool and miner application rolesŹródło pierwotne ↗
Najpierw źródła · To nie jest porada inwestycyjna