It is an open suite of protocols: rules for exchanging messages. The core Mining Protocol carries mining jobs and results; optional Template Distribution and Job Declaration allow miners to use their own block templates. A V2 connection alone does not guarantee that ability.
Eva owns an ASIC, a device specialised for Bitcoin mining. She has connected it to a pool, which coordinates several miners and distributes rewards. The machines search for a computation result that allows a new block, a batch of transactions, to be added to Bitcoin’s history. She needs her machine to receive the right instructions and its results to reach the pool she actually chose. Later, she also wants to decide which transactions it tries to include in a block. Stratum V2 handles communication between these participants. Mining Protocol is the foundation; Template Distribution and Job Declaration are optional parts for supplying block information and agreeing on custom work. Two pools advertising V2 may therefore offer different capabilities. [1] [3]
Stratum V1 made collaboration between miners easier, but its usual unencrypted connection left messages readable in transit. The pool also generally chose the transactions. In 2019, Jan Čapek and Pavel Moravec of Braiins presented Stratum V2 together with Matt Corallo and other developers. They wanted protected, more efficient communication and greater independence for miners. The specification is public, and development continues as an open project. This does not introduce new rules for valid Bitcoin blocks or automatically promise higher earnings. [8] [6]
An outsider on the internet path between Eva and the pool must not be able to quietly read or alter mining messages. V2 therefore uses encrypted communication with a message-integrity check, known as AEAD. The initial Noise cryptographic handshake is mandatory for remote connections under the specification; its use on a local network can be optional. The client verifies the server using the pool authority public key obtained through a trusted channel. That key checks the digital signature used to authenticate the server. This protects the transfer, not everything around it: the pool still sees the information sent to it, and encryption proves neither safe firmware nor correct accounting or the ability to pay rewards. [2] [10]
Eva does not always need to replace her mining equipment. A Translation Proxy is an intermediary that can receive Stratum V1 from an older machine and use V2 toward the pool. Protecting this second leg does not change the original ASIC-to-proxy communication: it remains V1 and needs its own protection. A proxy can also serve several machines together and reduce repeated transmission of the same information. Translating the protocols alone does not mean that Eva chooses transactions. That requires additional capabilities and a cooperating pool. [7] [8]
To choose transactions, Eva first needs to know which ones are valid and which block to build on. She can obtain this information from her own full node, which independently checks Bitcoin’s rules. A Template Provider is software that supplies a block template: a draft of a future block, not a finished block. It may use Bitcoin Core or another node with the required support. Template Distribution pushes updates instead of repeatedly polling getblocktemplate. NewTemplate and SetNewPrevHash announce the template and its link to the previous block; RequestTransactionData requests transaction data, and SubmitSolution returns a found solution. [5]
Eva uses a Job Declarator Client, a program that receives her templates and arranges their use with a pool supporting Job Declaration. In Full-Template mode, it requests a work identifier through AllocateMiningJobToken, lists transactions in DeclareMiningJob and, if necessary, answers ProvideMissingTransactions. It then sends SetCustomMiningJob to the mining server. Coinbase-only mode does not disclose the transaction list in advance and does not use DeclareMiningJob; it works with the allocated identifier and information about the coinbase, the special transaction carrying the block reward. The pool can reject a proposal, so fallback connections matter too. Independently selecting transactions for a block can spread decision-making among more miners, but it does not remove the pool’s obligation to pay rewards. [4]
You can understand the example above without knowing message names. For configuration or development, however, the exact format matters. V2 carries data in binary form, an agreed machine-readable representation. A message header is 6 bytes long; extension_type, msg_type and msg_length identify the extension, message type and payload length. After establishing cryptographic communication, the first protocol message is SetupConnection, which negotiates the protocol, version and feature requirements. SetupConnection.Success confirms success. A service’s V2 label cannot replace this actual agreement between particular programs. [1]
A channel is a separate mining session within a connection, not another blockchain or a payment channel. A Standard Channel assigns work on the block header, a short summary of the block’s data. An Extended Channel lets an intermediary divide a larger range of possible attempts using extranonce, a variable part of the coinbase transaction. A Group Channel helps distribute jobs to several channels together. OpenStandardMiningChannel and OpenExtendedMiningChannel open the corresponding sessions. The practical reason is simple: if two machines tried identical possibilities, they would consume electricity doing the same work. [3]
The pool needs an ongoing measure of Eva’s contribution. A mining share is a result that meets the assigned difficulty threshold; most shares do not meet the stricter network threshold for a block, although some can. NewMiningJob or NewExtendedMiningJob supplies the work, SetNewPrevHash activates the link to the previous block, and SetTarget sets the channel’s threshold. SubmitSharesStandard or SubmitSharesExtended sends results, carrying the job identifier, a sequence number and the variable header data. An accepted result is not yet a wallet payout. Pool rewards and block validity under Bitcoin’s rules remain separate matters. [3]
First she checks support in her equipment, software and chosen pool. Then she establishes which connection segment is protected, where the verification key comes from, and whether she wants safer transport alone or also to choose the transactions for a block herself. The latter requires a working Template Provider, Job Declarator Client and matching pool support. She monitors delays, rejected and stale shares, error logs and behaviour during an outage. Instructions must match the version in use. Stratum V2 can improve mining coordination; it does not replace secure device management or change the rules full nodes use to validate Bitcoin. [6] [7]
For the clearest picture, read this entry together with Bitcoin, Mining, Mining Pool, Braiins, Braiins Pool, ASIC Miner. The reverse links also lead from ASIC Miner, Mining Pool, Nonce, Marek “Slush” Palatinus.