Skip to content

docs: design storage architecture #87

@mfw78

Description

@mfw78

Context

Nexum requires a storage architecture that can store wallet metadata, preferences, and state locally while maintaining forward compatibility with Swarm-based decentralized storage. The design must support encryption, synchronization across devices, and efficient local caching.

Considerations

This specification should address the following considerations:

  • Swarm-based content addressing and chunking strategy
  • Local storage format and file structure
  • Encryption scheme for sensitive data (keys, metadata, preferences)
  • Key derivation for storage encryption (integration with docs: define derivation path standards #86 / NXP-1)
  • Synchronization protocol for multi-device scenarios
  • Conflict resolution for concurrent modifications
  • Cache invalidation and refresh strategies
  • Storage abstraction layer API
  • Migration path from local-only to Swarm-backed storage
  • Backup and restore mechanisms
  • Storage quota management and pruning
  • Performance requirements for read/write operations

Solution

Draft specification: NXP-2: Storage Architecture (draft)

This document defines:

  • System key allocations for storage operations (registered in NXP-1 registry)
  • Swarm primitives (CAC, SOC, feeds, batches)
  • Encryption scheme using EIP-1581 derived keys
  • Feed structure for profile metadata
  • Local caching strategy

Dependencies

Depends on (Phase 3):

Out of Scope

  • Full Swarm implementation in Q4 2025 (deferred per epic notes)
  • Blockchain-based storage
  • Centralized cloud storage backends
  • Real-time sync (eventual consistency is acceptable)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation is wrong or missing.featureNew capability that doesn't exist yet.p1-brokenActually broken. Fix this week.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions