Core Components
The architectural foundation of Eidetica, implementing the Merkle-CRDT design principles through a carefully orchestrated set of interconnected components.
Component Overview
These components work together to provide Eidetica's unique combination of features: content-addressable storage, cryptographic authentication, conflict-free synchronization, and flexible data access patterns.
Architecture Layers
Entry: The fundamental data unit containing TreeNode and SubTreeNode structures - immutable, content-addressable, and cryptographically signed
Database: User-facing abstraction providing operations over trees of entries with independent history and authentication policies
Instance: The main database orchestration layer managing databases, authentication, and storage
Transaction: Transaction mechanism providing atomic operations across multiple stores
Data Access and Storage
Stores: User-facing typed data access patterns (DocStore, Table, YDoc) that provide application-friendly interfaces over subtree data
Backend: Pluggable storage abstraction supporting different persistence strategies
CRDT: Conflict-free data types enabling distributed merging and synchronization
Security and Synchronization
Authentication: Ed25519-based cryptographic system for signing and verification
Synchronization: Distributed sync protocols built on the Merkle-DAG foundation
Terminology Note
Eidetica uses a dual terminology system:
- Internal structures: TreeNode/SubTreeNode refer to the actual Merkle-DAG data structures within entries
- User abstractions: Database/Store refer to the high-level APIs and concepts users interact with
See Terminology for detailed guidelines on when to use each naming scheme.