soft3/mudra/specs/neuron-auth.md

Native secp256k1 statement authentication (NSIG1)

This is the implemented H(compressed SEC1 public key) neuron profile used by the local neuron authority adapter. It uses the existing Cosmos/ADR-036 primitives. Proof-native/hash-preimage profiles retain their separate specification and identities; this profile asserts neither post-quantum security nor network finality.

A statement is a 32-byte content commitment supplied by the owning data codec. The message is the exact ASCII bytes cyber:neuron:authority:v1: followed by the 32 statement bytes. Its ADR-036 signer is the Cosmos address of the compressed public key under the literal neuron HRP. The envelope is exactly 102 bytes:

Offset Length Meaning
0 5 ASCII NSIG1
5 33 Compressed SEC1 secp256k1 public key
38 64 Existing ADR-036 compact ECDSA signature

Verification requires exact length/prefix, valid curve key/signature, unchanged claim::neuron_of(public) equal to the expected subject, and the ADR-036 signature over that exact domain-separated message. It consumes no spell, storage, scheduler, VM or inference dependency. neuron::sign rejects a subject different from the key's native ID. Verification alone grants no permission; the host/network checks its current scope and binds the canonical statement to the actual operation.

The signature format moves unchanged from neuron-node into mudra; node's existing verify_evidence API delegates to it. Existing NSIG1 bytes, native IDs, ADR-036 signer strings and messages remain valid. This adds no new signing identity.

The canonical signing function is neuron::sign; sign_statement remains a source-compatible alias for existing callers. Custody, permission and durable release belong to Vault and its host, not this primitive.

Graph