EIP-8146: Block Access List Sidecars

This is the discussion thread for EIP-8146: Block Access List Sidecars which proposed to separate the BAL from the ExecutionPayloadEnvelope and have it travel the network separately from the block.

2 Likes

Idea

Do not introduce a new gossipsub topic for BALs. Instead encode BALs as BALs only rows of the EIP-8142 payload blobs and leverage existing PeerDAS data-column subnets plus gossipsub’s partial messages to propagate only the BAL-bearing cells early.

Concretely:

  1. Builder constructs payload blobs as in BiB, but with a layout that keeps BALs in isolated blobs
  2. Builder commits to its blobs with KZG commitments in the bid
  3. Once the beacon block containing the accepted bid is available the builder advertises availability for the BAL bearing cells on all data column subnets. In contrast to other payload blobs it is safe to builder to start propagation of BAL cells before the attestation deadline
  4. Peers that want early BAL access send request bitmaps for those BAL-bearing cells
  5. After the remaining payload is safe to reveal the builder advertises the remaining payload cells as available

For example, for some peer its column’s view might be the following:

For its custody columns, it requests every cell it needs for normal PeerDAS custody:

request bitmap for C5: [1, 1, 1, 1, 1, 1, 1, 1, …]
request bitmap for C7: [1, 1, 1, 1, 1, 1, 1, 1, …]

For non-custody columns it requests only BAL-bearing cells:
request bitmap for non-custody columns: [1, 1, 0, 0, 0, 0, 0, 0, …]

From builder’s perspective it advertises only BAL-bearing cells for all columns before attestation deadline:
builder's avail bitmap for all columns: [1, 1, 0, 0, 0, 0, 0, 0, …]

After attestation deadline builder advertises all cells for all columns:
builder's avail bitmap for all columns: [1, 1, 1, 1, 1, 1, 1, 1, …]

Benefits:

  1. Avoids introducing another global gossip topic solely for BALs
  2. Reuses PeerDAS data-column propagation
  3. Aligns with BiB model
  4. May be more efficient than propagating the full BAL message especially for large BALs
  5. Peers non-interested in receiving BALs can signal about that in their request bitmaps, thus saving bandwidth

Drawbacks:

  1. Blob is 128KiB with effective capacity about 124KiB. If BALs are much smaller capacity is wasted
  2. Peers interested in receiving BALs now need to subscribe to all column subnets

—

Brief partial messages and cell-level deltas context

  • Peers advertise which cells they have with availability bitmaps and which cells they want with request bitmaps

  • Each message contains a group id which in our case corresponds to the block root and helps peers identify which block the partial message corresponds to

  • Once peers have exchanged bitmaps, they can request the specific parts of the message they are interested in