Authors: Hong-Sheng Zhou [email protected], Alexander Mozeika [email protected], David Rusu [email protected]

Reviewers

Change log

Status Description Date
Raw RFC initialized to propose referenced-block visibility for Total Stake Inference and to package the self-contained replacement specification. 2026-05-18
Draft Status set to Draft 2026-05-19
Verified Verified status set <When status was set>
YYYY-MM-DD
Merged Merged status set <When status was set>
YYYY-MM-DD

Motivation

Baseline Total Stake Inference (TSI) estimates the active-stake denominator from public chain evidence. In the baseline construction, the measurement step counts occupied slots from the settled canonical chain. Under network delay and forks, valid off-branch blocks can be produced but later fail to appear on the settled canonical chain. Those blocks are not canonical, but they still show that their slots were active.

This RFC proposes a measurement-level extension: allow settled canonical blocks to carry bounded references to recently observed off-branch blocks, and allow the TSI measurement rule to count resolved, measurement-eligible references as active-slot evidence.

The proposal does not change fork choice, ledger-state transition, eligibility proof semantics, or block weight. A referenced block can improve TSI measurement visibility, but it does not become canonical through the carrier block.

Research support: the justification report Referenced-Block Visibility for Total Stake Inference supports this proposal. In dense long-horizon simulations with T=388800, N=80 and N=100, and seeds=20, the reference-enhanced measurement mode substantially improves q_refs over q_chain. At delay 15 in the N=80 run, q_chain is about 0.725, q_refs is about 0.920, and the implied denominator operating point improves from about 0.720 D_true to about 0.918 D_true.

Proposal

Create a replacement construction specification:

Modify/supersede the existing construction specification:

The core construction change is:

old:
  density_over_slots(epoch_slot, PERIOD)

new:
  measure_occupancy(epoch_slot, PERIOD, mode)

mode ∈ { chain_only, chain_plus_resolved_refs }

chain_only preserves the current baseline behavior. chain_plus_resolved_refs counts occupied slots from settled canonical-chain blocks plus resolved, measurement-eligible references carried by those blocks. The feedback update law is unchanged.

The TSI feedback update law is unchanged. Only the measurement input is generalized.