HAI:金色观察|一文读懂区块链底层开发平台Chain33_qchichain

Chain33是由复杂美研发的区块链底层开发平台,平台于2018年在github上开源。平台支持共识、数据库、执行器等可插拔、易升级的区块链架构。

还支持主链负责交易清算,智能合约和虚拟机从主链上分离放到平行链上独立执行的分层架构,可多条平行链并存提升运算效率,平行链间通过主链实现链间互联。

chain33开发框架

项目使用模块插件化的区块链底层开发框架,基于插件的设计,可以将扩展功能从系统框架中剥离出来,降低框架的复杂度,让框架更加容易实现。

同时项目开发了多个功能模块,集合组成了模块插件仓库,划分为区块链,共识,执行器,P2P,Mempool,钱包,数据存储,RPC等。

模块插件化的设计架构是为了能更便捷的搭建区块链,单一的模块并不能体现出其优势,如果有不同的模块,就可以搭建出不同属性的链。为企业/个人的链提供个性化选择,让企业/个人将更多的精力投入到业务中,而非区块链底层技术的研发中。同时还支持多种SDK,提供可视化BAAS服务,大幅缩短建链、开发、部署的时间。

主链+平行链分层架构

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

金色热搜榜:SKM居于榜首:根据金色财经排行榜数据显示,过去24小时内,SKM搜索量高居榜首。具体前五名单如下:SKM、NKN、WICC、HC、BSV。[2020/8/19]

核心模块

Chain33核心模块包括:

应用层:EVM虚拟机, WASM虚拟机,GO语言原生合约以及JVM虚拟机

共识层:支持POS,DPOS以及POS33的公链共识、Tendermint及pbft联盟链共识、Raft私链共识、平行链共识等。

数据层:数据存储方式支持可扩展,目前支持MPT、MAVL、KVDB、MVCCKVDB多种方式,其中我们自研的MVCCKVDB能避免了状态树膨胀而导致性能下降的问题,支持LevelDB、ES等多种后端存储。

加密算法:兼容国际标准以及国密标准(SM2,SM3,SM4,SECP256K1,ED25519)

交易缓存池:交易排队机制可配置(时间,价格)

chain33技术特点

联盟链共识流程的优化:chain33联盟链引入了聚合签名的技术来降低共识过程中的消息通信延迟,通过leader去收集签名,于聚合后发送给其他节点,通过聚合签名能保证在区块链节点增加的情况下,交易数不会大量增加,提升共识的效率。

金色财经合约播报 | BTC下探后震荡回升:据火币BTC季度合约行情显示,截至16:00(GMT+8),BTC价格暂报6191美元(+0.96%),24小时季度合约成交量16.45亿美元(+47.29%)。

昨日至今,BTC季度合约下探到5800美元,后震荡回升,交易量大幅增加。根据火币合约数据看,BTC总持仓量小幅增加,大户多头持仓增加。季度合约贴水小幅增加。USDT于火币全球站OTC的报价为7.26美元,溢价率为2.40%。溢价率维持稳定。[2020/3/30]

交易并行执行:chain33采用平行链的架构,主链上,交易只做共识和存储,而实际的交易都在平行链上执行,互不干扰。

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

chain33的隐私保护

考虑到联盟链的高安全性需求,有以下要求:

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

金色相对论 | 朱江:央行的总体策略有条不紊可进可退,最重要的是让央行数字货币流通起来:在今日举行的金色相对论中,关于“基于数字货币的支付清算未来会是什么样的”的问题,金山云区块链部门总经理朱江表示,有一种说法,如果区块链技术覆盖数字货币的发行与流通全过程,那支付清算结构会被摒弃,转结支付机构也将被边缘化。这其实也存在两种情况,第一,在央行、商业银行双层投放体系下,区块链覆盖数字货币的发行以及流通的全过程,整个交易的转结是由区块链网络协议直接完成。如此,支付清算机构会被摈弃,转结支付机构也将被边缘化。第二,双重投放体系中,代理发行机构用自己的标识发行数字货币。支付清算机构可对现有的网络进行改造来支持数字货币的转结清算,通过向央行缴纳准备金获得数字货币的发行量,发行的数字货币成为代理投放机构的负债,各个代理发放机构需要对这些数字货币有标识,同时监控数字货币流通。这种情况下转结清算机构还是能够发挥作用,找到各自角色。我的观点是,总体来看,还是处于尝试性阶段,央行的总体策略有条不紊,可进可退,最重要的是让央行数字货币流通起来,然后再发展更多的业务场景。[2019/8/15]

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

金色晨讯 | IMF对区块链有兴趣 赵长鹏看好STO:1、密歇根州州务卿:加密货币不稳定,不能作为捐款;

2、IMF官员:IMF对区块链领域有明显兴趣;

3、壳牌等石油巨头推出能源商品交易区块链平台;

4、赵长鹏:非常看好STO,市场非常大;

5、PeckShield数据监测: USDT近两个月市场占有率已缩水18%;

6、毕马威宣布与运输联盟中的区块链合作;

7、奥地利政府支持区块链癌症筛查工具研究;

8、因加密货币欺诈CFTC对比特币交易者罚款100万美元;

9、法国巴黎银行和汇丰银行助力嘉吉和力拓集团完成区块链交易。[2018/11/13]

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

支持国密算法:支持国密加密、签名算法及国密哈希算法。

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

金色财经现场报道 魏建国:泡沫本身不是坏事:金色财经现场报道,在世界区块链大会·三点钟峰会中的“蛮子十问”环节中,薛蛮子提出聊聊区块链行业的泡沫。六合地产副董事长魏建国表示:很多人都在针对区块链行业一拥而上,这件事情本身就是在确实的推动社会发展,泡沫本身不是坏事。是不是合格的投资人十分重要,如果大妈只是用一部分钱投资,那么是合格投资人,如果是倾注全部资产,那么就不是合格的投资人。我们要把钱交给我们信任的人、给真正做事的人,他们会对于自己的事业有一种使命感,可以很坚定的与我们在一起。泡沫本身不可怕,我们的参与就在改变世界,重要的是,我们在一起。[2018/4/25]

国产开源:国产自研,拥有自主知识产权,代码开源,支持独立部署,用户可以完全掌握自己数据。

国密算法:在区块链多语言版本的SDK中,既支持国际标准,也支持国密标准。支持SM2,SM3,SM4。

支持国产芯片:支持部署运行在国产芯片服务器上。

模块化设计:项目吸纳了Linux 内核设计的模块化思想,开发了多个功能模块,集合组成了模块插件仓。

共识机制可插拔:Chain33兼容多种共识机制,包括 RAFT、PBFT、POS、DPOS 等主流共识,也包括 SPOS、POS33 等自主研发共识机制,插拔不同的共识算法,可快速搭建私链、联盟链、公链、平行链。

平行链架构:拥有自主知识产权,专利号:CN201610996011.9。目前平行链技术已经成为分片的主流的解决方案之一。在 Chain33中,主链不仅仅提供管理所有的平行链的功能,还提供了平行链消息存储的功能,通过主链数据的分片,以及高性能的共识算法,兼顾了链本身的安全性以及系统的可扩展性。

高效存储:支持业务层快速调用区块链系统数据,如存证系统:底层建设的区块链数据,可以以ES数据库进行方便检索、个性化检索等。

跨链交易:在采用侧链中继技术和比特币交换资产设计上,Chain33设计了哈希锁定步骤,使得参与双方都受到合理保护,资产转移更有保障。在与以太坊或其他区块链资产互操作上,采用合约桥加公证人机制,保障各方资产转移在可信基础上安全流转。

隐私保护:采用代理重加密加秘钥分片的方案,实现数据可分享型存储,保障数据隐私。

简单易用:系统安装简便, 同时提供BAAS服务可以实现可视化安装,以及提供智能合约IDE工具,帮助开发者节约成本。

SDK

chain33 SDK集成了chain33区块链和智能合约常用的操作接口,外部业务程序能够通过chain33 SDK来调用这些接口。开发者根据自身业务程序的要求,选择相应语言的SDK,用SDK提供的API进行编程,即可操作区块链和智能合约。

在chain33搭建私有链开发环境

私链采用raft共识,节点数配置一般为3,5,7等奇数个。区别于联盟链,私有链之前的区块同步采用主从同步的方式,更偏中心化一些,常用于对隐私保障和监管控制有更高要求的企业和集团内部场景。

在chain33搭建联盟链集群环境

联盟链,是指一些有业务协作或业务交易的成员集合,由这些成员共同参与管理的区块链,通过联盟自治和节点准入准出控制策略,保障联盟的安全健康发展。

联盟链采用采用QBFT共识,要求节点数满足N>3f,至少需要3f+1个节点(也就是最少需要4台服务器),与单节点docker部署方式更加适用于实际生产环境。

在chain33搭建平行链环境

平行链的运行是依赖于主链的,它通过grpc接口同主链进行通信,所以平行链一定是在主链环境已经具备的情况下才能搭建。

在chain33通过BaaS平台搭建环境

BaaSS平台部署联盟链或平行链有以下两种方式:

通过BaaS平台对接的云服务器来部署:

这种方式不需要用户准备服务器,只需支付相应的云资源费用就可在自动分配的云服务器上部署区块链程序。

用户自备服务器:

用户自备服务器可通过公网访问,只需要在BaaS平台上填写登录IP和登录密码,BaaS平台会自动连接到用户自备服务器上进行部署。用户自备服务器可访问公网资源但不能通过公网访问自备服务器,可以在BaaS平台上填写登录IP和登录密码,BaaS平台会生成安装包,用户可下载安装包在自备服务器上进行手动部署。

Chain33中的DApp开发

Chain33被设计为一个支持高度扩展的区块链开发平台,除了极少部分固有核心逻辑外,基本全部支持扩展定制;系统的扩展能力主要可以划分为两大类:

一类是对系统能力的扩充定制:

Chain33提供了底层的插件管理机制,基本上系统的所有能力都是作为一个插件存在,插件的实现本身可以被替换,开发者可以使用系统自身提供的系统插件,也可以自己开发新的功能插件,这些插件的能力覆盖到加解密、共识、存储、钱包、执行器、命令行等各方面内容。

一类是扩展应用的开发:

Chain33基于插件机制之上,针对DApp也单独提供了一套框架,以方便开发者进行DApp的开发,将开发者的关注重点聚焦到核心的合约逻辑(即执行器逻辑),并增加RPC接口和命令行接口的辅助。

Chain33提供的DApp Framework中包含了三个元素:执行器、命令行和RPC,其中执行器就是DApp的合约逻辑;命令行是提供命令行下的命令包装;RPC是包装DApp特有的对外服务接口,一般情况下Chain33框架提供的交易的创建、发送、查询等通用接口,如果有特殊需要,DApp也可以在这里开发自己专用的RPC接口。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-4:116ms