Concepts — S vs X
ULDA introduces linear authentication: every new signature proves it is the immediate successor (or near-successor) of the previous one.
ULDA-S (Skippable)
- Construction: for each block
i, computehash^i(block_i); store the intermediate digests along the triangle. -
Gap tolerance: can verify across a gap
gwhere1 ≤ g ≤ N−1by applyinggextra hashes along the diagonal. - When to use: unreliable or delayed channels (email hops, IoT uplinks, async pipelines).
ULDA-X (Strict)
- Construction: at depth
d, hash concatenations of neighbours:hash(block_i || block_{i+1}), forming a shallow tree. -
Gap tolerance: none; verification only succeeds when the new generation is exactly
k+1. - When to use: strictly sequential and reliable channels (TLS, SSH, WebSocket).
Shared properties
- Same on-wire size for Origin and Signature.
- Verifier only keeps the last valid signature (“state-light”).
- No secrets required by the verifier; the authenticity is proven by structure.
Rule of thumb: Start with S if delivery guarantees are unclear; switch to X when you control the transport and want constant-cost verification.