Make terminology and simplified setups for archive nodes for syncing #12687
Description
Summary
Currently cosmos refers to any node that stores data for all of history as an archive node.
We should create better terminology, and easier configuration, for running a node that is intended to help any peer sync from genesis.
This many orders of magnitude cheaper than what Archive nodes do today. They currently:
- Store every historical state version, in the merkelization structure (massive overhead)
- Store every tx result
- Store every tx result a second time, due to Tendermint state.db bug
These are all massive data overheads, that are unnecessary for the core properties of:
- Ensuring all chain history is available
- Helping nodes syncs
Making it easier to configure "sync helping" archive nodes, and improving terminology, will likely greatly help improve reliability and validator serving of nodes that can sync you from genesis across cosmos. I'd estimate that these lower data overheads by at least a factor of 20x for chains like Osmosis (granted this is guesswork - don't take this as something well reasoned)
Problem Definition
All of cosmos has few archive nodes per chain, due to us collectively doing a bad job on definition making / config bundling (or even recommended configs), for how to make nodes that are intended to help others sync, and doing so cheaply.
Maybe there are improvements to work in seed/peer discovery that become clearer in further thinking on this.
Proposal
- Define a term for nodes that help you sync from genesis
- Reflect the decision in chain_registry for this
- Should seed nodes be redefined to be the role of a seed node ? Depends on what data sizes look like I guess.
- Document parameterization of a node for this goal
- Think through ways to simplify setting up a node for this goal. e.g. how light weight is this, to make seeds fill in this function as well.
For Admin Use
- Not duplicate issue
- Appropriate labels applied
- Appropriate contributors tagged
- Contributor assigned/self-assigned
Activity