Mining Protocol передає jobs і shares каналами. Опційні Job Declaration і Template Distribution відділяють шаблон від обліку pool. V2 не змінює консенсус Bitcoin чи виплати PPS, FPPS або PPLNS.
Stratum V2 охоплює Mining, Job Declaration і Template Distribution Protocol. Mining обов’язковий, інші два опційні. Набір координує роботу, а не власність ASIC, правила Bitcoin чи платіжне зобов’язання pool. [Stratum V2 — Protocol Overview] [Stratum V2 — Mining Protocol] [Stratum V2 — Job Declaration Protocol] [Stratum V2 — Template Distribution Protocol]
Braiins опублікував Stratum V2 2019 року з іншими Bitcoin-розробниками проти обмежень Stratum V1: тексту, слабкого захисту, overhead і односторонніх jobs pool. Відкриті specification та implementations розвиваються далі. [Stratum V2 specification repository] [Braiins — Past and future of mining protocols] [Bitcoin Optech — Stratum V2 topic]
Кожне повідомлення має шестибайтовий header: extension_type, msg_type і msg_length. SetupConnection спершу узгоджує protocol, version і flags; SetupConnection.Success підтверджує їх. Назва продукту чи непідтверджений flag не є negotiated capability. [Stratum V2 — Protocol Overview] [Stratum V2 specification repository]
Для remote link потрібна криптографічна session; optional handshake використовує Noise, потім AEAD дає confidentiality й integrity. Client перевіряє certificate за authority public key. Захищений hop не доводить безпечний firmware, правильний облік чи solvency pool. [Stratum V2 — Protocol Security] [Noise Protocol Framework]
OpenStandardMiningChannel відкриває header-only channel; OpenExtendedMiningChannel дозволяє proxy ділити extranonce і search space downstream. Group Channel поширює jobs. Server має виділити унікальний простір, інакше ASIC дублюють hashes. [Stratum V2 — Mining Protocol]
NewMiningJob або NewExtendedMiningJob описує роботу, SetNewPrevHash активує prevhash, SetTarget задає pool target. SubmitSharesStandard чи SubmitSharesExtended несе sequence_number, job_id, nonce, nTime і version. Share міряє працю; block потребує network target Bitcoin. [Stratum V2 — Mining Protocol]
Proxy агрегує пристрої в extended upstream channel. Translation Proxy підключає Stratum V1 ASIC до V2 pool, але downstream лишається V1: немає native V2, end-to-end Noise чи автоматичного Job Declaration. [Stratum Reference Implementation libraries] [Braiins — Past and future of mining protocols]
Template Distribution з’єднує Template Provider, зазвичай Bitcoin Core full node, з pool або Job Declarator Client. NewTemplate і SetNewPrevHash push-ять templates без getblocktemplate polling; RequestTransactionData дає транзакції, SubmitSolution повертає block. [Stratum V2 — Protocol Overview] [Stratum V2 — Template Distribution Protocol]
Job Declarator Client бере token через AllocateMiningJobToken, надсилає DeclareMiningJob і часом ProvideMissingTransactions, потім SetCustomMiningJob. Тільки pool, що приймає flow, дозволяє власний template; він може перевірити, обмежити чи відхилити. [Stratum V2 — Protocol Overview] [Stratum V2 — Job Declaration Protocol]
Для V2 треба встановити точні subprotocols, roles, channel types, flags і implementation version; окремо authority key, endpoint, failover та errors. Відстежують latency, rejected/stale shares і logs. V2 label, channel чи translator не доводять вибір транзакцій. [Stratum V2 specification repository] [Stratum Reference Implementation libraries] [Galaxy Research — Future of Bitcoin mining protocols]
Для повної картини прочитайте також Bitcoin, Майнінг, Mining Pool, Braiins, Braiins Pool, ASIC Miner. На цю статтю також посилаються ASIC Miner, Mining Pool, Nonce, Braiins.