data-sharing-demo

command module
v0.0.0-...-d7d4cfc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

README

Data Sharing Demo

Data Sharing Demo (DSD)是一个基于 CovenantSQL(CQL)构建的数据共享平台的演示。

演示的场景是一个基于:药监局、制药厂、物流公司、医院的多方场景。通过将 CQL DB Miner 节点部署在这几个角色的服务器中,并通过区块链的方式保证数据库的一致性,可以搭建出一个类似于 Hyperledger Fabric 联盟链系统。但 CQL 提供传统的 SQL 使开发更为低成本,各方面的性能也更出色。详细的对比可以参见【这里】

对于制药厂,只需要通过简单把 ERP 系统中生产情况的数据,例如:序列号、批号、生产日期,通过 SQL 写入到 CQL 中即可,对于数据的添加和修改都是基于 Admin 在系统中设定的权限来保证的,例如:

Grants:
  Policies:
    - User: factory_r_group
      Field: b77422b.cargos.id
      Action: read
    - User: factory_r_group
      Field: b77422b.cargos.serial
      Action: read
    - User: factory_w_group
      Field: b77422b.cargos.id
      Action: write
    - User: factory_w_group
      Field: b77422b.cargos.serial
      Action: write
      ## 省略很多行
  UserGroups:
    admin_group:
      - admin
    factory_r_group:
      - factory
      - carrier
      - hospital
    factory_w_group:
      - factory
    read_group:
      - readonly

在 Demo 中,每个用户只能看到有 Read 权限的数据列,只能修改有 Write 权限的列。

同时,所有对于数据的修改操作都是在区块链浏览器上有据可查的:

image-20190620204019328

点击每条记录可以跳转到 SQLChain Explorer 上查看区块链上的详情:

游览

目前可以通过以下 4 组账号进行平台试用,Admin 账号暂不开放:

 factory: AUZzFq4X  # 制药厂
 carrier: a0c48c12  # 物流公司
 hospital: DCa861a1 # 医院
 readonly: jhAWQTnh # 药监局
文件上传

在修改和增加数据条目的时候可以上传图片作为附件,后端支持本地文件系统和 S3,上传后的文件我们会在 CQL 数据库中记录文件的 URI 和 MD5。

安全性

CQL Miner 本身支持在数据库引擎的层面进行落盘加密,也就是所有在磁盘上的数据都经过 AES-128 进行加密。

对安全有更高要求的客户可以选用 CQL 端到端加密 的方案对数据进行加解密,在 demo 中我们使用的是 JavaScript 在浏览器端进行加解密:

数据同步演示

这里展示的是这个 Demo 背后的数据库实例是怎么进行强一致性的数据同步的,在 Demo 中进行任何数据的修改都会触发动画(本人学了一周前端,水平太菜,不能触发的话请刷新几下页面):

image-20190620205009638

架构图

原理

CQL 是 CovenantLabs 开发的分布式 拜占庭容错 关系型 数据库,拥有基于 RBAC 的库、表、行、列级别的权限限制的功能。我们可以基于 CQL 用传统的 SQL 技术快速的开发一个 联盟链 系统,用于实现基于区块链技术的可信多方数据共享。

接口

CQL 测试网已经发布,尝试一下.

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

联系我们

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL