You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current implementation starts all reactors even in “seed mode,” despite ADR-052 specifying that seed nodes should run only the PEX reactor (peer exchange). There is ongoing ambiguity about the ideal role for bootstrap/seed nodes, especially as features like reactor-specific peers are introduced.
We need to make an explicit decision: Should seed/bootstrap nodes run only PEX, or should they enable all reactors and act like regular nodes?
Options:
Seeds/Bootstrap Nodes Run ONLY PEX
Pros:
Simplifies code & logic: Seeds are always open for peer exchange, do not participate in consensus, state sync, blocksync, etc. This is straightforward, especially with new "reactor-specific peers" designs.
Clear security posture: Easier to reason about attack surface, since only peer exchange is handled.
Aligns with ADR-052: Matches current architectural documentation.
Cons:
Low incentive to run: Operators might not see direct network benefit for running a "PEX-only" node.
No contribution to mempool/block propagation: Seed nodes can't help with block or transaction dissemination – they're just address books.
Seeds/Bootstrap Nodes Run ALL Reactors (Like Regular Nodes)
Pros:
More value for operators: Seed nodes can help with mempool, block sync, gossipping, and overall network resilience; this might motivate more community-provided seeds (since they are also full participants).
Improved network quality: More nodes actively propagating data, especially beneficial in smaller or less-connected networks.
Cons:
Potential security/exposure: Seed nodes are more exposed to various reactor-related attacks / DoS.
Drifts from ADR-052 goal: Would need to update documentation/spec to reflect the new reality.
The Question
What should our implementation do? Should seed/bootstrap nodes only handle peer exchange as prescribed in ADR-052, or should they act as regular nodes with all reactors enabled by default?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Context
The current implementation starts all reactors even in “seed mode,” despite ADR-052 specifying that seed nodes should run only the PEX reactor (peer exchange). There is ongoing ambiguity about the ideal role for bootstrap/seed nodes, especially as features like reactor-specific peers are introduced.
We need to make an explicit decision: Should seed/bootstrap nodes run only PEX, or should they enable all reactors and act like regular nodes?
Options:
The Question
What should our implementation do? Should seed/bootstrap nodes only handle peer exchange as prescribed in ADR-052, or should they act as regular nodes with all reactors enabled by default?
Please share your thoughts, concerns, etc
Related links:
Beta Was this translation helpful? Give feedback.
All reactions