A high-throughput, horizontally-scalable transaction distribution system for Bitcoin SV (BSV) designed to pave the road towards 1 billion+ transactions per second. It uses IPv6 multicast to efficiently distribute transaction data across a fabric of subscribers (miners, exchanges, service providers) with deterministic sharding and NACK-based reliability.
Conceptual Attribution: The IPv6 multicast transaction broadcast architecture from which this software draws inspiration was articulated by Dr. Craig S. Wright in Multicast Within Multicast: Anycast, Sharded Resends, and Hierarchical Distribution for Transaction and Block Propagation.
The reference architecture treats IPv6 multicast as the only medium that can carry Bitcoin SV at billion-transactions-per-second scale: anycast-load-balanced ingress proxies deterministically shard transactions onto independent multicast groups, each subscriber receives only the shards it cares about, and lost packets are recovered through per-shard NACK requests to cache endpoints that re-multicast the missing frames. This project is the concrete implementation of that pipeline — stateless sharded ingress, multicast fan-out fabric, NACK-based sharded resends, and hierarchical distribution of blocks, subtrees, coinbase, and anchor transactions over reserved control groups.
| Repository | Role | Purpose |
|---|---|---|
| bitcoin-shard-proxy | Ingress | Stateless ingress proxy; receives frames, derives multicast group, forwards verbatim |
| bitcoin-ingress | Ingress (deploy) | Ansible/Terraform automation for bitcoin-shard-proxy nodes |
| bitcoin-shard-listener | Egress | Multicast subscriber; filters by shard/subtree, forwards to unicast and multicast consumers |
| bitcoin-listener | Egress (deploy) | Ansible/Terraform automation for bitcoin-shard-listener nodes |
| bitcoin-retry-endpoint | Retransmission | Caches frames, retransmits on NACK requests; beacon-advertised |
| bitcoin-retransmission | Retransmission (deploy) | Ansible/Terraform automation for bitcoin-retry-endpoint nodes |
| bitcoin-shard-common | Shared library | Protocol primitives: frame, shard, seqhash, sequence |
| bitcoin-subtx-generator | Testing | Traffic generator for load/functional testing; BRC-127/131/132/134 senders |
| bitcoin-multicast-test | Testing | Integration test harness: Go + Docker scenarios (harness/) and legacy LXD VM lab (vm-lab/) |
| bitcoin-multicast | Documentation | This repository; project overview, design, and BRC specifications |
- DESIGN.md — Comprehensive design overview: architecture, data flow, sharding, frame format, components, retransmission, subtree filtering, deployment
- BRC-124 Frame Format — 92-byte wire format with HashKey/SeqNum per-flow sequencing
- BRC-126 Retransmission Protocol — NACK/ACK/MISS, ADVERT beacon, tier/preference model
- BRC-127 Subtree Group Announcement — Dynamic subtree-to-group binding protocol
- BRC-128 Extended Format — BRC-30 EF payloads within BRC-124 frames
- BRC-129 Multicast Group Address Assignments — IPv6 address scheme, control-plane indices
- BRC-130 Fragmentation — Large-transaction fragmentation; per-fragment NACK; listener reassembly
- BRC-131 Block Announcement Frame Format — BlockAnnounce/CoinbaseTx frame types; control-group routing
- BRC-132 Subtree Data Frame Format — Subtree data distribution with Merkle roots
- BRC-133 Coinbase Transaction Frame Format — Coinbase transaction wire format on the control channel
- BRC-134 Anchor Transaction Frame Format — Chained anchor transaction distribution
- BRC-135 Multicast Block Header Format — Standalone 80-byte block header split; emitter-originated
- BRC-137 Shard Manifest Announcement — Periodic participant configuration announcement (shard_bits + joined groups)
- NACK Retransmission Flow — End-to-end pipeline diagrams
See LICENSE.