diff options
| author | tv <tv@krebsco.de> | 2026-11-12 00:41:03 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-12 02:05:22 +0100 |
| commit | 6a38c6c85ba976e325f7e07a2ba92ffa7babf54b (patch) | |
| tree | 471629b8c890dd4e75ff003d40fca1a2ba617019 /src/node.rs | |
| parent | 8d747b0ba7cd580b85330d6441e40e56e1ff92f8 (diff) | |
signatures: keep a few different signatures of a change waiting for it
A received signature of a change the document doesn't hold yet waits for
it (Pending), checked once the change comes. A delta's signatures come
before its changes, so they wait for the whole download. Kept one per
change, the last that came, a member could send a signature that
doesn't verify for a change it knows is on its way and put the honest
one aside: the writer then went unvouched for until its changes came
again with their signatures.
Pending now keeps up to three different signatures of a change
(CANDIDATES): the first that came, and the latest others. Ed25519
signatures are deterministic, so every honest copy is the same bytes and
counts once: one sent first stays, one sent after stays unless more
others follow it. Once the change comes, offer and vouch_batch check
them in turn, the first that came first, up to the first valid one,
within the bound on invalid signatures (MAX_INVALID). MAX_PENDING counts
signatures, not changes.
Diffstat (limited to 'src/node.rs')
0 files changed, 0 insertions, 0 deletions
