93 / 691SV1

Stratum V1

Těžební protokol od přihlášení workera po odevzdání share

Stratum V1 je de facto komunikační protokol mezi bitcoinovým těžebním poolem a minerem, který Marek Palatinus představil v roce 2012 jako škálovatelnější náhradu getwork.

Pool přes trvalé TCP spojení posílá mining joby a poolový target; miner skládá coinbase a hlavičku, prohledává nonce prostor a odevzdává shares. Protokol neurčuje výplatní metodu ani pravidla konsenzu Bitcoin.

Stratum V1 je aplikační vrstva pro komunikaci poolu s mining zařízením nebo proxy. Není součástí peer-to-peer protokolu Bitcoin, neurčuje platnost bloku a pojmy PPS, FPPS či PPLNS jsou oddělená účetní pravidla poolu. [Bitcoin Wiki — Stratum mining protocol] [Braiins — Past and future of mining protocols]

Starší getwork předával omezené kusy práce častými RPC dotazy. Marek Palatinus v roce 2012 navrhl trvalé spojení, na kterém server bez nového dotazu okamžitě oznamuje job; pool pod povrchem typicky získává block template přes getblocktemplate. [Original Stratum mining protocol announcement] [Braiins — Past and future of mining protocols] [BIP 22 — getblocktemplate fundamentals]

Miner obvykle pošle mining.subscribe a dostane identifikátor relace, extranonce1 a velikost extranonce2. mining.authorize přiřadí účet či worker name; jeho heslo ale samo neověřuje server a z plaintextového TCP nedělá šifrovaný kanál. [Bitcoin Wiki — Stratum mining protocol] [Hardening Stratum research paper]

mining.notify nese job_id, předchozí block hash, dvě části coinbase, Merkle branches, version, nBits, nTime a clean_jobs. Hodnota clean_jobs říká, zda má zařízení zahodit staré joby; neříká, že je oznámený kandidát platným blokem. [Bitcoin Wiki — Stratum mining protocol]

Miner vloží extranonce1 a zvolený extranonce2 mezi části coinbase, transakci dvakrát zahashuje a s Merkle branches dopočítá Merkle root. Z něj, prevhash, version, nBits, nTime a nonce sestaví 80bytovou hlavičku pro ASIC. [Bitcoin Wiki — Stratum mining protocol] [Bitcoin Developer Guide — Pooled Mining]

mining.set_difficulty nastavuje lehčí poolový target používaný k měření práce; vardiff může hodnotu měnit tak, aby shares chodily v rozumném intervalu. Share pod poolovým targetem není blok, pokud současně nesplní přísnější síťový target Bitcoin. [Bitcoin Wiki — Stratum mining protocol] [Bitcoin Developer Guide — Pooled Mining]

mining.submit posílá worker name, job_id, extranonce2, nTime a nonce; s version rolling může přibýt šestý parametr. Pool ověřuje rekonstrukci a target. Výsledek může odmítnout jako duplicate, low difficulty nebo stale po změně špičky či jobu. [Bitcoin Wiki — Stratum mining protocol] [BIP 310 — Stratum protocol extensions]

Původní V1 neměl obecný bezpečný způsob vyjednání schopností. Návrh BIP 310 z roku 2018 přidává mining.configure, version-rolling mask, minimum-difficulty a subscribe-extranonce; podpora rozšíření se musí potvrdit a mezi implementacemi se liší. [BIP 310 — Stratum protocol extensions]

V1 se běžně provozuje jako nešifrovaný TCP, takže bez další ochrany neautentizuje endpoint a je zranitelný vůči odposlechu či přesměrování hashratu. Pool v obvyklém modelu vybírá block template, ale plné uzly stále vynucují konsenzus Bitcoin a ASIC zůstává těžaři. [Hardening Stratum research paper] [Galaxy Research — Future of Bitcoin mining protocols]

Stratum V2 používá binární rámce, kryptograficky chráněný kanál a oddělené role; Job Declaration může umožnit vlastní výběr transakcí. Překladač V1/V2 ani nápis V2 sám tuto volbu nedokazuje. Ověřují se endpoint, firmware, latence, rejects, failover a template policy. [Stratum V2 Mining Protocol specification] [Braiins Academy — Stratum V2 Manual]

Pro nejúplnější obraz čtěte toto heslo společně s Bitcoin, Těžba, Mining Pool, Braiins, Braiins Pool, Marek „Slush“ Palatinus. Opačným směrem na něj odkazují také Marek „Slush“ Palatinus, Braiins Pool, Stratum V2.

DOC · 001Original Stratum mining protocol announcementPrimární zdrojDOC · 002Bitcoin Wiki — Stratum mining protocolDokumentaceDOC · 003Braiins — Past and future of mining protocolsPrimární zdrojDOC · 004Bitcoin Developer Guide — Pooled MiningDokumentaceDOC · 005BIP 22 — getblocktemplate fundamentalsPrimární zdrojDOC · 006BIP 310 — Stratum protocol extensionsPrimární zdrojDOC · 007Hardening Stratum research paperPrimární zdrojDOC · 008Stratum V2 Mining Protocol specificationPrimární zdrojDOC · 009Galaxy Research — Future of Bitcoin mining protocolsDokumentaceDOC · 010Braiins Academy — Stratum V2 ManualDokumentace
Ověřeno 1. srpna 2026Primární zdroje · Nejde o investiční doporučení