GuardianDB: The Rust Implementation of OrbitDB.
A peer-to-peer database for the Decentralized Web.

Architecture and Technology
The architecture of GuardianDB is fully decentralized and built with modern technologies, leveraging the strengths of the Rust programming language:
Security and Performance in Rust
Being written in Rust, GuardianDB benefits from memory safety (preventing common vulnerabilities) and high performance, compiling into optimized machine code without the need for a garbage collector.
Native IPFS
It integrates a native implementation of the IPFS API, enabling direct communication with the IPFS network without the need for an external Go-based node (Kubo).
P2P Communication
It uses libp2p for direct and efficient communication between nodes (peers), including a system of direct channels and PubSub (Publish/Subscribe) for message exchange and data synchronization.
Reactive Event System
It features an event system (EventBus) based on Tokio that enables asynchronous and type-safe communication between the different components of the database.
Synchronization with CRDTs
The core of GuardianDB uses an immutable operation log (OpLog) and a Lamport clock (LamportClock) to ensure the partial chronological ordering of events and the consistent synchronization of data across peers, a fundamental characteristic of CRDTs.
Access Control and Efficient Caching
It provides a flexible access control system that can validate read and write permissions based on the participants’ cryptographic identities. It uses a multi-level caching system, with Sled as the backend, to optimize data access and improve performance.
Main Features
GuardianDB offers different types of “stores” (databases), each suited for a specific use case:

Event Log Store
An immutable log where only new events can be added (append-only). It is ideal for use cases such as audit trails, activity feeds, or any scenario that requires a complete and ordered history of events.

Key-Value Store
A distributed key-value database. It allows put, get, and delete operations, functioning similarly to a dictionary or map.

Document Store
Allows storing documents in JSON format and performing queries on them, similar to databases like MongoDB.
“Guardian DB is evolving quickly. The idea is simple: to be a distributed system that is more logical, cohesive, polished, and robust.”

William Maslonek
Software Engineer
News:
Join Our Community
Join our Discord to collaborate: