## Context It has become impractical to keep all state from the genesis thus more and more nodes are pruning it. ## Problem 1. Pruning is already causing availability issues: * E.g. https://github.com/oasisprotocol/internal-ops/issues/1281. * Previous issues with emty validator set because of the missing light blocks. 3. Consensus light blocks are [computed ad-hoc](https://github.com/oasisprotocol/oasis-core/blob/5c2b576da712b5d998bdf21b749423a95e8075e8/go/consensus/cometbft/full/common.go#L605), from the full state: * Running observer with historical state requires all consensus data, just to fetch light blocks - [see](https://github.com/oasisprotocol/docs/pull/1526#discussion_r2512094786). ## Solution: 1. Create additional DB for consensus light blocks and query them from there. 2. Independent full-state (NodeDB && blockstore) vs light state pruning. * E.g. keep 1 year of light history by default (should be few `GB` max). ## Follow-ups: 1. Similar thing should be done for the runtime state and its pruning (https://github.com/oasisprotocol/oasis-core/issues/6400). 2. [History expiry](https://github.com/oasisprotocol/oasis-core/issues/6422).
Context
It has become impractical to keep all state from the genesis thus more and more nodes are pruning it.
Problem
Solution:
GBmax).Follow-ups: