The skip ratchet came from needing a way to agree on a hash chain in the Webnative File System without knowing the participants in advance, and where there may be very long periods between synchronisation (and to guard against certain Byzantine conditions).
- Author: Brooklyn Elizabeth Zelenka
- Paper link on the Cryptology ePrint Archive
Paper
Abstract
Hash chains are a simple way to generate pseudorandom data, but are inefficient in situations that require long chains. This can cause unnecessary overhead for use cases including logical clocks, synchronizing the heads of a pseudorandom stream, or non-interactive key agreement. This paper presents the βskip ratchetβ, a novel pseudorandom function that can be efficiently incremented by arbitrary intervals.
Libraries
Thereβs a couple implementations, but the Rust one gets the most attention