CovenantSQL is a decentralized, crowdsourcing SQL database on blockchain with features:
- SQL: most SQL-92 support.
- Decentralize: decentralize with our consensus algorithm DH-RPC & Kayak.
- Privacy: access with granted permission and Encryption Pass.
- Immutable: query history in CovenantSQL is immutable and trackable.
We believe On the next Internet, everyone should have a complete Data Rights
sql.Open("CovenantSQL", dbURI)
- Layer 1: Global Consensus Layer (the main chain, the middle ring in the architecture diagram):
- There will only be one main chain throughout the network.
- Mainly responsible for database Miner and the user’s contract matching, transaction settlement, anti-cheating, shard chain lock hash and other global consensus matters.
- Layer 2: SQL Consensus Layer (shard chain, rings on both sides):
- Each database will have its own separate shard chain.
- Mainly responsible for: the signature, delivery and consistency of the various Transactions of the database. The data history of the permanent traceability is mainly implemented here, and the hash lock is performed in the main chain.
- Layer 3: Datastore Layer (database engine with SQL-92 support):
- Each Database has its own independent distributed engine.
- Mainly responsible for: database storage & encryption, query processing & signature, efficient indexing.
Our team members published:
- Thunder crystal: a novel crowdsourcing-based content distribution platform
- Analyzing streaming performance in crowdsourcing-based video service systems
- Performance Analysis of Thunder Crystal: A Crowdsourcing-Based Video Distribution Platform
that inspired us:
- Bitcoin: A Peer-to-Peer Electronic Cash System
- S/Kademlia
- vSQL: Verifying arbitrary SQL queries over dynamic outsourced databases
DH-RPC := TLS - Cert + DHT
Layer | Implementation |
---|---|
RPC | net/rpc |
Naming | Consistent Secure DHT |
Pooling | Session Pool |
Multiplex | smux |
Transport Security | Enhanced TLS |
Network | TCP or KCP for optional later |
- Global Network Topology Emulator is used for network emulating.
- Liner Consistency Test
CovenantSQL is still under construction and Testnet is already released, have a try.