The past should
come with proof.
How did a record change over a time interval? Smaran returns its committed versions with proofs of correctness and completeness—for public-key histories in key transparency and historical account state in decentralized ledgers.
My work · Co-first author I work on authenticated data structures, Ethereum-state tooling, and Go-based evaluation of query performance, proof costs, and storage overhead.
A whole interval.
Request: record k, interval [t₂, t₅]
All versions in the requested interval
⟨v₂, v₃, v₄, v₅⟩ + compact proofs
Verify against the agreed commitmentConceptual range example; not the internal tree layout.
Inside the research
The design
Segment trees and vector commitments authenticate intervals. A hierarchical architecture scales with growing histories; versioned vector commitments avoid redundant state during unchanged epochs.
The guarantee
A constant number of fixed-size proofs, independent of range and history length. Returned values still grow with the range and require linear validation. Clients verify against history fixed by a separate agreement layer; availability is outside Smaran’s scope.
The applications
Key transparency: audit the public-key versions associated with an identity over an interval. Ledgers: verify historical account versions across blocks. The paper evaluates both settings, including integration with Ethereum’s Geth client.