Networking Setting the stage Yann, then Sukun · Breakout · Part 1 · 2 November 2026 · Room 205A

Design principles

Change little in I*

DC is already a big consensus change. Networking shouldn’t become the critical path.

Minimum viable first

Whatever gets us 4× faster finality. Measure it, then tweak it.

Easy to scale

Fancier things can come later.

Not in I*.

Ben as a wizard

Ben

We can have it all.

Just not all at once.

Here, only the finality gadget

Available chain

Head votes

Finality gadget

Attestations

Four words

Slot

block

0 s

12 s

One block. 12 s today.

Unit

(subround)

votes

aggregate

0 s

4 s

8 s

One committee: 4 s of votes, then 4 s of aggregation.

Round

0 s

96 s

Every validator casts one FG vote. 8 slots, 96 s.

Height

votes for this height

2/3 of stake

What the FG votes on. Justified at 2/3 of stake.

Two properties we may want

Slots

FG votes

Decoupling

FG votes keep their own clock, not the slot’s.

In I*: decoupled in the spec, 8 slots in practice

Locked to the round

h

h+1

With height progress

h

h+1

h+2

round ends

Height progress

A height can finish mid-round, once 2/3 is in.

Nice in I*, needed in J*

Pipelining: 2× to 3×

Today votes use 4 s of every 12 s. Each extra committee adds 4 s.

0 s

4 s

8 s

12 s

16 s

block

next block

1×

today

votes

aggregate

2×

one more

votes

aggregate

3×

one more

votes

aggregate

Shares its 4 s with the block

We go from 32 subrounds to 23.

Bundled attestations: another 2×

EIP-8334: one copy of the data, many signatures.

4 single attestations · 960 B

data

sig + index

data

sig + index

data

sig + index

data

sig + index

One bundle of 4 votes · 552 B

data

sig + index

sig + index

sig + index

sig + index

240 → 138 B

per vote, in a bundle of 4. Bigger bundles approach 104 B.

From 32 slots to 8

2× and 2× make the 4× faster finality we’re after.

Today

6.4 min

Pipelining, 2×

3.2 min

+ bundling, 2×

An 8-slot round, at today’s bytes per segment

96 s

3× and 2×

Headroom, towards the 4-slot stretch goal

64 s

Fancier things, if we want them later

Consolidation

Fast path

Large staker prioritization

Committee self-selection

DC lays the rails.

Three ways to fill the slot

Not decided yet.

votes

aggregation

block

Staggered publishing

0 s

12 s

Aggregates per slot

1,024

Vote timing

honest

Simple for one fork. Tied to the slot.

Multiple committees

0 s

12 s

Aggregates per slot

3,072

Vote timing

enforced

Battle-tested shape. 3× the aggregates.

One aggregation phase

newest

→ next

0 s

12 s

Aggregates per slot

1,024

Vote timing

enforced

Looks like today’s slot. Aggregates span committees.

Prioritization

Blocks and Goldfish votes first. FG votes fit around them.

0 s

4 s

8 s

12 s

We send all FG votes at the start

capacity

block, Goldfish votes

FG votes

Almost no FG votes alongside Goldfish votes

We do it anyway

Independent of the DC spec: no consensus change.

DC doesn’t rely on it

Minimal spec, on standard networking features.

Bundling should be enough

Sukun’s numbers are next.

Properties

From the property doc. Missing one? Let’s add it this week.

Ground rules for I*

Small change

Forward compatible with J*

Marked: the core of the networking layer, from the intro.

Needed in I* and J*

Low fork dependence of bitlists

Fair vote timing

Fair rewards for validators

Fair rewards for proposers

Uses the whole round

Degrades gracefully

Reliable

Nice in I*, needed in J*

Fast progress in good conditions

Enables a safety gadget

Anonymity enhancing

Enables aggregation builders

+ Decoupled from the slot?

+ Yours

properties.md, in ethereum/dc-networking

The setup

A small change

About 4×, from two moves

A few open choices

Next: Sukun

Can FG votes be aggregated in time?

Benchmarks and devnets