Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Conformance

An implementation conforms to the core protocol iff it does exactly two things:

  1. Reproduces every listed hash — the same identity_key and content_hash for every vector, and
  2. Refuses every ill-formed snapshot — it never produces a hash for input the spec rejects.

Nothing beyond those two. If your implementation, in any language, passes the vectors, it is Ledvar (it speaks the protocol — see the name policy).

The vectors

The ground-truth vectors live in the protocol repository: examples/CONFORMANCE.md. They span many unrelated domains on purpose — a database, a VM, a filesystem, a Bitcoin transaction, a retail product — to make the point that the protocol is domain-blind.

A standalone, dependency-free verifier (tools/conformance_check.py) re-implements the canonical form and checks that every vector reproduces its published hash.

The trickiest vectors are the node-astral* ones: they pin code-point ordering (not UTF-16), which is the one place UTF-16-native languages (JavaScript, Java, C#) tend to get it wrong.