Skip to content

Consider a stateless design on the PBS module #61

@aimxhaisse

Description

@aimxhaisse

When operating at scale it is convenient to have a stateless approach where you can scale the number of commit-boost instances blindly:

This allows to setup an ingress used by all beacons that spreads requests to all commit-boost instances in round-robin or more evolved forms. This has the following advantages:

  • Scales well the registration calls: if you have a large infra (for example operating 100 000 validators on Holesky), you don't want a single instance of commit-boost to handle all registrations because it will be a bottleneck: relayers often return rate-limited 4XX upon large load, so you spreading from multiple IPs (instances) is needed.

  • Operationally speaking it is easy to manage: you can upgrade one by one your instances with 0 downtime, canary some to qualify behavior, etc.

It has the following drawbacks on the design-side: PBS would have to be stateless, with the implication that a blinded block call for instance can land on a different instances that returned the header. This means the commit-boost instance can't know from which relayer it got the header: this is not an issue because to improve global propagation it is convenient to send the block anyway to all relayers (more than one can know about the block).

This kind of code becomes not possible with this approach: https://github.com/Commit-Boost/commit-boost-client/blob/main/crates/pbs/src/routes/submit_block.rs#L66

To me the stateless approach works very well at scale with PBS, I don't see how we could operate properly without this. However I'm unsure how it'd work for other modules.

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreCore part of the repo (signer, modules interface)discussNeeds to be discussed and/or researched

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions