Why eligibility snapshots should be publish-once, verify-forever
Token distributions, governance votes, and retroactive rewards often rely on a simple idea: take a snapshot of on-chain state at a specific block and use it to decide who is eligible.
In practice, this is where many disputes begin.
The Hidden Fragility of “We Can Always Recompute It”
Most teams treat eligibility snapshots as temporary artifacts. A script is run, results are exported, and the snapshot is considered done. If questions arise later, the assumption is that the data can always be recomputed.
This works only as long as all of the following remain true:
- The original scripts still exist and are correct
- RPC providers expose consistent historical state
- Indexing assumptions have not changed
- No interpretation differences appear over time
Months later, these assumptions often fail. Dependencies change, tooling evolves, and small differences in data interpretation lead to large disagreements. At that point, the discussion stops being technical and becomes a matter of trust.
Eligibility Is Not Analytics — It Is Evidence
Eligibility snapshots are frequently treated like analytics outputs: something derived, flexible, and replaceable.
In reality, eligibility snapshots function as evidence. They support concrete claims such as:
- “This address was eligible at block X”
- “This balance qualified for distribution”
- “This voter met the criteria at proposal creation”
Evidence is different from analytics. Evidence must survive scrutiny long after the decision has been made.
Publish Once, Verify Forever
A stronger approach is to treat eligibility snapshots as immutable records. The snapshot is generated once, committed publicly, and never rewritten.
Instead of trusting the party who generated the snapshot, anyone can independently verify individual claims against the committed record. The snapshot becomes a fixed reference point.
This changes the nature of disputes. The question shifts from:
“Do we trust how this was computed?”
to:
“Does this claim match the published snapshot?”
Why Merkle-Based Snapshots Work Well
Merkle trees allow large datasets to be committed efficiently. A single root represents the entire snapshot, while individual users can verify inclusion using compact proofs.
This makes it practical to:
- Commit eligibility records on-chain or publicly
- Verify claims without re-running full datasets
- Reduce disputes to deterministic checks
The Long-Term Benefit
When eligibility snapshots are publish-once and verify-forever, teams gain:
- Clear, defensible historical records
- Reduced trust assumptions
- Simpler dispute resolution
- Artifacts that auditors and third parties can reference later
As on-chain decisions increasingly have long-lived consequences, the ability to point to a fixed, verifiable snapshot becomes more important than speed or convenience.
Eligibility is not about computing faster today. It is about being able to prove the past tomorrow.