Authors: Mehmet Gonen [email protected]
| Version | Changes | Date |
|---|---|---|
| 1.0.0 | Initial revision. | 2025-11-18 |
| 1.0.1 | Renamed Nomos to Logos Blockchain | 2026-04-23 |
| 1.0.2 | Clarification of the Poseidon2 function | |
| Add test values | 2026-05-07 |
The Logos Blockchain relies on a variety of cryptographic primitives to ensure security, privacy, and verifiability across its components. This document defines the common cryptographic building blocks used throughout the Logos Blockchain design.
Its primary purpose is to standardize the selection and usage of these primitives, provide rationale for each choice, and establish consistency across implementations. It also offers guidance for developers and researchers working on different parts of the system so that all components rely on a coherent and interoperable cryptographic foundation.
This document specifies the cryptographic primitives selected for the Logos Blockchain and explains how they interconnect across different layers of the protocol stack. It outlines their technical foundations, rationale, and security considerations to ensure consistent usage across Logos Blockchain components.
The primitives span multiple domains:
Each primitive is chosen for its suitability in a particular context, balancing efficiency, cryptographic strength, and developer usability.
The table below summarizes the recommended component for each context:
| Context | Recommended Component |
|---|---|
| ZK Hashing | Poseidon2 |
| General Hashing & PRNG | BLAKE2b |
| General Signatures | EdDSA |
| ZK Signatures | ZkSignature (see ‣) |
| Proof System (SNARK) | Groth16 |
The Logos Blockchain utilizes different hash functions depending on the use case context—primarily distinguishing between zero-knowledge circuit contexts and general usage scenarios. The Logos Blockchain selects hash functions based on their performance characteristics: Poseidon2 for arithmetic-oriented handwritten circuits, and Blake2 for bit-oriented operations in ZkVM and general computations. In specifications, we refer to these arithmetic hash function as zkhash and the general purpose hash function as Hash.
Description:
BLAKE2b is a cryptographic hash function providing strong security and high performance. It supports variable-length outputs through parameterization, making it flexible for different cryptographic contexts.