Nomos/Requirements: Difference between revisions
Jarrad Hope (talk | contribs) (Created page with "<span id="software-requirements-specification"></span> = Software Requirements Specification = for Nomos: A Privacy-Preserving Multi-Chain Heterogeneous Blockchain Network Version 1.0 Prepared by Jarrad Hope 29-12-24 <span id="introduction"></span> == 1. Introduction == <span id="purpose"></span> === 1.1 Purpose === This Software Requirements Specification (SRS) document provides a detailed description of the Nomos blockchain network. It outlines the functional and...") |
Jarrad Hope (talk | contribs) mNo edit summary |
||
Line 5: | Line 5: | ||
Version 1.0 Prepared by Jarrad Hope 29-12-24 | Version 1.0 Prepared by Jarrad Hope 29-12-24 | ||
<span id="table-of-contents"></span> | |||
== Table of Contents == | |||
# Introduction | |||
## 1.1 Purpose | |||
## 1.2 Document Conventions | |||
## 1.3 Intended Audience and Reading Suggestions | |||
## 1.4 Product Scope | |||
## 1.5 References | |||
# Overall Description | |||
## 2.1 Product Perspective | |||
## 2.2 Product Functions | |||
## 2.3 User Classes and Characteristics | |||
## 2.4 Operating Environment | |||
## 2.5 Design and Implementation Constraints | |||
## 2.6 User Documentation | |||
## 2.7 Assumptions and Dependencies | |||
# External Interface Requirements | |||
## 3.1 User Interfaces | |||
## 3.2 Hardware Interfaces | |||
## 3.3 Software Interfaces | |||
## 3.4 Communications Interfaces | |||
# System Features | |||
## 4.1 Base Layer | |||
## 4.2 Coordination Layer | |||
## 4.3 Zones | |||
## 4.4 Network Privacy | |||
## 4.5 Cross-Zone Communication | |||
## 4.6 Light Node Network | |||
# Other Nonfunctional Requirements | |||
## 5.1 Performance Requirements | |||
## 5.2 Security Requirements | |||
## 5.3 Software Quality Attributes | |||
## 5.4 Business Rules | |||
# Other Requirements | |||
Appendix A: Glossary | |||
Appendix B: Analysis Models | |||
Appendix C: To Be Determined List | |||
<span id="introduction"></span> | <span id="introduction"></span> | ||
Line 240: | Line 280: | ||
Dependencies: | Dependencies: | ||
* Required Privacy Technologies: | * Required Privacy Technologies: | ||
** Zero-knowledge proof systems for state verification | |||
** Message mixing and blending for consensus privacy | |||
** Cover traffic generation for anonymity sets | |||
** Private P2P communication protocols | |||
* Recommended Privacy Enhancements: | * Recommended Privacy Enhancements: | ||
** Intent privacy techniques | |||
** Relationship hiding mechanisms | |||
** Advanced cryptographic primitives | |||
* Core Infrastructure: | * Core Infrastructure: | ||
** Data availability sampling | |||
** Distributed key generation | |||
** Threshold cryptography | |||
<span id="external-interface-requirements"></span> | <span id="external-interface-requirements"></span> | ||
Line 314: | Line 354: | ||
* P2P networking modules, i.e. libp2p-mix (for network privacy) | * P2P networking modules, i.e. libp2p-mix (for network privacy) | ||
* Blend Network modules: | * Blend Network modules: | ||
** PTM (validator connections and drop messages) | |||
** MBM (consensus message mixing and timing) | |||
** CTM (cover traffic generation) | |||
* Data availability protocols | * Data availability protocols | ||
* Cross-zone communication protocols | * Cross-zone communication protocols | ||
Line 376: | Line 416: | ||
PPOS-001: Validator Privacy | PPOS-001: Validator Privacy | ||
* The system MUST implement basic privacy: | * The system MUST implement basic privacy: | ||
** Hide validator stakes through Blend Network | |||
** Preserve block proposer anonymity | |||
** Prevent stake deanonymization attacks | |||
** Maintain validator metadata privacy | |||
* The system SHOULD support enhanced privacy: | * The system SHOULD support enhanced privacy: | ||
** Advanced timing analysis protection | |||
** Enhanced anonymity set generation | |||
** Improved network attack resistance | |||
PPOS-002: Consensus Security | PPOS-002: Consensus Security | ||
* The system MUST provide basic security: | * The system MUST provide basic security: | ||
** Prevent stake grinding attacks | |||
** Ensure fair block production | |||
** Maintain consensus finality | |||
** Handle network partitions | |||
* The system SHOULD implement advanced security: | * The system SHOULD implement advanced security: | ||
** Quantum attack resistance | |||
** Eclipse attack prevention | |||
** Advanced fork choice rules | |||
** Complex partition handling | |||
PPOS-003: Network Resilience | PPOS-003: Network Resilience | ||
* The system MUST ensure basic resilience: | * The system MUST ensure basic resilience: | ||
** Support commodity hardware validators | |||
** Handle intermittent connectivity | |||
** Recover from network failures | |||
** Maintain liveness under attack | |||
* The system SHOULD provide enhanced resilience: | * The system SHOULD provide enhanced resilience: | ||
** Advanced recovery mechanisms | |||
** Dynamic attack mitigation | |||
** Adaptive network topology | |||
** Self-healing capabilities | |||
<span id="data-availability"></span> | <span id="data-availability"></span> | ||
Line 418: | Line 458: | ||
DAS-001: Data Sampling and Verification | DAS-001: Data Sampling and Verification | ||
* The system MUST implement basic sampling: | * The system MUST implement basic sampling: | ||
** Efficient data availability sampling | |||
** Light client verification support | |||
** Sample size optimization | |||
** Verification latency targets | |||
* The system SHOULD support advanced sampling: | * The system SHOULD support advanced sampling: | ||
** Adaptive sample sizes | |||
** Enhanced verification methods | |||
** Optimized proof generation | |||
** Advanced fraud proofs | |||
DAS-002: Data Organization | DAS-002: Data Organization | ||
* The system MUST implement basic sharding: | * The system MUST implement basic sharding: | ||
** Data segmentation and distribution | |||
** Cross-shard verification | |||
** Shard synchronization | |||
** Data redundancy management | |||
* The system SHOULD support advanced sharding: | * The system SHOULD support advanced sharding: | ||
** Dynamic shard allocation | |||
** Cross-shard optimization | |||
** Adaptive redundancy | |||
** Load balancing | |||
DAS-003: Data Integrity and Recovery | DAS-003: Data Integrity and Recovery | ||
* The system MUST ensure basic integrity: | * The system MUST ensure basic integrity: | ||
** Data reconstruction capabilities | |||
** Integrity verification | |||
** Error detection and correction | |||
** Bandwidth optimization | |||
* The system SHOULD implement advanced features: | * The system SHOULD implement advanced features: | ||
** Advanced reconstruction methods | |||
** Enhanced error correction | |||
** Optimized bandwidth usage | |||
** Proactive integrity checks | |||
<span id="network-and-consensus-privacy"></span> | <span id="network-and-consensus-privacy"></span> | ||
Line 458: | Line 498: | ||
* Required for MVP: | * Required for MVP: | ||
** Nomos Blend Network: A specialized privacy system for Private Proof of Stake with three modules: | |||
*** PTM (Persistent Transmission Module): Manages validator connections and drop messages | |||
*** MBM (Message Blending Module): Processes consensus messages through mixing and timing obfuscation | |||
*** CTM (Cover Traffic Module): Generates anonymity sets through cover messages | |||
** libp2p-mix: A P2P networking module for general network privacy | |||
* Future Enhancements: | * Future Enhancements: | ||
** Advanced timing analysis protection | |||
** Enhanced anonymity set generation | |||
** Improved network attack resistance | |||
Functional Requirements: | Functional Requirements: | ||
Line 472: | Line 512: | ||
BNP-001: Persistent Transmission Module | BNP-001: Persistent Transmission Module | ||
* The system MUST maintain persistent validator connections with basic privacy: | * The system MUST maintain persistent validator connections with basic privacy: | ||
** Establish and maintain secure validator connections | |||
** Handle drop messages for connection privacy | |||
** Monitor connection quality and health | |||
** Manage connection lifecycles securely | |||
* The system SHOULD implement advanced connection features: | * The system SHOULD implement advanced connection features: | ||
** Dynamic connection management based on network conditions | |||
** Enhanced privacy through adaptive drop message rates | |||
** Advanced connection health monitoring and recovery | |||
** Optimized connection resource management | |||
BNP-002: Message Blending Module | BNP-002: Message Blending Module | ||
* The system MUST process and blend consensus messages: | * The system MUST process and blend consensus messages: | ||
** Process consensus messages through mixing | |||
** Implement basic timing analysis protection | |||
** Integrate fully with Cryptarchia protocol | |||
** Maintain message timing obfuscation | |||
* The system SHOULD enhance message privacy: | * The system SHOULD enhance message privacy: | ||
** Advanced timing analysis protection mechanisms | |||
** Enhanced message mixing algorithms | |||
** Complex timing pattern obfuscation | |||
** Optimized message processing and blending | |||
BNP-003: Cover Traffic Module | BNP-003: Cover Traffic Module | ||
* The system MUST generate minimum required cover traffic: | * The system MUST generate minimum required cover traffic: | ||
** Generate and maintain cover message streams | |||
** Create sufficient anonymity sets | |||
** Optimize resource usage for cover traffic | |||
** Balance privacy and bandwidth usage | |||
* The system SHOULD implement advanced cover traffic: | * The system SHOULD implement advanced cover traffic: | ||
** Dynamic cover traffic generation based on network activity | |||
** Enhanced anonymity set management | |||
** Advanced traffic pattern obfuscation | |||
** Efficient resource utilization strategies | |||
BNP-004: Network Privacy Integration | BNP-004: Network Privacy Integration | ||
* The system MUST provide network-level privacy: | * The system MUST provide network-level privacy: | ||
** Network-level privacy for non-consensus messages | |||
** Basic private P2P communication capabilities | |||
** Private data dissemination mechanisms | |||
** Basic traffic analysis protection | |||
* The system SHOULD enhance network privacy: | * The system SHOULD enhance network privacy: | ||
** Advanced traffic analysis protection | |||
** Optimized cover traffic generation | |||
** Larger anonymity set maintenance | |||
** Improved network attack resistance | |||
<span id="coordination-layer"></span> | <span id="coordination-layer"></span> | ||
Line 530: | Line 570: | ||
ZKV-001: Proof Verification Core | ZKV-001: Proof Verification Core | ||
* The system MUST implement basic verification: | * The system MUST implement basic verification: | ||
** Efficient ZK proof verification | |||
** Support for multiple proving systems | |||
** Basic proof validity checks | |||
** Verification cost optimization | |||
* The system SHOULD support advanced verification: | * The system SHOULD support advanced verification: | ||
** Hardware-accelerated verification | |||
** Parallel proof verification | |||
** Advanced validity checks | |||
** Dynamic cost optimization | |||
ZKV-002: Proof Aggregation | ZKV-002: Proof Aggregation | ||
* The system MUST support basic aggregation: | * The system MUST support basic aggregation: | ||
** Proof batching and combining | |||
** Cross-zone proof aggregation | |||
** Aggregation validity checks | |||
** Resource usage optimization | |||
* The system SHOULD implement advanced aggregation: | * The system SHOULD implement advanced aggregation: | ||
** Dynamic batch sizing | |||
** Multi-layer aggregation | |||
** Complex validity preservation | |||
** Enhanced resource efficiency | |||
ZKV-003: System Evolution | ZKV-003: System Evolution | ||
* The system MUST handle basic updates: | * The system MUST handle basic updates: | ||
** Proof system upgrades | |||
** Parameter updates | |||
** Backward compatibility | |||
** Version management | |||
* The system SHOULD support advanced features: | * The system SHOULD support advanced features: | ||
** Zero-downtime upgrades | |||
** Seamless version transitions | |||
** Cross-version compatibility | |||
** Update verification guarantees | |||
<span id="intent-solving"></span> | <span id="intent-solving"></span> | ||
Line 573: | Line 613: | ||
ISM-001: Intent Matching Core | ISM-001: Intent Matching Core | ||
* The system MUST implement basic matching: | * The system MUST implement basic matching: | ||
** Match compatible intents efficiently | |||
** Ensure atomic execution across zones | |||
** Handle partial transactions | |||
** Support different intent types | |||
* The system SHOULD support advanced matching: | * The system SHOULD support advanced matching: | ||
** Dynamic matching optimization | |||
** Complex intent compatibility rules | |||
** Multi-party intent matching | |||
** Resource-aware matching | |||
ISM-002: Intent Privacy | ISM-002: Intent Privacy | ||
* The system SHOULD provide basic privacy: | * The system SHOULD provide basic privacy: | ||
** Basic intent privacy during matching | |||
** Simple relationship hiding | |||
** Minimal information disclosure | |||
** Privacy-preserving validation | |||
* The system SHOULD implement enhanced privacy: | * The system SHOULD implement enhanced privacy: | ||
** Advanced intent obfuscation | |||
** Complex relationship hiding | |||
** Zero-knowledge intent matching | |||
** Privacy-preserving optimization | |||
ISM-003: Cross-Zone Coordination | ISM-003: Cross-Zone Coordination | ||
* The system MUST enable basic coordination: | * The system MUST enable basic coordination: | ||
** Cross-zone atomic execution | |||
** Basic state synchronization | |||
** Intent propagation | |||
** Failure handling | |||
* The system SHOULD support advanced features: | * The system SHOULD support advanced features: | ||
** Complex atomic operations | |||
** Advanced state management | |||
** Optimized propagation | |||
** Comprehensive failure recovery | |||
<span id="zones"></span> | <span id="zones"></span> | ||
Line 620: | Line 660: | ||
* The system MUST provide support VM capabilities | * The system MUST provide support VM capabilities | ||
* The system SHOULD enable VM extensibility: | * The system SHOULD enable VM extensibility: | ||
** Zero-knowledge virtual machine integration | |||
** Multi-party computation environments | |||
** Hardware-accelerated execution environments | |||
** Domain-specific VM optimization | |||
ZEE-002: Consensus and State Management | ZEE-002: Consensus and State Management | ||
* The system MUST enable sovereign execution: | * The system MUST enable sovereign execution: | ||
** Independent consensus mechanism selection | |||
** State transition rule customization | |||
** Cross-zone state verification | |||
** State sovereignty preservation | |||
* The system SHOULD support execution evolution: | * The system SHOULD support execution evolution: | ||
** Consensus mechanism upgrades | |||
** State transition rule modifications | |||
** Cross-zone state synchronization | |||
** State recovery mechanisms | |||
ZEE-003: Privacy and Scalability | ZEE-003: Privacy and Scalability | ||
* The system MUST implement execution privacy: | * The system MUST implement execution privacy: | ||
** Private state transitions | |||
** Confidential smart contracts | |||
** Selective state disclosure | |||
** Private cross-zone interactions | |||
* The system SHOULD enable execution scaling: | * The system SHOULD enable execution scaling: | ||
** Parallel transaction processing | |||
** State sharding capabilities | |||
** Cross-zone execution optimization | |||
** Resource utilization management | |||
<span id="network-privacy"></span> | <span id="network-privacy"></span> | ||
Line 658: | Line 698: | ||
NWP-001: Network Communication Privacy | NWP-001: Network Communication Privacy | ||
* The system MUST implement private P2P communication: | * The system MUST implement private P2P communication: | ||
** Encrypted peer connections through libp2p-mix | |||
** Private peer discovery mechanisms | |||
** Network topology obfuscation | |||
** Traffic pattern hiding | |||
* The system SHOULD enhance network privacy: | * The system SHOULD enhance network privacy: | ||
** Dynamic peer selection strategies | |||
** Advanced routing algorithms | |||
** Network partition resistance | |||
** Topology optimization | |||
NWP-002: Traffic Analysis Protection | NWP-002: Traffic Analysis Protection | ||
* The system MUST prevent traffic analysis: | * The system MUST prevent traffic analysis: | ||
** Message size normalization | |||
** Timing pattern obfuscation | |||
** Flow correlation prevention | |||
** Cover traffic integration | |||
* The system SHOULD implement enhanced protections: | * The system SHOULD implement enhanced protections: | ||
** Adaptive traffic shaping | |||
** Dynamic cover traffic generation | |||
** Advanced timing obfuscation | |||
** Flow fingerprint resistance | |||
NWP-003: Network Resilience | NWP-003: Network Resilience | ||
* The system MUST provide network resilience: | * The system MUST provide network resilience: | ||
** Peer connection redundancy | |||
** Network attack resistance | |||
** Failure recovery mechanisms | |||
** Byzantine fault tolerance | |||
* The system SHOULD enable advanced resilience: | * The system SHOULD enable advanced resilience: | ||
** Self-healing network topology | |||
** Dynamic route optimization | |||
** Attack mitigation strategies | |||
** Automated recovery procedures | |||
<span id="cross-zone-communication"></span> | <span id="cross-zone-communication"></span> | ||
Line 704: | Line 744: | ||
CZC-001: Trust-Minimized Bridging | CZC-001: Trust-Minimized Bridging | ||
* The system MUST implement bridging through Coordination Layer: | * The system MUST implement bridging through Coordination Layer: | ||
** Zero-knowledge state transition verification | |||
** Cross-zone transaction atomicity | |||
** State commitment verification | |||
** Bridge security guarantees | |||
** Atomic intent execution | |||
* The system SHOULD support bridge evolution: | * The system SHOULD support bridge evolution: | ||
** Multi-zone atomic operations | |||
** Optimized proof generation | |||
** Enhanced bridge security | |||
** Efficient state verification | |||
** Advanced bridging protocols | |||
CZC-002: Message Passing Protocol | CZC-002: Message Passing Protocol | ||
* The system MUST enable direct zone communication: | * The system MUST enable direct zone communication: | ||
** Reliable message delivery guarantees | |||
** Base Layer fallback mechanisms | |||
** Message ordering preservation | |||
** Communication failure recovery | |||
** State synchronization protocols | |||
* The system SHOULD enhance messaging capabilities: | * The system SHOULD enhance messaging capabilities: | ||
** Optimized message routing | |||
** Advanced failure detection | |||
** Efficient state synchronization | |||
** Resource-aware communication | |||
** Dynamic routing optimization | |||
CZC-003: Privacy Preservation | CZC-003: Privacy Preservation | ||
* The system MUST protect cross-zone privacy: | * The system MUST protect cross-zone privacy: | ||
** Transaction source/destination hiding | |||
** State transition confidentiality | |||
** Relationship metadata protection | |||
** Communication pattern obfuscation | |||
** Intent privacy preservation | |||
* The system SHOULD implement privacy enhancements: | * The system SHOULD implement privacy enhancements: | ||
** Zero-knowledge message passing | |||
** Enhanced metadata protection | |||
** Advanced pattern hiding | |||
** Cross-zone anonymity sets | |||
** Relationship hiding protocols | |||
<span id="light-node-network"></span> | <span id="light-node-network"></span> | ||
Line 753: | Line 793: | ||
LNV-001: Data Availability Verification | LNV-001: Data Availability Verification | ||
* The system MUST enable light client verification: | * The system MUST enable light client verification: | ||
** Data availability sampling verification | |||
** Fraud proof validation | |||
** Sample size management | |||
** Bandwidth-efficient verification | |||
** Resource usage optimization | |||
* The system SHOULD support verification enhancements: | * The system SHOULD support verification enhancements: | ||
** Adaptive sampling strategies | |||
** Optimized proof validation | |||
** Enhanced fraud detection | |||
** Network-aware sampling | |||
** Dynamic sample size adjustment | |||
LNV-002: Zero-Knowledge Proof Validation | LNV-002: Zero-Knowledge Proof Validation | ||
* The system MUST support proof verification: | * The system MUST support proof verification: | ||
** Zone state transition validation | |||
** Cross-zone communication verification | |||
** Selective proof verification | |||
** Resource-efficient validation | |||
** Proof aggregation verification | |||
* The system SHOULD enable advanced validation: | * The system SHOULD enable advanced validation: | ||
** Parallel proof verification | |||
** Proof aggregation validation | |||
** Optimized verification paths | |||
** Hardware acceleration support | |||
** Batched proof verification | |||
LNV-003: Network Security | LNV-003: Network Security | ||
* The system MUST provide security features: | * The system MUST provide security features: | ||
** Secure network exit protocol implementation | |||
** Verifiable data reconstruction mechanisms | |||
** Decentralized coordination protocol | |||
** Byzantine fault detection | |||
** Network partition handling | |||
* The system SHOULD enable advanced security: | * The system SHOULD enable advanced security: | ||
** Automated exit coordination | |||
** Enhanced data reconstruction | |||
** Advanced fault detection | |||
** Network attack resistance | |||
** Self-healing mechanisms | |||
<span id="other-nonfunctional-requirements"></span> | <span id="other-nonfunctional-requirements"></span> | ||
Line 927: | Line 967: | ||
* ''Base Layer (BL)'': The foundational layer providing consensus and data availability | * ''Base Layer (BL)'': The foundational layer providing consensus and data availability | ||
* ''Blend Network'': A specialized privacy system for Private Proof of Stake consisting of: | * ''Blend Network'': A specialized privacy system for Private Proof of Stake consisting of: | ||
** ''PTM (Persistent Transmission Module)'': Manages validator connections and drop messages | |||
** ''MBM (Message Blending Module)'': Processes consensus messages through mixing and timing obfuscation | |||
** ''CTM (Cover Traffic Module)'': Generates anonymity sets through cover messages | |||
* ''Coordination Layer (CL)'': The layer handling proof verification and cross-zone communication | * ''Coordination Layer (CL)'': The layer handling proof verification and cross-zone communication | ||
* ''Cryptarchia'': A consensus protocol that works with Blend Network to implement Private Proof of Stake | * ''Cryptarchia'': A consensus protocol that works with Blend Network to implement Private Proof of Stake |
Revision as of 07:43, 3 January 2025
Software Requirements Specification
for Nomos: A Privacy-Preserving Multi-Chain Heterogeneous Blockchain Network
Version 1.0 Prepared by Jarrad Hope 29-12-24
Table of Contents
- Introduction
- 1.1 Purpose
- 1.2 Document Conventions
- 1.3 Intended Audience and Reading Suggestions
- 1.4 Product Scope
- 1.5 References
- Overall Description
- 2.1 Product Perspective
- 2.2 Product Functions
- 2.3 User Classes and Characteristics
- 2.4 Operating Environment
- 2.5 Design and Implementation Constraints
- 2.6 User Documentation
- 2.7 Assumptions and Dependencies
- External Interface Requirements
- 3.1 User Interfaces
- 3.2 Hardware Interfaces
- 3.3 Software Interfaces
- 3.4 Communications Interfaces
- System Features
- 4.1 Base Layer
- 4.2 Coordination Layer
- 4.3 Zones
- 4.4 Network Privacy
- 4.5 Cross-Zone Communication
- 4.6 Light Node Network
- Other Nonfunctional Requirements
- 5.1 Performance Requirements
- 5.2 Security Requirements
- 5.3 Software Quality Attributes
- 5.4 Business Rules
- Other Requirements
Appendix A: Glossary Appendix B: Analysis Models Appendix C: To Be Determined List
1. Introduction
1.1 Purpose
This Software Requirements Specification (SRS) document provides a detailed description of the Nomos blockchain network. It outlines the functional and non-functional requirements for a privacy-preserving multi-chain heterogeneous blockchain network designed to serve as infrastructure for Network States.
As such the sovereignty of the system is paramount, requiring privacy through all layers of a typical Blockchain network - network level privacy, validator & consensus privacy, mempool privacy, transaction privacy, bridging/intent privacy, etc.
Consequentially, the network participants create a decentralised authority - a digital parliamentary sovereign, and become ‘Subject-Individuals’ who are bestowed Civil Liberties.
1.2 Document Conventions
This document uses the following conventions:
- MUST/REQUIRED - Indicates mandatory requirements for MVP
- SHOULD/RECOMMENDED - Indicates requirements for subsequent releases
- MAY/OPTIONAL - Indicates optional features
Terms in italics are defined in the glossary.
1.3 Intended Audience and Reading Suggestions
This document is intended for:
- Developers implementing the Nomos protocol
- Validators and node operators
- Network State builders and application developers
- Security auditors and researchers
Readers should start with Section 1 for an overview, then:
- Developers should focus on Sections 3 and 4
- Node operators should focus on Sections 2.4 and 5
- Application developers should focus on Sections 2.2 and 4.3
- Security auditors should focus on Sections 4.4 and 5.2
1.4 Product Scope
The Nomos module is a blockchain network designed to serve as foundational infrastructure for Network States. Its key objectives are:
- Enable privacy-preserving blockchain transactions and computations
- Support multiple sovereign execution environments (Zones)
- Provide censorship resistance through network-level privacy
- Ensure high network resilience through decentralization
- Enable trust-minimized communication between Zones
- Support light client verification
The system aims to overcome limitations of existing blockchain networks by providing comprehensive privacy at every layer:
- Network level: Private P2P communication through libp2p-mix
- Consensus level: Private Proof of Stake through Blend Network & Cryptarchia
- Mempool level: Private transaction propagation
- Execution level: Privacy-preserving computation in Zones
- Cross-zone level: Private cross-zone communication (bridging and intent matching)
- Light client level: Private verification capabilities
This is achieved through:
- Modular architecture separating consensus, execution, and data availability
- Sovereign zones with flexible configurations
- Multiple specialized privacy systems working together
1.5 References
- Nomos Darkpaper v0.6
- Nomos Blend Network Documentation
- Cryptarchia Protocol Specification
- Native Zones Documentation
- IEEE 830-1998 Recommended Practice for Software Requirements Specifications
2. Overall Description
2.1 Product Perspective
Nomos is a novel blockchain system composed of three main layers:
- Base Layer (BL)
- Provides data availability and consensus
- Implements Private Proof of Stake
- Focuses on network resilience and censorship resistance
- Scales through sharding and data availability sampling
- Coordination Layer (CL)
- Enables state transition verification through zero-knowledge proofs
- Provides intent matching and proof aggregation
- Handles cross-zone communication
- Manages special operations like zone creation
- Zones
- Independent execution environments
- Can be configured as ZK-rollups or virtual sidechains
- Share data availability and consensus from Base Layer
- Support arbitrary execution models and privacy requirements
The system is verified by a network of Light Nodes that provide additional security and decentralization.
2.2 Product Functions
The major functions of Nomos include:
Base Layer MUST:
- Execute Private Proof of Stake consensus through Blend Network & Cryptarchia
- Provide data availability guarantees
- Enable network-level privacy through the libp2p-mix module
- Support sharding for scalability
- Process and order data blobs
Coordination Layer MUST:
- Verify zero-knowledge proofs
- Enable cross-zone communication
- Manage zone lifecycle operations
- Support intent matching and aggregation
- Process special operations
Zones MUST:
- Support independent state execution
- Enable flexible security/performance tradeoffs
- Allow arbitrary execution models
- Support privacy-preserving computation
- Enable data availability sampling
2.3 User Classes and Characteristics
The system serves the following user classes, who collectively participate in network governance:
- Validators
- Operate nodes in the Base Layer and Coordination Layer
- Require technical knowledge to run nodes
- Need to stake tokens as security deposit
- Participate in consensus and verification
- Contribute to network security and decentralization
- Zone Operators
- Deploy and manage sovereign execution environments
- Require deep technical knowledge
- Need to ensure zone security and performance
- May implement custom privacy features
- Enable sovereign community governance
- Application Developers
- Build applications on zones
- Need to understand zone capabilities
- Implement corruption-resistant institutions
- Interact with cross-zone communication
- Create tools for community coordination
- End Users
- Interact with applications built on zones
- Run light nodes for verification
- Require privacy protections
- Need simple interfaces
- Participate in network validation and governance
2.4 Operating Environment
The Base Layer MUST:
- Support commodity hardware for validators
- Operate on standard Linux/Unix systems
- Support home internet connections
- Handle intermittent connectivity
The Coordination Layer MUST:
- Support specialized hardware for proof generation
- Operate on high-performance systems
- Handle high bandwidth requirements
- Support distributed proof generation
Zones MAY:
- Require specialized hardware
- Implement custom networking protocols
- Support different consensus mechanisms
- Have unique performance requirements
2.5 Design and Implementation Constraints
The system has the following constraints:
- Required Privacy Constraints (MVP)
- Network communication MUST be privacy-preserving through libp2p-mix
- Validator stakes MUST remain private through Blend Network
- Block proposers MUST remain anonymous through Cryptarchia
- Cross-zone communication MUST support basic privacy guarantees
- Intent matching SHOULD preserve privacy where possible
- Performance Constraints (MVP)
- Base Layer MUST support commodity hardware
- Light nodes MUST operate with minimal resources
- Proof generation MUST be practical
- Network bandwidth usage MUST be optimized
- Message mixing overhead MUST be manageable
- Security Constraints (MVP)
- No trusted setup for core protocol
- No centralized components
- Basic cryptographic primitives MUST be proven secure
- Security MUST scale with network size
- Privacy guarantees MUST be maintained under partial compromise
- Compatibility Constraints (MVP)
- MUST support different zone architectures
- MUST enable cross-zone communication
- MUST support core privacy technologies
- MUST enable sovereign execution environments
- MUST allow flexible privacy/performance tradeoffs
2.6 User Documentation
The following documentation MUST be provided:
- Node operator guides
- Zone deployment documentation
- Application development guides
- Light node user guides
- Protocol specifications
- Security documentation
2.7 Assumptions and Dependencies
Assumptions:
- Cryptographic primitives remain secure
- Network bandwidth continues to increase
- Hardware costs continue to decrease
- Privacy remains a priority for users
Dependencies:
- Required Privacy Technologies:
- Zero-knowledge proof systems for state verification
- Message mixing and blending for consensus privacy
- Cover traffic generation for anonymity sets
- Private P2P communication protocols
- Recommended Privacy Enhancements:
- Intent privacy techniques
- Relationship hiding mechanisms
- Advanced cryptographic primitives
- Core Infrastructure:
- Data availability sampling
- Distributed key generation
- Threshold cryptography
3. External Interface Requirements
3.1 User Interfaces
The system MUST provide the following interfaces:
- Validator Node Interface
- Command line interface for node operation
- Configuration management interface
- Monitoring and metrics interface
- Key management interface
- Zone Operator Interface
- Zone deployment interface
- Zone management interface
- State transition interface
- Cross-zone communication interface
- Developer Interface
- Zone development SDK
- Smart contract interfaces
- Privacy-preserving computation interfaces
- Cross-zone communication APIs
- Light Node Interface
- Simple setup interface
- Verification interface
- Network coordination interface
- Data availability sampling interface
3.2 Hardware Interfaces
Base Layer Nodes MUST:
- Support commodity CPU hardware
- Support standard network interfaces
- Support standard storage interfaces
- Support consumer-grade memory
Coordination Layer Nodes MUST:
- Support specialized proof generation hardware
- Support high-bandwidth network interfaces
- Support high-performance storage
- Support sufficient memory for proof generation
Zone Nodes MAY:
- Require specialized hardware
- Support custom networking hardware
- Implement specific storage requirements
- Need high-performance memory
3.3 Software Interfaces
The system MUST provide:
- Network Protocol Interfaces
- P2P networking modules, i.e. libp2p-mix (for network privacy)
- Blend Network modules:
- PTM (validator connections and drop messages)
- MBM (consensus message mixing and timing)
- CTM (cover traffic generation)
- Data availability protocols
- Cross-zone communication protocols
- Cryptographic Interfaces
- Zero-knowledge proof systems
- Threshold encryption systems
- Key management systems
- Commitment schemes
- Storage Interfaces
- Data availability storage
- State storage
- Proof storage
- Configuration storage
- Development Interfaces
- Zone development frameworks
- Smart contract languages
- Privacy-preserving computation tools
- Cross-zone communication libraries
3.4 Communications Interfaces
The system MUST implement:
- Network-Level Communication
- Privacy-preserving P2P protocols through libp2p-mix module
- Consensus privacy as Blend Network protocol
- Data availability sampling
- Consensus communication as Cryptarchia
- Cross-Zone Communication
- Trust-minimized bridging
- Message passing protocols
- State verification
- Atomic operations
- Light Node Communication
- Data availability verification
- Proof verification
- Network coordination
- Exit protocols
4. System Features
4.1 Base Layer
4.1.1 Private Proof of Stake
Description: The Base Layer MUST implement a Private Proof of Stake consensus mechanism that preserves validator privacy and prevents targeted attacks.
Functional Requirements:
PPOS-001: Validator Privacy
- The system MUST implement basic privacy:
- Hide validator stakes through Blend Network
- Preserve block proposer anonymity
- Prevent stake deanonymization attacks
- Maintain validator metadata privacy
- The system SHOULD support enhanced privacy:
- Advanced timing analysis protection
- Enhanced anonymity set generation
- Improved network attack resistance
PPOS-002: Consensus Security
- The system MUST provide basic security:
- Prevent stake grinding attacks
- Ensure fair block production
- Maintain consensus finality
- Handle network partitions
- The system SHOULD implement advanced security:
- Quantum attack resistance
- Eclipse attack prevention
- Advanced fork choice rules
- Complex partition handling
PPOS-003: Network Resilience
- The system MUST ensure basic resilience:
- Support commodity hardware validators
- Handle intermittent connectivity
- Recover from network failures
- Maintain liveness under attack
- The system SHOULD provide enhanced resilience:
- Advanced recovery mechanisms
- Dynamic attack mitigation
- Adaptive network topology
- Self-healing capabilities
4.1.2 Data Availability
Description: The Base Layer MUST provide scalable data availability with light client verification capabilities.
Functional Requirements:
DAS-001: Data Sampling and Verification
- The system MUST implement basic sampling:
- Efficient data availability sampling
- Light client verification support
- Sample size optimization
- Verification latency targets
- The system SHOULD support advanced sampling:
- Adaptive sample sizes
- Enhanced verification methods
- Optimized proof generation
- Advanced fraud proofs
DAS-002: Data Organization
- The system MUST implement basic sharding:
- Data segmentation and distribution
- Cross-shard verification
- Shard synchronization
- Data redundancy management
- The system SHOULD support advanced sharding:
- Dynamic shard allocation
- Cross-shard optimization
- Adaptive redundancy
- Load balancing
DAS-003: Data Integrity and Recovery
- The system MUST ensure basic integrity:
- Data reconstruction capabilities
- Integrity verification
- Error detection and correction
- Bandwidth optimization
- The system SHOULD implement advanced features:
- Advanced reconstruction methods
- Enhanced error correction
- Optimized bandwidth usage
- Proactive integrity checks
4.1.3 Network and Consensus Privacy
Description: The Base Layer MUST implement two complementary privacy systems:
- Required for MVP:
- Nomos Blend Network: A specialized privacy system for Private Proof of Stake with three modules:
- PTM (Persistent Transmission Module): Manages validator connections and drop messages
- MBM (Message Blending Module): Processes consensus messages through mixing and timing obfuscation
- CTM (Cover Traffic Module): Generates anonymity sets through cover messages
- libp2p-mix: A P2P networking module for general network privacy
- Nomos Blend Network: A specialized privacy system for Private Proof of Stake with three modules:
- Future Enhancements:
- Advanced timing analysis protection
- Enhanced anonymity set generation
- Improved network attack resistance
Functional Requirements:
BNP-001: Persistent Transmission Module
- The system MUST maintain persistent validator connections with basic privacy:
- Establish and maintain secure validator connections
- Handle drop messages for connection privacy
- Monitor connection quality and health
- Manage connection lifecycles securely
- The system SHOULD implement advanced connection features:
- Dynamic connection management based on network conditions
- Enhanced privacy through adaptive drop message rates
- Advanced connection health monitoring and recovery
- Optimized connection resource management
BNP-002: Message Blending Module
- The system MUST process and blend consensus messages:
- Process consensus messages through mixing
- Implement basic timing analysis protection
- Integrate fully with Cryptarchia protocol
- Maintain message timing obfuscation
- The system SHOULD enhance message privacy:
- Advanced timing analysis protection mechanisms
- Enhanced message mixing algorithms
- Complex timing pattern obfuscation
- Optimized message processing and blending
BNP-003: Cover Traffic Module
- The system MUST generate minimum required cover traffic:
- Generate and maintain cover message streams
- Create sufficient anonymity sets
- Optimize resource usage for cover traffic
- Balance privacy and bandwidth usage
- The system SHOULD implement advanced cover traffic:
- Dynamic cover traffic generation based on network activity
- Enhanced anonymity set management
- Advanced traffic pattern obfuscation
- Efficient resource utilization strategies
BNP-004: Network Privacy Integration
- The system MUST provide network-level privacy:
- Network-level privacy for non-consensus messages
- Basic private P2P communication capabilities
- Private data dissemination mechanisms
- Basic traffic analysis protection
- The system SHOULD enhance network privacy:
- Advanced traffic analysis protection
- Optimized cover traffic generation
- Larger anonymity set maintenance
- Improved network attack resistance
4.2 Coordination Layer
4.2.1 Zero-Knowledge Verification
Description: The Coordination Layer MUST provide efficient zero-knowledge proof verification for state transitions and cross-zone communication.
Functional Requirements:
ZKV-001: Proof Verification Core
- The system MUST implement basic verification:
- Efficient ZK proof verification
- Support for multiple proving systems
- Basic proof validity checks
- Verification cost optimization
- The system SHOULD support advanced verification:
- Hardware-accelerated verification
- Parallel proof verification
- Advanced validity checks
- Dynamic cost optimization
ZKV-002: Proof Aggregation
- The system MUST support basic aggregation:
- Proof batching and combining
- Cross-zone proof aggregation
- Aggregation validity checks
- Resource usage optimization
- The system SHOULD implement advanced aggregation:
- Dynamic batch sizing
- Multi-layer aggregation
- Complex validity preservation
- Enhanced resource efficiency
ZKV-003: System Evolution
- The system MUST handle basic updates:
- Proof system upgrades
- Parameter updates
- Backward compatibility
- Version management
- The system SHOULD support advanced features:
- Zero-downtime upgrades
- Seamless version transitions
- Cross-version compatibility
- Update verification guarantees
4.2.2 Intent Solving
Description: The Coordination Layer MUST provide private intent matching and solving capabilities that preserve user privacy while enabling efficient cross-zone transaction processing.
Functional Requirements:
ISM-001: Intent Matching Core
- The system MUST implement basic matching:
- Match compatible intents efficiently
- Ensure atomic execution across zones
- Handle partial transactions
- Support different intent types
- The system SHOULD support advanced matching:
- Dynamic matching optimization
- Complex intent compatibility rules
- Multi-party intent matching
- Resource-aware matching
ISM-002: Intent Privacy
- The system SHOULD provide basic privacy:
- Basic intent privacy during matching
- Simple relationship hiding
- Minimal information disclosure
- Privacy-preserving validation
- The system SHOULD implement enhanced privacy:
- Advanced intent obfuscation
- Complex relationship hiding
- Zero-knowledge intent matching
- Privacy-preserving optimization
ISM-003: Cross-Zone Coordination
- The system MUST enable basic coordination:
- Cross-zone atomic execution
- Basic state synchronization
- Intent propagation
- Failure handling
- The system SHOULD support advanced features:
- Complex atomic operations
- Advanced state management
- Optimized propagation
- Comprehensive failure recovery
4.3 Zones
4.3.1 Execution Environments
Description: Zones MUST provide flexible and sovereign execution environments with configurable security and performance characteristics.
Functional Requirements:
ZEE-001: Virtual Machine Support
- The system MUST provide support VM capabilities
- The system SHOULD enable VM extensibility:
- Zero-knowledge virtual machine integration
- Multi-party computation environments
- Hardware-accelerated execution environments
- Domain-specific VM optimization
ZEE-002: Consensus and State Management
- The system MUST enable sovereign execution:
- Independent consensus mechanism selection
- State transition rule customization
- Cross-zone state verification
- State sovereignty preservation
- The system SHOULD support execution evolution:
- Consensus mechanism upgrades
- State transition rule modifications
- Cross-zone state synchronization
- State recovery mechanisms
ZEE-003: Privacy and Scalability
- The system MUST implement execution privacy:
- Private state transitions
- Confidential smart contracts
- Selective state disclosure
- Private cross-zone interactions
- The system SHOULD enable execution scaling:
- Parallel transaction processing
- State sharding capabilities
- Cross-zone execution optimization
- Resource utilization management
4.4 Network Privacy
Description: The system MUST implement comprehensive network-level privacy through libp2p-mix and Blend Network protocols to prevent traffic analysis and protect validator identities.
Functional Requirements:
NWP-001: Network Communication Privacy
- The system MUST implement private P2P communication:
- Encrypted peer connections through libp2p-mix
- Private peer discovery mechanisms
- Network topology obfuscation
- Traffic pattern hiding
- The system SHOULD enhance network privacy:
- Dynamic peer selection strategies
- Advanced routing algorithms
- Network partition resistance
- Topology optimization
NWP-002: Traffic Analysis Protection
- The system MUST prevent traffic analysis:
- Message size normalization
- Timing pattern obfuscation
- Flow correlation prevention
- Cover traffic integration
- The system SHOULD implement enhanced protections:
- Adaptive traffic shaping
- Dynamic cover traffic generation
- Advanced timing obfuscation
- Flow fingerprint resistance
NWP-003: Network Resilience
- The system MUST provide network resilience:
- Peer connection redundancy
- Network attack resistance
- Failure recovery mechanisms
- Byzantine fault tolerance
- The system SHOULD enable advanced resilience:
- Self-healing network topology
- Dynamic route optimization
- Attack mitigation strategies
- Automated recovery procedures
4.5 Cross-Zone Communication
Description: The system MUST provide secure and private cross-zone communication through two complementary mechanisms:
- Trust-minimized bridging through the Coordination Layer for verifiable state transitions
- Direct message passing between zones with Base Layer fallback for data availability
Functional Requirements:
CZC-001: Trust-Minimized Bridging
- The system MUST implement bridging through Coordination Layer:
- Zero-knowledge state transition verification
- Cross-zone transaction atomicity
- State commitment verification
- Bridge security guarantees
- Atomic intent execution
- The system SHOULD support bridge evolution:
- Multi-zone atomic operations
- Optimized proof generation
- Enhanced bridge security
- Efficient state verification
- Advanced bridging protocols
CZC-002: Message Passing Protocol
- The system MUST enable direct zone communication:
- Reliable message delivery guarantees
- Base Layer fallback mechanisms
- Message ordering preservation
- Communication failure recovery
- State synchronization protocols
- The system SHOULD enhance messaging capabilities:
- Optimized message routing
- Advanced failure detection
- Efficient state synchronization
- Resource-aware communication
- Dynamic routing optimization
CZC-003: Privacy Preservation
- The system MUST protect cross-zone privacy:
- Transaction source/destination hiding
- State transition confidentiality
- Relationship metadata protection
- Communication pattern obfuscation
- Intent privacy preservation
- The system SHOULD implement privacy enhancements:
- Zero-knowledge message passing
- Enhanced metadata protection
- Advanced pattern hiding
- Cross-zone anonymity sets
- Relationship hiding protocols
4.6 Light Node Network
Description: The Light Node Network MUST provide efficient verification capabilities while minimizing resource requirements, enabling users to validate the network’s integrity without running full nodes.
Functional Requirements:
LNV-001: Data Availability Verification
- The system MUST enable light client verification:
- Data availability sampling verification
- Fraud proof validation
- Sample size management
- Bandwidth-efficient verification
- Resource usage optimization
- The system SHOULD support verification enhancements:
- Adaptive sampling strategies
- Optimized proof validation
- Enhanced fraud detection
- Network-aware sampling
- Dynamic sample size adjustment
LNV-002: Zero-Knowledge Proof Validation
- The system MUST support proof verification:
- Zone state transition validation
- Cross-zone communication verification
- Selective proof verification
- Resource-efficient validation
- Proof aggregation verification
- The system SHOULD enable advanced validation:
- Parallel proof verification
- Proof aggregation validation
- Optimized verification paths
- Hardware acceleration support
- Batched proof verification
LNV-003: Network Security
- The system MUST provide security features:
- Secure network exit protocol implementation
- Verifiable data reconstruction mechanisms
- Decentralized coordination protocol
- Byzantine fault detection
- Network partition handling
- The system SHOULD enable advanced security:
- Automated exit coordination
- Enhanced data reconstruction
- Advanced fault detection
- Network attack resistance
- Self-healing mechanisms
5. Other Nonfunctional Requirements
5.1 Performance Requirements
- Base Layer Performance
- MUST support at least 10,000 validators
- MUST process at least 1000 transactions per second
- MUST maintain block times under 2 seconds
- MUST support home internet bandwidth limits
- SHOULD optimize proof verification costs
- SHOULD minimize state growth
- Coordination Layer Performance
- MUST verify proofs within 100ms
- MUST handle proof aggregation efficiently
- MUST support parallel proof generation
- MUST optimize cross-zone communication
- SHOULD minimize proof sizes
- SHOULD optimize intent matching
- Zone Performance
- MUST support custom performance requirements
- MUST handle state transitions efficiently
- MUST optimize cross-zone operations
- MUST support parallel execution
- SHOULD enable horizontal scaling
- SHOULD minimize resource usage
5.2 Security Requirements
- Required Network Security (MVP)
- MUST prevent stake deanonymization through Blend Network
- MUST prevent traffic analysis through libp2p-mix
- MUST ensure message privacy for consensus
- MUST prevent targeted attacks on validators
- MUST protect against basic network attacks
- Required Cryptographic Security (MVP)
- MUST use proven cryptographic primitives
- MUST ensure proof soundness for state verification
- MUST protect private keys and validator identities
- MUST implement secure message mixing
- MUST ensure atomic cross-zone operations
- Required Protocol Security (MVP)
- MUST prevent double spending
- MUST ensure consensus safety
- MUST handle byzantine behavior
- MUST protect against grinding attacks
- MUST maintain validator anonymity
- Enhanced Security (Future)
- SHOULD resist quantum attacks
- SHOULD prevent eclipse attacks
- SHOULD support key rotation
- SHOULD implement forward secrecy
- SHOULD prevent MEV extraction
- SHOULD handle network partitions
- SHOULD enhance intent privacy
- SHOULD protect relationship metadata
5.3 Software Quality Attributes
- Reliability
- MUST maintain network availability
- MUST ensure data persistence
- MUST handle node failures
- MUST recover from errors
- SHOULD provide redundancy
- SHOULD implement fault tolerance
- Maintainability
- MUST support protocol upgrades
- MUST enable bug fixes
- MUST allow parameter updates
- MUST support backwards compatibility
- SHOULD enable modular updates
- SHOULD minimize upgrade complexity
- Usability
- MUST provide clear interfaces
- MUST support easy deployment
- MUST enable simple configuration
- MUST handle errors gracefully
- SHOULD provide helpful documentation
- SHOULD implement intuitive APIs
5.4 Business Rules
- Tokenomics
- MUST implement fair token distribution
- MUST provide validator incentives
- MUST handle transaction fees
- MUST support restaking
- SHOULD prevent stake centralization
- SHOULD optimize economic security
- Governance
- MUST enable protocol upgrades
- MUST support parameter changes
- MUST handle disputes
- MUST enable coordination
- SHOULD support decentralized governance
- SHOULD enable stake-weighted voting
6. Other Requirements
- Legal Requirements
- MUST comply with privacy regulations
- MUST handle data protection
- MUST support regulatory compliance
- MUST enable selective disclosure
- SHOULD support identity verification
- SHOULD enable compliance reporting
- Internationalization
- MUST support multiple languages
- MUST handle different timezones
- MUST support various regions
- MUST enable local customization
- SHOULD support cultural differences
- SHOULD handle different regulations
Appendix A: Glossary
- Base Layer (BL): The foundational layer providing consensus and data availability
- Blend Network: A specialized privacy system for Private Proof of Stake consisting of:
- PTM (Persistent Transmission Module): Manages validator connections and drop messages
- MBM (Message Blending Module): Processes consensus messages through mixing and timing obfuscation
- CTM (Cover Traffic Module): Generates anonymity sets through cover messages
- Coordination Layer (CL): The layer handling proof verification and cross-zone communication
- Cryptarchia: A consensus protocol that works with Blend Network to implement Private Proof of Stake
- Data Availability Sampling: A technique for efficient data verification
- Intent: A high-level description of desired transaction outcomes
- libp2p-mix: A P2P networking module providing general network-level privacy
- Light Node: A resource-efficient node for network verification
- Private Proof of Stake: A privacy-preserving consensus mechanism implemented through Blend Network and Cryptarchia
- Zero-Knowledge Proof: A cryptographic method for verifying computations
- Zone: An independent execution environment with sovereign state
- Cross-Zone Communication: Interaction between different execution environments
Appendix B: Analysis Models
- Network Architecture
- Base Layer topology
- Coordination Layer structure
- Zone relationships
- Communication paths
- Protocol Flows
- Consensus process
- Proof verification
- Cross-zone operations
- Light node verification
- Security Models
- Threat models
- Attack vectors
- Defense mechanisms
- Privacy guarantees
Appendix C: To Be Determined List
- Base Layer
- Optimal sharding parameters
- Stake inference mechanisms
- Network scaling limits
- Upgrade mechanisms
- Coordination Layer
- Proof aggregation schemes
- Intent matching algorithms
- Cross-zone protocols
- Verification optimization
- Zones
- Execution model standards
- Privacy technology integration
- State transition schemes
- Communication protocols
- General
- Governance mechanisms
- Economic parameters
- Upgrade procedures