1 of 9

A Protocol Design View on Statelessness

Julian Ma

2 of 9

Who Should Hold State?

Statelessness is about choosing Proof-Serving Node architecture and State Growth jointly.

Attesters should not be the proof-serving nodes, but who should be it?

3 of 9

  1. Assuming a weak stateless protocol, is it necessary to implement partial statelessness in protocol?

  • What is the fundamental difference between weak and strong statelessness?

  • How does state growth constrain the gas limit in a weak stateless protocol?

4 of 9

Out-of-protocol Partial Statelessness

  • Partial statelessness uses a state expiry rule to partition state into active and inactive sets.
  • Attesters should all adhere to the same state expiry rule.
  • Block producers, can determine one themselves!

5 of 9

Why would block producers do so?

  1. Some state is not economically meaningful.

Similarities to the MEV-Boost market: builders leave out transactions because their value is negligible.

  • State growth too large.

Positive framing: if state growth is too large, builders can prune state tree without in protocol state expiry.

6 of 9

Difference Weak and Strong Statelessness

  • Does the block producer (weak) or user (strong) store the state?

  • Difference is honest block producer behavior.

  • Cannot rely on honest block producers, should find other parties to store the state.

  • Honest block producer definition is still important for FOCIL: do transactions need a witness or not.

7 of 9

State Growth after Statelessness

  • Who holds the state?
    • Only one non-censoring person needed, but it should be clear who this person is.

  • State growth set such that they can reliably provide up-to-date witness to users.

8 of 9

State Growth after Statelessness

  • Who holds the state?
    • Only one non-censoring person needed, but it should be clear who this person is.

  • State growth set such that they can reliably provide up-to-date witness to users.

dApps and wallets?

9 of 9

Thanks!

Telegram: @julianzma