Introduction

This document serves as a unified, comprehensive reference for terms, concepts, data structures, cryptographic primitives, and protocols across all Nomos-related specifications. The primary goal is to provide consistent terminology, precise definitions, and clear explanations that facilitate seamless communication and collaboration among protocol designers, implementers, and reviewers. By establishing a common language for Nomos, this dictionary enhances clarity, reduces ambiguity, and supports interoperability across all Nomos specifications, protocols, and implementations.

Overview

This dictionary is organized by thematic categories representing different subsystems of the Nomos architecture:

If a term is used in multiple protocols, it is defined once and referenced accordingly.

🆔 Identifiers and Keys

Term Description
ProviderId Ed25519 public key identifying a validator. Used in SDP, PoQ, and assignment.
ZkId Key used in zero-knowledge signatures (e.g., PoL, Blend).
DeclarationId Deterministically computed identifier for a service declaration tuple.
BlobId Hash of row commitments for a blob. Unique identifier for NomosDA blobs.
NoteId Identifier derived from note commitment.
SubnetworkId Index of a subnetwork, from 0 to NUMBER_OF_DA_SUBNETWORKS - 1.
ShareIndex Index of the extended column held by a subnetwork.
SessionId Index of a session. Used to compute SessionRandomness.
Session Randomness A pseudo-random value derived from epoch-level randomness and the session identifier (e.g., session index or counter), typically used as a seed in cryptographic constructions during a session. It ensures that cryptographic outputs (like quotas, commitments, or selection randomness) are different across sessions, while remaining verifiable.

🧾 Cryptographic Structures

Term Description
zkSignature Zero-knowledge signature scheme used to prove control over a ZkId without revealing it.
Nullifier A unique value derived from a secret key and a note to prevent double-spending or re-use.
NoteNullifier A public, collision-resistant value derived from a note’s secret key and nonce; prevents double-spending.
QuotaNullifier A session-specific hash used in PoQ to prevent key reuse; derived from secret key and quota index.
Merkle Tree Used in several components for proving membership (e.g., nullifiers, commitments, PoQ list).
MMR (Merkle Mountain Range) Append-only Merkle structure used to store and verify commitment history in the ledger.

📡 P2P Networking

Term Description
Locator A network address (Multiaddr) used by validators to establish QUIC connections.
QUIC Protocol used for fast and secure communication between peers.
SamplingClient Node that initiates sampling by connecting to DA peers over QUIC.
DALightShare The lightweight representation of a blob share containing the column, index, and proof.
DABlobCommitmentsRequest/Response Messages used to request and receive row commitments for a blob.