Specification / Cryptography
Five primitives form the trust foundation. Each was chosen for specific properties: no flexibility, no negotiation, no algorithm agility. Fixed at specification time.
The sole signature algorithm in OAS. Used for all identity assertions, lineage proofs, DID document signatures, and verifiable credentials. Deterministic signatures, fast verification, compact sizes.
Used for content addressing, integrity checking, and fingerprinting. 3-5x faster than SHA-256 with equivalent security margins. Parallelizable via internal Merkle tree structure.
The KDF used for all lineage chains. Takes a parent key and context, derives a deterministic child key. Enables offline verification of the entire lineage chain without contacting any authority.
Ensures any JSON document has exactly one canonical byte representation. Prevents signature failures from semantically identical but byte-different JSON (whitespace, key ordering).
Used for MHR entities where M-of-N signers cooperate. Produces standard Ed25519-compatible signatures -- verifiers cannot distinguish single-signer from threshold. Transparent governance upgrade.
Design Rationale
Why no algorithm agility?
Algorithm negotiation introduces downgrade attacks. OAS fixes every primitive at specification time. If a primitive is broken, a new spec version replaces it globally.
Why Ed25519 instead of ECDSA?
Deterministic signatures eliminate nonce reuse risk. Faster verification, smaller keys, and constant-time implementations are more widely available.
Why BLAKE3 instead of SHA-256?
3-5x faster, parallelizable, extendable output, and keyed hashing mode. Security margins are equivalent.
Why FROST over Shamir + Schnorr?
FROST produces standard Ed25519-compatible signatures. Verifiers cannot distinguish single-signer from threshold-signed outputs.