A high-throughput, horizontally-scalable transaction distribution system for BSV (Bitcoin SV) 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 BSV 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 |
|---|---|---|
| shard-proxy | Ingress | Stateless ingress proxy; receives frames, derives multicast group, forwards verbatim |
| ingress-infra | Ingress (deploy) | Ansible/Terraform automation for shard-proxy nodes |
| shard-listener | Egress | Multicast subscriber; filters by shard/subtree, forwards to unicast and multicast consumers |
| listener-infra | Egress (deploy) | Ansible/Terraform automation for shard-listener nodes |
| retry-endpoint | Retransmission | Caches frames, retransmits on NACK requests; beacon-advertised |
| retransmission-infra | Retransmission (deploy) | Ansible/Terraform automation for retry-endpoint nodes |
| shard-manifest | Manifest | BRC-139 announcer; periodic shard_bits + joined-groups beacon |
| manifest-infra | Manifest (deploy) | Ansible/Terraform automation for shard-manifest nodes |
| shard-common | Shared library | Protocol primitives: frame, shard, seqhash, sequence, txidset |
| subtx-generator | Testing | Traffic generator for load/functional testing; BRC-127/131/132/134 senders |
| multicast-test | Testing | Integration test harness: Go + Docker scenarios (harness/) and legacy LXD VM lab (vm-lab/) |
| multicast-kube-infra | Kubernetes (deploy) | k0s-reference + Helm composition of the full stack; distribution-agnostic |
| integrated-infra | Collapsed node (deploy) | Ansible/Terraform automation for a collapsed single-host node (shard-proxy + shard-listener + retry-endpoint) |
| shard-proxy-helm | Helm chart | Chart for shard-proxy |
| shard-listener-helm | Helm chart | Chart for shard-listener |
| retry-endpoint-helm | Helm chart | Chart for retry-endpoint |
| subtx-generator-helm | Helm chart | Chart for subtx-generator |
| shard-manifest-helm | Helm chart | Chart for shard-manifest |
| bsv-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-139 Shard Manifest Announcement — Periodic participant configuration announcement (shard_bits + joined groups)
- NACK Retransmission Flow — End-to-end pipeline diagrams
Meshed multi-node deployment (ip6gre fabric mesh, bidirectional consumer
tunnels, consumer-edge scale-out, WireGuard admin overlay, fleet deployment) is
documented in the per-component infra repos — see
integrated-infra docs/mesh.md
and docs/admin-overlay.md.
See LICENSE.