Mining Protocol transporte jobs et shares par canaux. Job Declaration et Template Distribution, optionnels, séparent construction du template et comptes du pool. V2 ne change ni consensus Bitcoin ni paiements PPS, FPPS ou PPLNS.
Stratum V2 couvre Mining Protocol, Job Declaration Protocol et Template Distribution Protocol. Mining est requis, les deux autres facultatifs. La suite coordonne le travail, pas la propriété des ASIC, les règles Bitcoin ou l’obligation de paiement du pool. [Stratum V2 — Protocol Overview] [Stratum V2 — Mining Protocol] [Stratum V2 — Job Declaration Protocol] [Stratum V2 — Template Distribution Protocol]
Braiins publie Stratum V2 en 2019 avec d’autres développeurs Bitcoin pour corriger les limites du Stratum V1: texte, faible protection, overhead et jobs souvent imposés par le pool. Spécification et implémentations ouvertes continuent d’évoluer. [Stratum V2 specification repository] [Braiins — Past and future of mining protocols] [Bitcoin Optech — Stratum V2 topic]
Chaque message a un en-tête binaire de six octets: extension_type, msg_type et msg_length. SetupConnection négocie d’abord protocole, version et flags; SetupConnection.Success les confirme. Label commercial ou flag non confirmé n’est pas une capacité négociée. [Stratum V2 — Protocol Overview] [Stratum V2 specification repository]
Une session cryptographique est obligatoire à distance; le handshake optionnel utilise Noise puis AEAD protège confidentialité et intégrité. Le client vérifie le certificat avec l’authority public key. Un hop protégé ne prouve ni firmware sûr, ni comptes justes, ni solvabilité du pool. [Stratum V2 — Protocol Security] [Noise Protocol Framework]
OpenStandardMiningChannel ouvre un canal header-only; OpenExtendedMiningChannel permet au proxy de répartir extranonce et espace downstream. Group Channel partage des jobs. Le serveur doit attribuer un search space unique sinon les ASIC calculent deux fois. [Stratum V2 — Mining Protocol]
NewMiningJob ou NewExtendedMiningJob décrit le travail, SetNewPrevHash active prevhash et SetTarget fixe le target du pool. SubmitSharesStandard ou SubmitSharesExtended porte sequence_number, job_id, nonce, nTime et version. Une share mesure le travail; un bloc exige le target Bitcoin. [Stratum V2 — Mining Protocol]
Un proxy agrège des appareils dans un canal extended upstream. Translation Proxy relie des ASIC Stratum V1 au pool V2, mais downstream reste V1: ni V2 natif, ni Noise end-to-end, ni Job Declaration automatique. [Stratum Reference Implementation libraries] [Braiins — Past and future of mining protocols]
Template Distribution relie un Template Provider, généralement nœud complet Bitcoin Core, au pool ou Job Declarator Client. NewTemplate et SetNewPrevHash poussent les templates sans polling getblocktemplate; RequestTransactionData fournit les transactions et SubmitSolution renvoie le bloc. [Stratum V2 — Protocol Overview] [Stratum V2 — Template Distribution Protocol]
Job Declarator Client demande un token via AllocateMiningJobToken, envoie DeclareMiningJob et parfois ProvideMissingTransactions, puis SetCustomMiningJob. Seul un pool acceptant ce flux permet un template propre; il peut inspecter, limiter ou refuser. [Stratum V2 — Protocol Overview] [Stratum V2 — Job Declaration Protocol]
Pour toute offre V2, identifier subprotocols, roles, channel types, flags et version précise; vérifier aussi authority key, endpoint, failover et erreurs. Suivre latency, shares rejected/stale et logs. Label V2, canal ou translator ne prouvent aucun choix des transactions. [Stratum V2 specification repository] [Stratum Reference Implementation libraries] [Galaxy Research — Future of Bitcoin mining protocols]
Pour une vision complète, lisez aussi Bitcoin, Minage, Mining Pool, Braiins, Braiins Pool, ASIC Miner. Cette entrée est également citée par ASIC Miner, Mining Pool, Nonce, Braiins.