PRP Technical Series — Episode 01

SCIR: Structure and Self-Certification

Episode 01 of the PRP Technical Series explains the four SCIR classes, the binary envelope, reference suites, identifier verification and an ALIAS example.

Share on WhatsApp
Transcript, visual description, credits and downloads

English narration and embedded English captions remain in the video; optional text tracks do not hide them.

MP4 · VTT EN · VTT PT · JSON

Transcript and visual description

Introduction

Narration: SCIR stands for Self-Certifying Identifier Reference. It identifies an object and lets us verify the binding between its identifier and presented certifying material.

Visual description: A title card introduces SCIR, its full name and the topic. A dark diagram then lists object, typed reference and self-certification.

Four classes

Narration: The same envelope distinguishes four classes. IDENTITY references an identity bound to a public key. ALIAS references canonical text that serves as a rendezvous for interest-based discovery. Different interests can have their own aliases, a participant can associate with several, and a query can find multiple candidates. MULTICAST references a logical transmission. GROUPCAST references a group. For multicast and groupcast, the identifier is derived from immutable genesis material.

Visual description: Four rows appear in sequence: 00 IDENTITY — canonical public key; 01 ALIAS — canonical interest text; 02 MULTICAST and 03 GROUPCAST — immutable genesis.

Binary envelope

Narration: The first byte carries the class in its lowest two bits. The remaining six bits must be zero. The next two bytes identify the reference suite, most significant byte first. The identifier follows, with a length defined by that suite. The complete SCIR contains three header bytes plus the identifier length defined by the suite. The current suites use 32 or 48 identifier bytes, producing references of 35 or 51 bytes. New suites can define other identifier lengths.

Visual description: Three fields show a one-byte header at offset 0, a two-byte reference suite at offsets 1–2 and an L-byte identifier from offset 3. The total is 3 + L; current examples show 35 and 51 bytes.

Reference suites

Narration: The table compares the five current reference suites. They use Ed25519, ML-DSA, or a combination of both, with the hash and identifier length shown in each row. The public-key sizes apply to IDENTITY; the hash and identifier length apply across the four classes.

Visual description: The complete five-row table lists suite, IDENTITY key material, hash, identifier bytes and SCIR bytes. 0001: Ed25519, BLAKE3-256, 32/35; 0002: Ed25519, SHA-256, 32/35; 0003: ML-DSA-65, SHA-256, 32/35; 0004: ML-DSA-87, SHA-384, 48/51; 0005: Ed25519 plus ML-DSA-87, BLAKE3-256, 32/35.

Self-certification

Narration: Self-certification means that we can recompute the identifier from presented certifying material and compare the result with the expected reference. For IDENTITY, we first validate the public key's canonical encoding. The Strong ID is the hash of a fixed domain, the suite, and that key.

Visual description: Three panels show canonical public-key material, HASH_S(domain || suite:u16be || canonical_public_key), and recomputation followed by comparison. The domain is ASCII("PRP-STRONG-ID-v4").

ALIAS example

Narration: An ALIAS lets us look for participants associated with an interest instead of selecting an individual identity in advance. The relationship can be many-to-many: several participants share an interest, and each participant can have multiple interests. The application defines what those interests mean; PRP handles the canonical text used to form each reference. For an ALIAS, the certifying material is canonical text. We first apply Unicode NFC normalization and UTF-8 encoding. The length counts bytes, not letters. Case, punctuation, and spaces remain significant. Here we use a specification vector and the suite with SHA-256. The hash receives a dedicated domain, the class, the suite, the length, and the canonical text. Repeating the calculation produces exactly the same reference. This establishes the binding to that text.

Visual description: Three interests connect to multiple participants. The next diagram uses rideshare:airport:gru, NFC, UTF-8 and a 21-byte length. SHA-256 receives the dedicated domain, class, suite, text length and text. The resulting 35-byte SCIR is shown in hexadecimal and matches the specification vector.

Closing

Narration: A SCIR contains a class, a reference suite, and a suite-defined identifier. Self-certification verifies the binding to the presented certifying material. PRP.

Visual description: A summary shows class, suite and identifier, followed by recomputation and comparison. The closing card has the PRP logo on a light background, the episode title and prp-protocol.org. The spoken signature is PRP.