# ePBS design spaces notes
Author: @terencechain
**Looking at the two approaches in**
- https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877
- https://ethresear.ch/t/two-slot-proposer-builder-separation/10980
**General theme**
- All solutions using a commit-reveal based approach. This mirrors hybrid-PBS / mevboost today
**Common questions: what does it to replace the relayers?**
*Minimal requirements*
- New attester duties
- New fork choice rule
- New p2p gossip networks
- Which leads to open designs (fun!)
**Attester duty for builder header**
- Some shuffling and committee selection algo is required
- Leverage the same trust assumption as existing beacon chain
- What "validations" done on the header is open design space. This dictates the proposer "freedom". What should the protocol enforces that leads to possible extensions:
- MEV burn
- Inclusion list (IL)
**New forkchoice rule(s)**
- Protocol wants to discourage:
- builder & proposer "colluding"
- proposer stealing from builder (ie unbundling attack)
- Maybe slashing rule? Header equivocation
- Maybe a new LMD GHOST rule? remove equivocation weights and move them to parent
- Re-org late block (poor man's block slot). Currently implemented for Prysm and Lighthouse Proposer-based. but useless in dealing builder and proposer from colluding
- (Block, slot). Attester-based re-org late block
- SSF
- Honorable mention: "head lock". Can we just apply this on top of existing fork choice rule and call it done?
**P2P gossip network**
- New new gossip nets for attesters, builders, and proposers to exchange data
- Gossip for header (commit-phase)
- Gossip for attestation on header (commit-phase)
- Builder block, attestation and aggregated attestation can re-use existing gossip networks
- DOS is discouraged if builder identity is on the chain
- Harder question: when do builder reveals full block? Wait for header to contain enough weight. Interesting tradeoffs
**New cryptography**
- Threshold cryptography is only needed for distributed availability oracle
- Avoid if possible
**UX**
- How to onboard builders to the beacon chain?
- Builder is also a validator?
- New "type" of client?
**Open questions**
- Do we want IL?
- Do we want mev-burn?
- What is the new node requirement? Mostly bandwidth addition. Don't think it's too bad
- How to choose duty intervals?
- Invalid payload will cause a missing slot, even with unconditional payment, which still needs improvement. Can we do better?
- How to efficiently fill in skip slot gaps? If the proposer is offline, can we do something useful in the second 8s slot?