open-standards/smart-byte/smart-byte-rs/crates/smart-byte-libp2p/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 35bb8c9910 smart-byte: the envelope wire format, v1 key-event logs, and their vectors
smart-byte-core
- `wire`: canonical CBOR for any serde type. `from_slice` refuses bytes that
  are not the decoded object's own encoding. Serde otherwise accepts an array
  of integers for a byte string, a byte string for text, and an array for a
  struct, each a second encoding the SAID does not cover.
- Controller AIDs. Controller signatures are checked against the key states
  replayed logs establish. One strict Ed25519 rule.
- The envelope: attested provenance, ownership chain and joule cost. Cargo
  carries a registered type tag.

smart-byte-keri-witness
- Events are §2 SAIDs over canonical CBOR.
- The default verifier is spec v1. It replays one event at a time and says
  which event it refused. It refuses `dip`, which skipped the pre-rotation
  check entirely, plus zero thresholds, duplicate keys, rotations after an
  empty `n`, and extension members.
- Extension mode, fixed:
  - Witness receipts carried their own key, so anyone could receipt in any
    witness's name. Witnesses are now named by their keys, and receipts sign
    everything they claim.
  - Duplicity evidence was gathered from unverified receipts.
  - Recovery accepted any keys; it now needs its witnesses' receipts.
  - OOBIs were signed by an embedded key; they are now controller signatures.
  - Configuration traits were never enforced, so they are gone.

VC, BBS+, CRDT, mDL, lockstep, libp2p and the CLI move to the new envelope.

smart-byte-conformance
- kel_vectors.json: 25 vectors.
- envelope_vectors.json: 18 vectors, checked against the logs' key states.
- The SAID and signature vectors are rebuilt on the real objects, so all the
  files describe one set of parties.
- Planted defects in every file are caught on their own vectors.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 23:00:57 -04:00
..
behaviour.rs smart-byte-libp2p: validate gossip before it is forwarded 2026-09-30 21:33:24 -04:00
codec.rs smart-byte: the envelope wire format, v1 key-event logs, and their vectors 2026-09-30 23:00:57 -04:00
discovery.rs ingest batch 4: 9 crates · table-stakes completers across all three workspaces 2026-05-24 04:00:04 -04:00
error.rs smart-byte-libp2p: check what arrives against the SAID it claims 2026-09-30 20:30:04 -04:00
event.rs smart-byte-libp2p: validate gossip before it is forwarded 2026-09-30 21:33:24 -04:00
identity.rs ingest batch 4: 9 crates · table-stakes completers across all three workspaces 2026-05-24 04:00:04 -04:00
lib.rs ingest batch 4: 9 crates · table-stakes completers across all three workspaces 2026-05-24 04:00:04 -04:00
node.rs smart-byte-libp2p: validate gossip before it is forwarded 2026-09-30 21:33:24 -04:00
relay.rs ingest batch 4: 9 crates · table-stakes completers across all three workspaces 2026-05-24 04:00:04 -04:00
transport.rs smart-byte: the envelope wire format, v1 key-event logs, and their vectors 2026-09-30 23:00:57 -04:00