spacemeshos / pm

Project management. Meta-tasks related to research, dev, and specs for the Spacemesh protocol and infrastructure.
http://spacemesh.io/
Creative Commons Zero v1.0 Universal
2 stars 0 forks source link

Research the impact of very large number of smeshers/ATXs #249

Open lrettig opened 10 months ago

lrettig commented 10 months ago

The figure 10k has emerged as the rough maximum number of individual smeshers/ATXs we expect to be able to handle at genesis. There's no in-protocol limit, obviously, and I suspect this number has emerged for a number of overlapping reasons:

  1. we just haven't been able to test more than this yet (@dshulyak is working on a 10k node test now)
  2. we think the likelihood of seeing > 10k smeshers on mainnet is very tiny, at least for a while
  3. we need to bound the size of mesh growth (see Scaling simulation)
  4. SCALE codec requires memory limits (see https://github.com/spacemeshos/go-spacemesh/pull/4154)
  5. we need to limit the amount of time nodes spend each epoch doing PoST proof verification; too many ATXs could lead to delay in propagation time of ATXs or nodes not having finished verifying all ATXs before choosing a positioning ATX for their own ATX.

None of these seem like critical failure modes in the short term but we should test > 10k nodes if possible, at some point, and understand what the failure mode, if any, would look like. We should have an "official" supported maximum number of smeshers/ATXs, or at least a range.

See (internal) Slack conversation here and see also #128.

CC @noamnelke

schinzelh commented 8 months ago

This aged well :)

image
lrettig commented 8 months ago

I had the same thought. Fortunately, despite the fact that we have way more ATXs than we expected, it hasn't caused massive issues yet. Going to keep this open, though, because there's still some investigation/research we can do as the number of ATXs continues to grow.