Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions transactions/0135.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,13 @@ The egress group-id is set independently of the fabric group-id. This ensures
BRC-135 frames reach only downstream consumers, not peer fabric subscribers or
retry endpoints on the ingress fabric.

The egress address is shown in ASM (`FF05`) form; under SSM, substitute the
`FF3x` prefix per [BRC-129](./0129.md). The frame format is unchanged. The
frame's source is the emitter (`emitterIPv6`), which stamps its own identity, so
downstream consumers `(S,G)`-join per emitter. Under SSM the multi-emitter
reliability pattern uses distinct per-emitter sources (or VRRP active-standby);
anycast or shared-source emission is not supported (BRC-129).

### Frame Header Format (92 bytes)

The BRC-135 header is layout-identical to BRC-124. All infrastructure components
Expand All @@ -78,7 +85,7 @@ All multi-byte integers are big-endian.
| 6 | 1 | — | Frame Version | 0x07 — BRC-135 block header |
| 7 | 1 | — | Reserved | 0x00 |
| 8 | 32 | 8-byte | BlockHash | SHA256d of the 80-byte block header (internal byte order) |
| 40 | 8 | 8-byte | HashKey | XXH64(emitterIPv6 ∥ 0xFFFE ∥ zeros); stamped by emitter |
| 40 | 8 | 8-byte | HashKey | XXH64(emitterIPv6 ∥ 0xFFFA ∥ zeros); stamped by emitter |
| 48 | 8 | 8-byte | SeqNum | Monotonic per-emitter counter; stamped by emitter |
| 56 | 32 | 8-byte | LayoutPad32 | All zeros (no subtree scope for block headers) |
| 88 | 4 | — | PayloadLen | 0x00000050 (80 = fixed block header size, uint32 BE) |
Expand Down Expand Up @@ -121,12 +128,12 @@ same block.
A stable per-emitter flow identifier computed as:

```
HashKey = XXH64(emitterIPv6 [16 bytes] ∥ 0x0000FFFE [4 bytes BE] ∥ zeros [32 bytes])
HashKey = XXH64(emitterIPv6 [16 bytes] ∥ 0x0000FFFA [4 bytes BE] ∥ zeros [32 bytes])
```

The `0xFFFE` group index is `GroupBlockBroadcast`, the same control-plane index
used by BRC-131/133/134. The 32 zero bytes correspond to the absent SubtreeID.
The HashKey is constant for the lifetime of the emitter process.
The `0xFFFA` group index is `GroupBlockHeader`, the emitter multicast egress
channel (see the group table above). The 32 zero bytes correspond to the absent
SubtreeID. The HashKey is constant for the lifetime of the emitter process.

A value of `0` indicates the field is unset.

Expand Down