Files
consensus/engine
zeekayandHanzo Dev f179b47da7 chain: a canonical cert codec, and equivocation evidence that outlives the cert
The cert accept byte decoded with `ab != 0` and re-encoded as 1, so 254 byte
values that the encoder can never produce still decoded — two byte strings naming
one cert. Anything treating cert bytes as identity (the per-block serving cache,
a dedup, a digest) can then be split by flipping a bit no field reads. A canonical
codec refuses what it cannot reproduce: the accept byte is 0 or 1, and anything
else is corrupt.

Ingest dropped the equivocation evidence for a double-sign that arrives AFTER the
height certifies. A double-signer racing the honest cert gains nothing, so that
is precisely the ordering it picks — and the already-certified early return fired
before the subject was recorded, discarding the second-execution evidence along
with the vote. The signature verified; only the record of it was skipped.
Evidence is a property of the signed votes, not of whether a cert exists, so it
is now recorded before the early return.

And a nil stake source is a rejection at the top of Ingest rather than a nil
dereference at q.stake.ValidatorCount deep inside. The file documents nil as
fail-closed; it was a remote crash, because every entry point takes peer data and
the first verified attestation reached the deref.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-21 07:15:50 -07:00
..
2025-12-19 08:49:11 -08:00