An enterprise-grade, Merkle Tree-based key-value database engine, engineered for unparalleled data integrity and auditability.
MerkonDB integrates advanced cryptographic security with high-performance data management through its innovative Partitioned Merkle Array Tree (PMAT) architecture and secondary indexing.
Every database operation generates immutable cryptographic proofs using a Merkle tree architecture, ensuring verifiable data integrity and authenticity at scale.
Comprehensive role-based access control with granular permission bitmasks (read, write, create, delete, admin) and hierarchical user management for secure operations.
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.
Create indexes on any field for fast O(1) or O(log n) lookups while maintaining cryptographic integrity of all indexed data.
Organize and manage data across multiple named databases and collections, each maintaining independent cryptographic integrity and audit trails.
Detailed metrics on database and collection usage, coupled with cryptographic integrity verification capabilities, ensure full transparency and compliance.
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.
Keys are cryptographically distributed across multiple layers, significantly reducing search complexity to O(\$\log k\$) and optimizing data access.
Field-based indexes maintain their own Merkle proofs, enabling fast O(1) or O(log n) lookups while preserving cryptographic integrity.
Each layer maintains its own Merkle root, enabling parallel verification, efficient partial updates, and localized integrity checks without impacting the entire tree.
Secure username/password credential management utilizing PBKDF2 key derivation and configurable complexity requirements, compliant with NIST SP 800-63B.
Hierarchical role-based access control with 5 distinct permission levels (read, write, create, delete, admin) and inheritance, certified for RBAC Level 2.
Merkle tree-based cryptographic verification using SHA-256 hashing for all database operations and transactions, ensuring FIPS 180-4 validated data integrity.
Immutable operation logs with cryptographic proofs supporting GDPR Article 30 and SOX compliance requirements, aligned with ISO 27001 standards.
MerkonDB provides a comprehensive command set for complete database management, including cryptographic verification, robust access control, and secondary indexing.
use <db_name>
create database <name>
open <db_name>
close <db_name>
drop database <name>
exists database <name>
list databases
stats [<db_name>]
create collection <name>
drop collection <name>
exists collection <name>
list collections
compact [<db_name>]
help
help <command>
exit/quit
insert <col> <key> <val>
find <col> <key>
find all <col>
update <col> <key> <val>
delete <col> <key>
batch insert <col> <k=v>...
create index <col> <field>
find by <col> <field>=<value>
list indexes <col>
drop index <col> <field>
add user <name> <pass>
remove user <name>
add role <name> <perms>
remove role <name>
assign role <user> <role>
revoke role <user> <role>
root <collection>
proof <col> <key>
verify <col> <k> <v> <proof>
verify integrity [<db>]
Deploy and run MerkonDB in minutes with these straightforward steps. Available for Linux and macOS systems.
Ensure you have the required system dependencies installed:
# 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
Clone the MerkonDB repository and compile the server with cryptographic libraries:
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
Install the necessary Python client dependencies for interactive use:
pip3 install colorama
# Optional: For enhanced terminal experience
pip3 install pyreadline
Start the MerkonDB server in one terminal and connect with the client in another:
# 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>
Dive deeper into MerkonDB's capabilities, advanced configurations, and development guidelines by accessing our comprehensive documentation.
View Full Documentation