Tools/Explorers

Stratum V2: Next Generation Mining Protocol Explained

Guide to Stratum V2: how it improves mining decentralization, security, and efficiency over Stratum V1. Covers encryption, job negotiation, SRI, and adoption.

Spark TeamInvalid Date

What Is Stratum V2?

Stratum V2 is a complete redesign of the communication protocol between Bitcoin miners and mining pools. The original Stratum protocol (now called V1) was created by Marek "Slush" Palatinus in 2012 to replace the earlier getwork protocol. While V1 became the universal standard for pooled mining, it transmits all data as plaintext JSON over unencrypted TCP connections: a design that leaves miners vulnerable to hashrate theft, man-in-the-middle attacks, and censorship by pool operators.

Stratum V2, initially specified in November 2019 by Jan Capek and Pavel Moravec (co-founders of Braiins, formerly Slush Pool) together with Matt Corallo (Bitcoin Core developer), addresses these problems through three core changes: encrypted connections, a compact binary message format, and a job negotiation protocol that allows miners to select their own transactions.

FeatureStratum V1Stratum V2
Message formatJSON-RPC (plaintext)Binary (compact)
EncryptionNoneAEAD (ChaChaPoly via Noise framework)
AuthenticationNoneCertificate-based (Schnorr/BIP 340)
Block template controlPool-controlled exclusivelyMiner can construct own templates
Version rollingRequires BIP 310 extensionNative support
Bandwidth (pool-side)Baseline~60% reduction
Bandwidth (miner-side)Baseline~70% reduction
Block-switching latency~325 ms~1.42 ms

Why Stratum V1 Needed Replacing

Stratum V1 was designed when the Bitcoin network hashrate was a fraction of what it is today. Its JSON-RPC format is verbose and human-readable, which made debugging easy but introduced unnecessary bandwidth overhead at scale. More critically, V1 has no encryption or authentication layer. Every message between a miner and its pool travels in cleartext, which creates several attack vectors.

Hashrate hijacking is the most practical threat: an attacker positioned on the network path (an ISP, a compromised router, or a state-level adversary) can intercept proof-of-work shares before they reach the intended pool, redirect them to a pool the attacker controls, and collect the mining rewards. Stealing as little as 1-2% of a miner's hashrate is enough to materially impact profitability without being immediately obvious to the victim. Braiins has documented suspected cases from miners in China, Kazakhstan, Russia, and Europe.

BGP hijacking attacks can redirect mining traffic at the routing level, and V1's plaintext transport means intercepted traffic can be read and manipulated trivially. Beyond security, V1's most consequential limitation is that pool operators have exclusive control over block templates. Miners receive work units and hash whatever they are given with no ability to choose or even inspect which transactions are included. As of mid-2026, roughly five pools control about 70% of global hashpower, meaning a small number of operators decide the contents of the vast majority of Bitcoin blocks.

Stratum V2 Protocol Architecture

Stratum V2 consists of three sub-protocols, each handling a distinct aspect of the mining workflow. The specification lives at the sv2-spec GitHub repository and comprises 10 documents covering design goals, security, and message types.

Mining Protocol

The Mining Protocol handles the core communication between miners and pools: share submission, difficulty adjustment, and channel management. It supports three channel types (standard, extended, and group) over a single multiplexed connection. The binary framing replaces V1's JSON-RPC with compact messages, and BIP 320 version rolling is built in natively rather than requiring an extension.

Job Declaration Protocol

The Job Declaration Protocol is V2's most significant innovation. It enables miners running their own Bitcoin node to construct block templates locally, selecting which transactions from their mempool to include, and submit those templates to the pool for validation. The pool verifies the proof-of-work but does not dictate block contents. This shifts transaction selection power from a handful of pool operators to thousands of independent miners.

Template Distribution Protocol

The Template Distribution Protocol distributes block templates and transaction data from Bitcoin Core to mining components. It is designed to replace the older getblocktemplate RPC with a more efficient, push-based mechanism that reduces latency when new blocks are found and templates need to be updated quickly.

Encryption and Security

Stratum V2 uses the Noise Protocol Framework for authenticated key exchange and encrypted communication. The specific handshake pattern is Noise_NX_Secp256k1+EllSwift_ChaChaPoly_SHA256. The cryptographic primitives were chosen specifically because they are already present in Bitcoin Core, reducing the implementation burden.

The AEAD cipher is ChaChaPoly (IETF ChaCha20-Poly1305), providing both confidentiality and integrity with a 16-byte MAC on every message. Key exchange uses Elliptic-Curve Diffie-Hellman on secp256k1 with 64-byte ElligatorSwift x-only encoding during the handshake. Authentication relies on a two-level PKI: servers present certificates containing their static public key, validity timestamps, and a 64-byte Schnorr signature (BIP 340) from the pool authority. The authority's public key is distributed via base58-check encoding in mining pool URLs.

This eliminates the entire class of man-in-the-middle attacks that plague V1. An attacker who intercepts V2 traffic sees only encrypted bytes. Without the pool's private key, they cannot impersonate the pool or steal shares.

Performance Benchmarks

Hashlabs Mining published a controlled case study comparing V1 and V2 using two identical Antminer S19k Pro units with stock firmware, simulated network latency, and containerized infrastructure on Bitcoin mainnet and Testnet 4. The results demonstrate measurable improvements in both latency and profitability.

MetricStratum V1Stratum V2Improvement
Block-switching latency~325 ms~1.42 ms228x faster
Wasted hashpower (block switching)~4.9 hours/yearEffectively zeroEliminated
Net profitability upliftBaselineUp to +7.4%Significant at thin margins
Job Declaration profit upliftN/AUp to +2% additionalEliminates template fetch delays
Bandwidth (pool-side)Baseline~60% reductionBinary framing
Bandwidth (miner-side)Baseline~70% reductionBinary framing

The 228x improvement in block-switching latency is particularly significant for mining economics. When a new block is found, miners need to switch to a new template immediately. Under V1, the ~325 ms switching delay means miners waste hashpower on stale work after every block. Over a year, this adds up to roughly 4.9 hours of wasted computation per ASIC miner. For operations running on thin margins (10-15% profit), a 7.4% profitability improvement can be the difference between viability and shutdown.

Transaction Selection and Censorship Resistance

V2's Job Declaration Protocol directly addresses one of Bitcoin mining's growing centralization risks. Under V1, pool operators exclusively control which transactions appear in blocks. If a government ordered a major pool to exclude transactions from certain addresses, the pool could comply, and the miners contributing hashrate would have no recourse.

With V2 job negotiation, individual miners running their own Bitcoin node select transactions from their local mempool and propose complete block templates to the pool. The pool validates the proof-of-work but cannot unilaterally override the miner's transaction choices. This distributes censorship resistance across thousands of independent operators rather than concentrating it in a handful of pool administrators.

It is worth noting that under V2, the pool can still theoretically reject a miner's template because it sees the full transaction list. OCEAN's alternative DATUM protocol goes further by making the pool mathematically blind to template contents (it only sees merkle branches). Both approaches represent significant improvements over V1's pool-only model.

Stratum Reference Implementation (SRI)

The Stratum Reference Implementation (SRI) is the open-source, community-maintained implementation of the V2 protocol, written in Rust. The main codebase lives at github.com/stratum-mining/stratum (library crates) with applications (pool, JD client/server, translator proxy) at github.com/stratum-mining/sv2-apps.

SRI v1.0.0 was released on March 22, 2024, after over 600 blocks were mined on testnet. It included the Translation Proxy (bridging V1 firmware to V2 pools), Job Declaration Client, Template Provider, Pool component, and Pool fallback. SRI v1.1.0 followed on October 17, 2024, with documentation improvements and a new integration testing framework.

Development is funded through several sources: OpenSats (a 501(c)(3) charity) provides individual developer grants, Spiral (Block Inc.'s Bitcoin development arm) supports three core developers, and additional funding comes from Galaxy Digital, Foundry, BitMEX, and Summer of Bitcoin.

Adoption Status

Adoption accelerated significantly in 2025 and 2026. On May 7, 2026, seven major pools joined the Stratum V2 Working Group, collectively representing approximately 75% of global Bitcoin hashrate. The network hashrate at the time was roughly 998 EH/s.

Pool / EntityHashrate ShareV2 Status
Foundry USA~34.2%Joined SV2 Working Group (May 2026)
Antpool~14.2%Joined SV2 Working Group (May 2026)
F2Pool~11.3%Joined SV2 Working Group (May 2026)
SpiderPool~10.5%Joined SV2 Working Group (May 2026)
MARA Pool~4.7%Joined SV2 Working Group (May 2026)
Braiins PoolVariableFull native V2 support in production
DEMAND (DMND)EmergingFirst pool built entirely on SRI (launched March 2025)
Block Inc. (Spiral)N/A (funder)Joined SV2 Working Group (May 2026)

On the firmware side, Braiins OS+ is the most mature option with native V2 support across Antminer S19 variants, S21, and S21 XP models. Auradine ships native V2 support across all its ASICs via the FluxOS platform. For miners using V1-only firmware, the SRI Translation Proxy bridges the gap by converting V1 messages to V2 without requiring hardware changes.

For a breakdown of current pool economics and difficulty adjustment dynamics, see the mining calculator and mining pool comparison.

How to Get Started with Stratum V2

There are two paths to running Stratum V2, depending on your firmware.

If your ASIC runs Braiins OS+ or Auradine FluxOS, native V2 support is built in. Configure your miner to connect to a V2-compatible pool (such as Braiins Pool or DEMAND) using the stratum+tcp:// or stratum+ssl:// endpoint provided by the pool. The encrypted handshake and binary framing activate automatically.

If your ASIC runs stock or third-party V1 firmware, deploy the SRI Translation Proxy on your local network. The proxy accepts V1 connections from your miners and translates them to V2 for the upstream pool connection. You get V2's encryption and bandwidth benefits without reflashing firmware. The proxy is available as a Docker container or can be compiled from the SRI repository.

To enable job negotiation (miner-side transaction selection), you also need to run a full Bitcoin node and the SRI Job Declaration Client. The JD Client connects to your node's Template Distribution Protocol endpoint, constructs block templates from your local mempool, and submits them to the pool.

Frequently Asked Questions

What is the difference between Stratum V1 and Stratum V2?

Stratum V1 uses plaintext JSON-RPC over unencrypted TCP, gives pools exclusive control over block templates, and offers no authentication. Stratum V2 replaces this with a compact binary protocol, AEAD encryption via the Noise framework, certificate-based authentication, and a Job Declaration Protocol that allows miners to select their own transactions. V2 reduces bandwidth by 60-70% and cuts block-switching latency from ~325 ms to ~1.42 ms.

Does Stratum V2 make Bitcoin mining more decentralized?

Yes. V2's Job Declaration Protocol shifts transaction selection from pool operators to individual miners. Under V1, a handful of pools decide which transactions appear in the majority of blocks. With V2, miners running their own node can construct block templates locally and propose them to the pool. This makes it significantly harder for any single entity to censor transactions, strengthening Bitcoin's censorship resistance.

Do I need new hardware to use Stratum V2?

No. The SRI Translation Proxy converts V1 connections to V2, allowing any existing ASIC to connect to V2 pools without firmware changes. For native V2 support without a proxy, Braiins OS+ and Auradine FluxOS firmware include built-in V2 capabilities. The protocol upgrade is software-only and does not require new mining hardware.

Which mining pools support Stratum V2?

As of mid-2026, Braiins Pool has full native V2 support in production, and DEMAND (DMND) launched in March 2025 as the first pool built entirely on the SRI codebase. Seven major pools (Foundry, Antpool, F2Pool, SpiderPool, MARA Pool, Block Inc., and DMND) joined the Stratum V2 Working Group in May 2026, collectively representing about 75% of global hashrate. Active deployment timelines vary by pool.

How does Stratum V2 prevent hashrate theft?

V1's plaintext transport allows attackers to intercept and redirect mining shares via man-in-the-middle or BGP hijacking attacks. V2 encrypts all communication using ChaChaPoly (IETF ChaCha20-Poly1305) and authenticates pool servers via Schnorr-signed certificates. An attacker who intercepts V2 traffic sees only encrypted bytes and cannot impersonate the pool or steal shares without the pool's private key.

What is SRI (Stratum Reference Implementation)?

SRI is the open-source, community-maintained reference implementation of Stratum V2, written in Rust. It includes a Translation Proxy (for V1 firmware compatibility), Job Declaration Client, Template Provider, and Pool component. SRI v1.0.0 was released in March 2024, with v1.1.0 following in October 2024. Development is funded by OpenSats, Spiral (Block Inc.), Galaxy Digital, Foundry, and BitMEX.

Does Stratum V2 eliminate empty block mining?

V2 reduces the incentive for empty block mining by drastically cutting block-switching latency (from ~325 ms to ~1.42 ms). Under V1, pools sometimes mine empty blocks immediately after a new block is found because constructing a full template takes time. V2's binary protocol and Template Distribution Protocol make new templates available fast enough that mining empty blocks for latency reasons becomes unnecessary. Additionally, job negotiation means miners who run their own node always have a full template ready.

This guide is for informational purposes only and does not constitute financial or investment advice. Protocol specifications, adoption status, and performance figures are based on publicly available information as of mid-2026. Mining pool hashrate shares fluctuate continuously. Always verify current data before making operational decisions.

Build with Spark

Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.

Read the docs →