Skip to content

Latest commit

 

History

History
135 lines (101 loc) · 6.72 KB

File metadata and controls

135 lines (101 loc) · 6.72 KB

Go Report Card Coverage Build Status License GoDoc follow on Twitter Join the chat at https://gitter.im/CovenantSQL/CovenantSQL

CovenantSQL 是应用区块链技术构建的去中心化 SQL 云数据库。

结合了区块链、共享经济、分布式数据库的优势,保障了用户隐私及对数据的所有权。

CovenantSQL 具备以下特点:

  • SQL接口: 支持 SQL-92 标准,传统 App 几乎 0 修改即可数据上链
  • 去中心化: 基于独有的高效拜占庭容错共识算法 Kayak 实现的去中心化结构
  • 不可篡改: CovenantSQL 中的 Query 历史记录是可追溯的
  • 隐私: 如果 Bitcoin 是用户的钱包,那么 CovenantSQL 就是是用户的去中心化数据库

我们相信 在下一个互联网时代,每个人都应该有完整的数据权利

原理

CovenantSQL 是一个运行在 Internet 上的开放网络,主要有以下三种角色组成:

  • 主链节点:
    • 通过去中心化的架构,DPoS 模式的共识机制对矿工和用户进行撮合、协调、仲裁
  • 侧链矿工:
    • 所有人都可以通过运行 Covenant Miner 来提供数据库服务来赚取奖励
    • 通过 ETLS 传输层加密、应用层签名、落盘加密、端到端加密 保证用户数据隐私
  • 数据库用户:
    • 用户通过一个私钥就可以创建指定数量节点的分布式数据库,存储自己的结构化数据
    • 数据矿工的分布和地址仅对数据库用户可见,防止用户数据被嗅探
    • 通过 去中心化的高可用的架构Miner 押金机制,用户的数据可以在成本和可靠性、可用性上达到平衡可控

一行代码接入区块链数据

sql.Open("CovenantSQL", dbURI)

CovenantSQL 3 Layer design

  • 第一层: 全局共识层(主链,架构图中的中间环):
    • 整个网络中只有一个主链。
    • 主要负责数据库矿工与用户的合同匹配,交易结算,反作弊,子链哈希锁定等全局共识事宜。
  • 第二层: SQL 共识层(子链,架构图中的两边环):
    • 每个数据库都有自己独立的子链。
    • 主要负责数据库各种事务的签名,交付和一致性。这里主要实现永久可追溯性的数据历史,并且在主链中执行哈希锁定。
  • 第三层: 数据储存层(支持 SQL-92 的数据库引擎):
    • 每个数据库都有自己独立的分布式引擎。
    • 主要负责:数据库存储和加密;查询处理和签名;高效索引。

文章

团队成员发表过的论文

这些启发了我们:

Libs

网络栈

DH-RPC := TLS - Cert + DHT

应用
远程调用协议 net/rpc
寻址 Consistent Secure DHT
会话池 Session Pool
多路复用 smux
传输安全 Enhanced TLS
网络 TCP or KCP for optional later

测试工具

接口

CovenantSQL仍在建设中,测试网已经发布,尝试一下.

关注我们或follow on Twitter 保持更新

测试网

联系我们