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 не равны согласованной функции. [Stratum V2 — Protocol Overview] [Stratum V2 specification repository]
Для remote links обязательна криптографическая session; optional handshake применяет Noise, затем AEAD защищает конфиденциальность и целостность. 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 возвращает найденный блок. [Stratum V2 — Protocol Overview] [Stratum V2 — Template Distribution Protocol]
Job Declarator Client получает token через AllocateMiningJobToken, отправляет DeclareMiningJob и иногда ProvideMissingTransactions, затем SetCustomMiningJob. Только принявший flow pool разрешает свой 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.