1. 整体架构

采用模块插件化的设计,模块可插拔,适应多种场景。

  • 应用层
    EVM虚拟机, WASM虚拟机,GO语言原生合约以及JVM虚拟机(研发完成,测试中)
  • 共识层
    支持POS,DPOS以及POS33的公链共识、Tendermint及pbft联盟链共识、Raft私链共识、平行链共识等。
  • 数据层
    数据存储方式支持可扩展,目前支持MPT、MAVL、KVDB、MVCCKVDB多种方式,其中我们自研的MVCCKVDB能避免了状态树膨胀而导致性能下降的问题,支持LevelDB、ES等多种后端存储。
  • 加密算法
    兼容国际标准以及国密标准(SM2,SM3,SM4,SECP256K1,ED25519)
  • 交易缓存池
    交易排队机制可配置(时间,价格)

2. 主链+平行链架构

  • 平行链依附于主链,共享主链共识网络,通过grpc接口同主链节点相连,理论上一条主链下可以挂无数的平行链。
  • 在主链上,交易只做共识和存储,只运行一些基础核心的合约,所以主链的稳定性会比较强,进而保证整个区块链网络的稳定。
  • 实际的交易都在平行链上执行,平行链各自执行自己的交易,互不干扰。
  • 多条平行链共存,实现了交易的并行执地。


3. 关键特性

3.1 性能提升

为提升系统整体性能,chain33从以下几方面来进行了优化

  • 共识流程的优化(联盟链)
    chain33联盟链引入了聚合签名的技术来降低共识过程中的消息通信,通过leader去收集签名,于聚合后发送给其他节点,通过聚合签名就可以验证是否 2/3的节点已经签名,这样就能保证在区块链节点增加的情况下,交易数不会大量增加,提升共识的效率。

  • 交易并行执行

  • 存储分片

    主要基于kad网络,分片算法可以保证数据相对均匀的分布在区块链的各个节点上,每个节点仅需要保存一部分数据,非常适合海量数据存储的场景,且可以随时增加机器实现动态扩容。数据打包之后进行分布式存储,减少了数据的数量,避免数据过于碎片化增加网络负载。

3.2 隐私保护(联盟链)

考虑到联盟链的高安全性需求,通过以下方:

  • 节点准入机制
    节点加入或退出共识网络,都需要经过区块链上的管理合约进行授权,没有经过授权的节点无法加入共识网络。

  • 数据传输保护
    节点与节点之间TLS加密,节点与应用之间的TLS加密方式实现传输过程中的隐私保护。

  • 数据访问保护
    通过权限管理智能合约来界定数据的访问权限,只有被赋予相应权限才可以访问相关数据。

  • 可分享型隐私保护
    数据加密上链存储,结合代理重加密及秘钥分片技术实现隐私数据的动态授权。秘钥可以通过shamir门限秘钥分享算法( (k,n)门限密钥共享算法,算法把密钥拆分成n个密钥分片,只有收集大于等于k个分片才能将原始的密钥重构,k就是门限值(k < n) ),分成多片存放于多个安全节点上,同时还支持超时配置。

3.3 区块链交互易用性

chain33引入命令行工具、区块链浏览器、多语言SDK等来提升系统的易用性

  • 区块链浏览器
  • JAVA-SDK
  • GOLANG-SDK
  • PYTHON-SDK
  • PHP-SDK

4.chain33技术特点总结

  • 国产开源
  • 国密算法
    在区块链多语言版本的SDK中,既支持国际标准,也支持国密标准。支持SM2,SM3,SM4。
  • 支持国产芯片
    支持部署运行在国产芯片服务器上。
  • 模块化设计
    项目吸纳了Linux 内核设计的模块化思想,开发了多个功能模块,集合组成了模块插件仓。
  • 共识机制可插拔
    Chain33兼容多种共识机制,包括 RAFT、PBFT、POS、DPOS 等主流共识,也包括 SPOS、POS33 等自主研发共识机制,插拔不同的共识算法,可快速搭建私链、联盟链、公链、平行链。
  • 平行链架构
    平行链技术已经成为分片的主流的解决方案之一。在 Chain33中,主链不仅仅提供管理所有的平行链的功能,还提供了平行链消息存储的功能,通过主链数据的分片,以及高性能的共识算法,兼顾了链本身的安全性以及系统的可扩展性。
  • 高效存储
    支持业务层快速调用区块链系统数据,如存证系统:底层建设的区块链数据,可以以ES数据库进行方便检索、个性化检索等。
  • 跨链交易
    在采用侧链中继技术和比特币交换资产设计上,基于哈希锁定,使得参与双方都受到合理保护,资产转移更有保障。在与以太坊或其他区块链资产互操作上,采用合约桥加公证人机制,保障各方资产转移在可信基础上安全流转。
  • 隐私保护
    采用代理重加密加秘钥分片的方案,实现数据可分享型存储,保障数据隐私。
  • 简单易用
    系统安装简便, 同时提供BAAS服务可以实现可视化安装,以及提供智能合约IDE工具,帮助开发者节约成本。

参考

【1】. chain 33产品文档

区块链BaaS云服务(15)复杂美chain33相关推荐

  1. 区块链BaaS云服务(24)秘猿科技CITA

    定义 CITA-Monitor 监控系统, 用以监控 CITA 区块链服务运行状态.CITA-Monitor 监控的指标包括:区块链数据.服务进程状态.运行环境的 CPU /存储器/磁盘使用率等主机信 ...

  2. 区块链BaaS云服务(23)网易NBaaS平台

    1. 功能 1.1. 去中心化数字身份 未来通行证 未来通行证(DID)提供分布式去中心化数字身份标识及可信数据交换流转,是未来全球通用的全新通行证,基于服务公众.价值交换的理念,构建可信基础设施,致 ...

  3. 区块链BaaS云服务(25)边界智能 IRITA平台

    1. 定义 以区块链跨链.隐私计算及大数据分析技术创新为核心. 支持中国国密标准,并有完善的 SDK 及运维工具支持,在性能.安全可靠性.认证及权限.可维护性.可扩展性和运维监控等多方面都满足企业级应 ...

  4. 区块链BaaS云服务(16)天德链TDBC“系统介绍”

    1. 系统架构 2. 平台特点 证书管理 包含了完善的.不可伪造的证书管理系统.每个用户有且只有一个有效证书(接入凭证),充分保证了用户信息安全. 隐私保护 对交易信息进行加密传输.加密存储.只有拥有 ...

  5. 区块链BaaS云服务(14)华大BGI区块链“Baas接口“

    BaaS 接口 为了更好的支持上层业务对区块链模块的集成应用, 包括: 1. 节点权限认证控制 基于联盟链的应用场景,各个节点的链上权限及 角色配置都可以通过运维软件的 WEB 界面进行配置.每个节点 ...

  6. 区块链BaaS云服务(14)华大BGI区块链“碎片分布式存储“

    1. 传统云存储模式 用户把完整的数据信息存放到云端数据中心,这种中心化的云存储模式相对高效和低成本而广为流行,但在安全性和隐私泄漏等方面 存在风险. 2. 碎片分布式存储 基本思想是将用户的某一完整 ...

  7. 区块链BaaS云服务(12)易居(中国) 房地产 EBaaS(Estate Blockchain as a Service)

    易居(中国)控股有限公司("易居")(NYSE:EJ)是一家领先的中国房地产一体化综合服务商 1. EBaaS平台独具特色 提供了基于NodeJS和Electron技术开发的跨平台 ...

  8. 区块链BaaS云服务概念简述

    . 区块链服务BaaS的定义 BaaS 是一种帮助用户创建.管理和维护企业级区块链网络及应用的服务平台.它具有降低开发及使用成本,兼顾快速部署.方便易用.高安全可靠等特性,是为区块链应用开发者提供区块 ...

  9. 区块链BaaS云服务(26)永旗超级账本VBH

    1. 特性 基于ECC加解密算法自主研发的区块链底层操作系统 支持国密及国际密码算法进行加解密 开发有基于VBH的行业链,包括存证链.溯源链.供应链金融.BaaS平台及CRM管理系统 2. 业务系统 ...

最新文章

  1. VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431
  2. yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss
  3. php 编译安装降解,对php编译安装的修正
  4. wiki维基百科上logo中字母的意思是什么?
  5. excel公式:逻辑与、逻辑或
  6. Serializable接口中serialVersionUID字段的作用
  7. J2EE技术(三)——JMS
  8. jsoup 简单应用
  9. ipv6的127位掩码如何表示_子网掩码为255.255.255.0代表的意思是什么?
  10. 最简单的 RabbitMQ 监控方法 - 每天5分钟玩转 OpenStack(158)
  11. softmax回归的简洁实现-09-p5
  12. python中文视频教程-中谷教育python中文视频教程(全38集)
  13. java 字符串string、int和arraylist互转
  14. linux中c表示字符设备文件符号
  15. 物理内存是如何组织管理的
  16. linux网络三次握手,linux网络编程系列(四)--tcp包头、三次握手、四次挥手、状态...
  17. 华为交换机查看发光收光
  18. stm8s103k3 周期 捕获_基于stm8s103k3单片机串口UART的正确使用分享
  19. Flask Swagger 文档自动生成
  20. PHP FastCGI RCE Vul

热门文章

  1. 【Python】青少年蓝桥杯_每日一题_1.19_Python 求和
  2. 中国首个海底数据中心样机测试数据揭晓,达世界先进能效水平
  3. 配电基础知识汇总,99%的人都收藏了!
  4. 成功解决RuntimeError: filter weights array has incorrect shape.
  5. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图
  6. Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份、差异备份、日志备份)、还原、删除、修改数据库等案例)之详细攻略
  7. Py之fvcore:fvcore库的简介、安装、使用方法之详细攻略
  8. 成功解决object at 0x000002463192BAC8
  9. [入门]C#语法里面,如何使用 VB的常用函数?(using Microsoft.VisualBasic)
  10. composer Failed to decode zlib stream