Cryptographically Verifiable Database for Zero-Trust Environments

MerkonDB

An enterprise-grade, Merkle Tree-based key-value database engine, engineered for unparalleled data integrity and auditability.

MerkonDB in action
Core Capabilities

Enterprise-Grade Data Integrity & Security

MerkonDB integrates advanced cryptographic security with high-performance data management through its innovative Partitioned Merkle Array Tree (PMAT) architecture and secondary indexing.

Cryptographic Verification

Every database operation generates immutable cryptographic proofs using a Merkle tree architecture, ensuring verifiable data integrity and authenticity at scale.

Fine-Grained RBAC

Comprehensive role-based access control with granular permission bitmasks (read, write, create, delete, admin) and hierarchical user management for secure operations.

Optimized PMAT Structure

The Partitioned Merkle Array Tree delivers optimal O(log k) search complexity and efficient O(k) insert/delete operations, maintaining cryptographic proofs with high performance.

Secondary Indexing

Create indexes on any field for fast O(1) or O(log n) lookups while maintaining cryptographic integrity of all indexed data.

Multi-Database Support

Organize and manage data across multiple named databases and collections, each maintaining independent cryptographic integrity and audit trails.

Comprehensive Auditability

Detailed metrics on database and collection usage, coupled with cryptographic integrity verification capabilities, ensure full transparency and compliance.

Architecture

The Partitioned Merkle Array Tree (PMAT)

MerkonDB's innovative PMAT structure combines the cryptographic guarantees of Merkle trees with the performance characteristics of array-based data structures and secondary indexes, optimized for verifiable data management.

Root Hash
Layer 0 Hash
3 elements
user:1001 ••••
config:theme ••••
log:2023 ••••
Layer 1 Hash
2 elements
session:abc123 ••••
cache:item42 ••••
Layer 2 Hash
1 element
metadata:version ••••
Ready for demonstration

Partitioned Structure

Keys are cryptographically distributed across multiple layers, significantly reducing search complexity to O(\$\log k\$) and optimizing data access.

Secondary Indexes

Field-based indexes maintain their own Merkle proofs, enabling fast O(1) or O(log n) lookups while preserving cryptographic integrity.

Individual Layer Roots

Each layer maintains its own Merkle root, enabling parallel verification, efficient partial updates, and localized integrity checks without impacting the entire tree.

Robust Enterprise Security Framework

Authentication

Secure username/password credential management utilizing PBKDF2 key derivation and configurable complexity requirements, compliant with NIST SP 800-63B.

NIST SP 800-63B Compliant

Authorization

Hierarchical role-based access control with 5 distinct permission levels (read, write, create, delete, admin) and inheritance, certified for RBAC Level 2.

RBAC Level 2 Certified

Data Integrity

Merkle tree-based cryptographic verification using SHA-256 hashing for all database operations and transactions, ensuring FIPS 180-4 validated data integrity.

FIPS 180-4 Validated

Auditability

Immutable operation logs with cryptographic proofs supporting GDPR Article 30 and SOX compliance requirements, aligned with ISO 27001 standards.

ISO 27001 Aligned
256-bit Encryption
Zero Trust Architecture
Cryptographic Proofs
Immutable Logs
Index Integrity
Commands

MerkonDB Query Language (MQL)

MerkonDB provides a comprehensive command set for complete database management, including cryptographic verification, robust access control, and secondary indexing.

Database Operations

use <db_name>
create database <name>
open <db_name>
close <db_name>
drop database <name>
exists database <name>
list databases
stats [<db_name>]

Collection Operations

create collection <name>
drop collection <name>
exists collection <name>
list collections

System Commands

compact [<db_name>]
help
help <command>
exit/quit

Data Operations

insert <col> <key> <val>
find <col> <key>
find all <col>
update <col> <key> <val>
delete <col> <key>
batch insert <col> <k=v>...

Indexing Operations

create index <col> <field>
find by <col> <field>=<value>
list indexes <col>
drop index <col> <field>

Access Control

add user <name> <pass>
remove user <name>
add role <name> <perms>
remove role <name>
assign role <user> <role>
revoke role <user> <role>

Integrity Verification

root <collection>
proof <col> <key>
verify <col> <k> <v> <proof>
verify integrity [<db>]
Installation

Get Started with MerkonDB

Deploy and run MerkonDB in minutes with these straightforward steps. Available for Linux and macOS systems.

1

Install Prerequisites

Ensure you have the required system dependencies installed:

Terminal
# For Debian/Ubuntu Systems sudo apt-get update && sudo apt-get install -y gcc libjson-c-dev python3 python3-pip # For macOS (using Homebrew) brew install gcc json-c python
2

Build the Server

Clone the MerkonDB repository and compile the server with cryptographic libraries:

Terminal
git clone https://github.com/MerkonDB/MerkonDB.git cd MerkonDB gcc -o server server.c smt.c smt_db.c rbac.c -ljson-c -lpthread -O3
3

Set Up Client

Install the necessary Python client dependencies for interactive use:

Terminal
pip3 install colorama # Optional: For enhanced terminal experience pip3 install pyreadline
4

Launch the System

Start the MerkonDB server in one terminal and connect with the client in another:

Terminal
# Terminal 1: Start MerkonDB Server ./server <host_ip_address> 8080 # Terminal 2: Connect with MerkonDB Client python3 client.py <host_ip_address> 8080 <username> <password>

Ready to explore more?

Dive deeper into MerkonDB's capabilities, advanced configurations, and development guidelines by accessing our comprehensive documentation.

View Full Documentation