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
At the change of an era, we delete a large amount of storage items linked to the old eras that can be discarded. We need to ensure this operation has a bounded proof size of less than 5 MB so that staking can safely move to a system parachain.
We'd do all validator elections in a unique parachain/service type that stores state on the relay chain itself. A validator election has only one a u64 of state: the last block's PJR score.
Actual election chain PoV blocks contain Merkle proofs into some fixed past nomination state, maybe a frozen past Asset Hub state, so you need that state to make blocks in the election chain. Yet, this fixed past nomination state would not be part of the ephemeral election chain's own state, which is only a single u64.
A validator election chain simply dies when nobody can improve the score enough, so then the death block(s) becomes the next elected validator set. Each era's election chain's death block(s) become the era storage, but they're handled entirely off-chain by nodes that apply slashing penalties.
Anyways that u64 state on the realy chain sounds pretty JAM-ish, so this is probably not the first way we do things.
Reported by @kianenigma.
At the change of an era, we delete a large amount of storage items linked to the old eras that can be discarded. We need to ensure this operation has a bounded proof size of less than 5 MB so that staking can safely move to a system parachain.
Refer:
polkadot-sdk/substrate/frame/staking/src/pallet/impls.rs
Line 950 in 1e4ffc3
The text was updated successfully, but these errors were encountered: