Price:

BITCOIN

Bitcoin Core adopts sidecars for modular mining protocol

Thursday, July 16, 2026 · from 1 podcast
  • Bitcoin Core added a new IPC interface to support Stratum v2 mining via external sidecar apps, avoiding protocol bloat.
  • The upgrade includes a key RPC to let pools fetch specific transactions by witness ID for block verification.
  • Node developers dismissed a fountain code proposal for pruned nodes, citing privacy risks and over 21,000 available full nodes.

The Bitcoin Core project is modularizing its infrastructure to improve efficiency while defending its codebase from becoming a sprawling monolith. Instead of integrating the new Stratum v2 mining protocol directly, developers introduced a generic IPC (Inter-Process Communication) interface. A sidecar application will handle the translation between Core’s internal language and the mining protocol.

This move, covered in depth by Bitcoin Optech, keeps complexity at arm's length. The node itself will speak Cap’n Proto over a Unix socket - a format significantly more efficient than wrapping multi-megabyte block templates in JSON-RPC.

"Core now speaks a generic IPC language that a 'sidecar' app translates into Stratum v2."

- Bitcoin Optech

To make this work for miners, a critical pull request added the ability for a node to fetch transactions by witness ID. This is essential for pool operators who need to reconstruct and verify custom block templates proposed by individual miners. Without this RPC method, a pool's node had no efficient way to retrieve the specific transactions needed for validation.

Node developers concurrently dismissed a separate proposal to make pruned nodes useful for Initial Block Download. The research suggested using fountain codes, where pruned nodes store tiny 'droplets' of block data to assist new nodes. Shores argued the scheme was premature and raised concerns from Murch about creating a permanent fingerprint for nodes and slower synchronization.

The network already has a robust foundation of over 21,000 full nodes serving the entire blockchain. With a validated header chain, a new node can download raw block data from any source - including a centralized provider like Amazon - and still cryptographically verify its integrity.

Source Intelligence

- Deep dive into what was said in the episodes

Bitcoin Optech: Newsletter #413 RecapJul 14

  • Stratum v2's mining IPC interface uses Cap'n Proto over a Unix socket for efficiency, replacing JSON-based RPC for large data like block templates.
  • Shores says IPC was designed for splitting Bitcoin Core's node, wallet, and GUI processes, not originally for mining. It can serve indexers or Electrum servers.
  • Bitcoin Core avoids speaking Stratum v2 directly to reduce code complexity and network port risks. A sidecar app translates between IPC and the protocol.
  • PR 34020 adds two IPC methods to fetch transactions by TXID or witness ID. This lets a Stratum v2 job declarator reconstruct a block from the node's mempool.
  • Lucas's fountain code research proposes prune nodes store 'droplets' of block data to assist IBD. Murch notes concerns: slower sync, fingerprinting risk, adversarial 'murky nodes.'
  • Shores points to 21,000 nodes serving the full blockchain. He argues BitTorrent or Amazon could supply data if header validation exists, making fountain codes premature.
  • Bitcoin Core 31.1 fixes a bug where private broadcast could fall back to clearnet if V2 transport fails. It now retries V1 transport while retaining the proxy.
  • A UTXO database flush every hour caused excessive disk churn via LevelDB compaction. Core 31.1 reduces compaction frequency, backported to 30.3 and 29.4.
  • Core 31.1 also includes wallet migration fixes and intentional background compaction to manage disk I/O predictably.
  • LND 20.2 beta fixes a DNS fallback panic during peer discovery by validating record types, not assuming SRV. It also patches an HTLC forward interceptor issue.
  • Bitcoin Core PR 32489 adds an Export Watch Only Wallet RPC, exporting public descriptors and metadata. It simplifies multisig tutorials, eliminating manual bash scripts.
  • PR 32606 updates compact block relay: Bitcoin Core ignores compact block messages from peers that didn't negotiate support, aren't high-bandwidth, or run blocks-only mode.
  • Murch explains high-bandwidth peers send compact blocks unannounced, speeding propagation. Blocks-only nodes reject them because they lack a mempool for reconstruction.
  • Malicious compact block announcements could probe a node's mempool, especially for blocks-only nodes. The fix reduces this attack surface.
  • Core Lightning PRs 9104 and 9292 implement experimental Simple Close Option, a cooperative close protocol where peers independently broadcast signed closing transactions.
  • PR 9292 fixes an edge case where Core Lightning could accept then reject an uneconomical OP_RETURN output, preventing a forced close.
  • Eclair now fails incoming HTLCs with CLTV expires beyond 2016 blocks to prevent resource consumption, mirroring its existing rule for outgoing HTLCs.
  • LND's PR adds invoice request message support for Bolt 12 offers, building on prior groundwork. Full signature verification and offer checking remain for future PRs.