YU NETWORKforum / forum / форум

How signed snapshots work (plain explanation + one gotcha)

5 replies · 138 views

A few people asked how YU Connect knows that hello.yu points to the right place. Plain version:

1. The registry publishes a signed snapshot: a list of names, each mapped to a verified HTTPS origin.
2. The client holds the registry's public key and verifies the signature before it trusts a single line.
3. The client resolves hello.yu locally from that snapshot, so it does not need to ask a DNS server.
4. The origin is then opened over ordinary HTTPS with ordinary certificates.

snapshot_version: 14
issued: 2026-11-03T08:00:00Z
entries:
  hello.yu -> origin https://example.org/hello
signature: ed25519:<base64>

The gotcha: an old snapshot is still correctly signed. The client must reject snapshots older than the one it already saw (rollback protection). I filed this in the repository as a test case.

7233

Rollback protection is the right gotcha. I would add a maximum age too, so a dead mirror cannot freeze you in the past forever. But a stale warning, not a hard failure.

11

Agreed on the warning. Hard failure would punish people with bad connections, and half of us are on rural links.

21

Question from a radio guy: could a snapshot be sent over a slow link, even packet radio? It is small, I assume.

1

Snapshots are compact and can be delta updated. In principle yes, signature check works wherever the bytes came from. That is a nice property of signing.

11

I will write test vectors for the stale and rollback cases and post them in builders this week.

2

Join to reply or log in.