Chain33区块链架构解析:高效可拔插的模块化平行链技术

>>>>

Chain33区块链架构解析:高效可拔插的模块化平行链技术

什么是Chain33?

Chain33 是一个开发门槛较低的高效区块链架构,它具有可拔插、易升级以及分层的特点。这个架构可以用于开发公链、联盟链以及私链等。并且,它首创了平行链架构和模块化体系。该架构由杭州复杂美科技有限公司(下称复杂美)经过 5 年的时间研发完成。

复杂美于 2008 年成立,具备撮合交易系统低延时且高并发的核心技术。2013 年开始进行区块链以及智能合约的研发与创新工作。2014 年申请了首个区块链发明专利,即钱包找回功能。此发明专利在 2017 年 12 月获得授权。到目前为止,已累计申请了 200 多项区块链技术的发明专利,其中有 7 项已获得授权,在全球范围内排名第 8。

2018 年 11 月 19 日,经过 5 年的潜心钻研和开发,复杂美的核心技术 Chain 33 正式实现开源。

1、基本信息

开源日期:2018年11月19日,于GitHub

Github上的Chain33开源地址:

Chain33开发者平台官网:

推特:FuzameiLtd(@FuzameiLtd)

开发团队-复杂美企业官网:

支持的共识机制:支持可插拔的共识

公链有 POS 这种类型,例如比特元 BTY;还有 DPOS+BFT 这种类型,比如原链 YCC。

联盟链:Tendermint,PBFT

私链:RAFT

平台支持语言:Go语言

智能合约开发语言:

Go,Solidity, C++,Javascript

2、Chain33简介

2.1 Chain33解决的行业痛点

区块链的底层系统被视作区块链技术的根基。公链、联盟链以及私链等众多链上应用,还有各类区块链解决方案,都得依靠一套稳定且可靠的底层系统。

但它作为一种新颖的分布式数据储存系统,大部分开发者在使用一套新的底层系统时,都遭遇到了学习门槛高的问题,开发工作量大,还耗费大量时间等。面对这样的情形,我们展开了大量的市场调研以及对开发者的随访,对同类项目的优缺点进行了分析和总结,历经 5 年时间,打造出了 chain33 区块链开发者平台。

区块链底层系统具备搭建公链的能力,也能搭建联盟链和私链。在这些链当中,公链格外引人注目,并且其市场应用前景更为广阔。

目前市面上存在部分公链开发团队。公链开发的门槛非常高,相关人才十分稀少,开发成本高,难度大,周期长。那些真正需要使用区块链技术的企业,以及希望借此进行转型的企业,很难独自完成开发工作。这也就对区块链技术在商业端的结合与探索起到了限制作用。

市面上难道没有一套底层系统吗?这套系统入门门槛低,易于开发,并且还高效。

Chain33 开发者平台因此而诞生,其目的是让开发者能够轻松地对区块链进行操作和运用。

Chain33 采用模块化设计,它能提供超过十种的模组化功能。开发者可以自由组合这些应用,开发过程简单容易,只要具备基础的编程能力,就能够打造出一条公链,而且无需花费大量成本去自己开发区块链底层。

Chain33 的兼容性极高,大型应用可以在其上无碍开发,小型应用也可以在其上无碍开发。

Chain33 能够修改内核,其共识是可插拔的,能够满足你的每一个需求。与其他公链大多只能开发 DApp 不同,Chain33 允许开放修改内核,并对内核进行二次开发,该内核极小,还可以通过可插拔模式进行替换。

Chain33 首创了平行链架构,这种架构既兼顾了主链的安全,又兼顾了运行效率。同时,通过平行链可以打造出多样的生态,其市场应用前景非常巨大。

2.3Chain33的技术架构

Chain33 的技术构架能够满足目前市场上的两种主要区块链需求场景,一种是“公链构架”,另一种是“联盟链、私链构架”。

>>>>

chain33架构介绍

其五为应用层。

应用层具备兼容以太坊智能合约的功能,能够支持发行代币,还可以进行资产交易,同时也能实现钱包找回,具备 hash 锁定等原生能力,并且还支持用户可扩展执行器(合约)。

共识层的特点在于共识算法具有可插拔性,它既支持 POS 及 DPOS 的公链共识,也支持 Tendermint 及 pbft 的联盟链共识,还支持 Raft 的私链共识以及平行链共识等。

目前所支持的存储方式有多种,包括 MPT、MAVL、KVDB、MVCCKVDB。

>>>

chain33平行链架构介绍

平行链是其公链架构中的一大特色。

为解决区块链扩容和 TPS 限制的问题,目前在市场上的主要方案有“分片技术”“侧链”以及“DAG”。其中,分片技术是主流形式。然而,以上这三种解决方案都存在着一定的问题,到目前为止还没有最完美的方案。平行链概念的提出,为我们提供了一种更好的选择方向。Chain33 在行业内率先提出了平行链构架概念,并且成功解决了扩容和 TPS 低落这两大问题,它是一个区块链系统。

平行链此后得到了百度、阿里等机构的认可并被跟进研究,这证明了平行链的方向具有前瞻性。然而,提升区块链网络性能只是平行链架构的基本属性之一,平行链的核心竞争力在于能够大大降低部署公链的门槛,所以平行链也可以被理解为“平行公链”和“小公链”。

平行链架构概述与示意:

平行链是由多条底层为 Chain33 的链构成的。交易先被发送到主链上,接着会被共识打包,随后同步到平行链上并被执行,最后执行结果会写回主链进行共识。这样就实现了分离共识和交易执行,同时也能够提升 TPS。

平行链面向所有群体,属于公链类别。它不只是一个 dapp 应用,还是在主链之上搭建的区块链,具备自己的区块链生态。平行链运用主链的共识,拥有独立的钱包和区块链浏览器。结合开放平台的 API 和 SDK,便能开发出所需的应用链。这种特性非常适合需要构建自身商业生态的中小企业。

chain33平行链拓扑示意图

chain33平行链示意图

平行链云服务组成

2.4Chain33开发者平台的系统特点

2.5Chain33的技术创新及核心竞争力

A高度模块化、遵循 KISS原则的设计:可插拔,易升级

Chain33 采用模块化设计。它先对区块链的底层架构进行分析,接着对应用开发的不同功能和需求进行分析。基于这些分析,划分并设计出了一系列功能模块。通过对这些模块进行选择和组合,能够构成不同的产品,从而满足市场的不同需求。

开发软件是一个持续迭代进化的过程。Chain33 采用“从混沌走向秩序的开发模式”,这样能方便开发者随时进行调整和扩充。并且,有些开发者在开发过程中会发现,一些比较特殊的业务逻辑,需要专门定制某些模块来配合该业务逻辑。

从迭代和重构的角度考虑,Chain33将区块链的底层架构纳入考量。从可拓展性等角度考虑,Chain33也将不同应用开发的功能和需求纳入考量。并且将系统进行了模块化设计,其中包括 mempool 的排队方式、加密签名的方式、共识的模式、RPC 的函数、命令行的命令、钱包的内在逻辑以及数据库存储的方式等。这样一来,区块链核心的所有模块都可以定制。

采用模块化的设计,就如同用积木来搭建一个机器人。手脚等身体各部分是按照类别进行放置的,并且可以根据自己的意愿去选择进行组装。Chain33 为大家提供了共识模块、加密模块和储存模块等多种类型的模块。开发者在 Chain33 所提供的架构之下,能够自由地对应用进行组合。开发过程较为简易,所以仅仅需要具备基础的编程能力,就可以打造出一条公链,而无需花费大量的成本去自己开发区块链的底层。

目前Chain33已开源的插件:

共识部分:

• pbft(联盟链,beta)

• tendermint(联盟链)

• raft(私有链)

• ticket(公链)

• solo (测试链)

加密部分:

sep256k1 涉及到比特币和以太坊。 sep256k1 与比特币相关。 sep256k1 与以太坊有关。

• ed25519 (tendermint,sc)

• sm2 (国密支持)

store:

mavl 是 tendermint 所提供的后端数据存储方式。

• mpt (以太坊提供的数据存储方式)

• kvmvcc(目前性能最高的区块链后端存储方法)

执行器部分:

• evm (以太坊虚拟机支持)

• wasm (目前没有开源)

• cert (联盟链权限管理)

hashlock 是用于和 btc、eth 进行跨链使用的一种锁定方式。它主要通过特定的哈希算法来实现跨链操作中的锁定功能,确保在不同区块链之间进行资产转移或交互时的安全性和准确性。

平行链被称为 paracross 。需要注意的是,平行链只是我们的一个插件,由此可以看出内核是非常小的。

隐私方面,门罗币的隐私保护实现值得好好学习,它展现了我们系统可扩展性的强大。门罗币属于 utxo 模型,但也能在我们的系统中兼容账户模型。

内置一个币币交易所,能够支持链上所有资产的交易。

• 游戏

B 首创的平行链架构

Chain33 花费 5 年时间设计出了平行链架构,这一平行链架构是国内首次提出并实现的。在同年九月,百度发布的《区块链白皮书 V1.0》里,提出了平行链这一概念,之后平行链概念陆续被同业者所引用。

Chain33 在公链基础上采用平行链架构。它是在对 POW 和 POS 机制的利弊进行考虑之后,经过综合考量而设计出来的。很多人认为,只要搭建几个节点或者购买一些矿机进行挖矿,就能够保证公链的安全。然而,事实上,频繁发生的数字货币被盗事件表明,即使是当前大众认为最安全的 PoW 机制,只要一个大的矿池被攻击,就可以夺走其主控权。PoS 的问题在于,参与的人数必须要足够多,挖矿节点也得足够分散。要是没有足够多的人达成共识,就会对网络安全产生影响。平行链架构的设计,一方面能够保证主链的安全,另一方面还能提升主链的运行效率。

平行链有一个重要特点,那就是将数据存证与业务逻辑分开。这样做能提升运行效率。主链上仅仅放置指令和结果,而不放置虚拟机。较为复杂的业务逻辑则在平行链上得以实现。这种做法的好处在于,即便平行链的性能出现问题,或者智能合约遭到攻击,也不会对主链的稳定运行造成影响。

但这并不意味着平行链完全受主链所掌控。平行链是一条相对独立的区块链网络,它能够编写多种智能合约,比如可以发行各种 Token,能够开发 Dapp,拥有独立的钱包,还有独立的区块链浏览器等。平行链的交易由其自身的节点来进行验证和校对,并且不会对主链产生影响。

C 第一个区块链发明专利:钱包找回功能

2014 年,复杂美申请了一项发明专利,该发明是关于区块链的,具体为钱包找回功能。2017 年 12 月,这项发明专利获得了授权。

这项技术被应用于 Chain33 中。钱包找回功能能够解决因私钥丢失而致使数字资产遭受损失的问题。当用户的钱包遗失或者存储设备突然损坏,致使私钥丢失时,能够借助低权限的备用私钥(自己保存或者托管给信任的机构/人)来找回自己的数字货币。找回指令不会立刻转移数字资产,而是在预告一段时间后才会生效。正因如此,如果备用私钥被冒用,用户可以及时察觉,并且使用原私钥将数字资产转移到安全钱包,从而避免损失。

D隐私保护功能

区块链技术具有不可篡改和分布式的特性,这确实能够防止用户的隐私被中心化机构掌控,进而避免隐私被贩卖以及被黑客攻击等问题。然而,公开透明的账本却使得海量用户数据在链上得以曝光,隐私问题依然如同空中楼阁一般,并未得到根本性的解决。举例来说,原本是在淘宝上进行购物,现在实现了去中心化,不再通过淘宝进行交易,而是由甲乙双方直接进行邮寄。淘宝没有掌握这两者的交易数据,然而,他们的交易数据被记录在了区块链网络中,并且任何人都具备查看的能力。

Chain33 基于账户和 UTXO 混合模型实现了区块链隐私交易系统。它在使用 UTXO 系统的同时保留了账户体系,还加入了环签名和一次性地址,使得账户能够在隐私和公开之间自由流转,并且具备不可追踪性和不可连接性。

E 专利众多

复杂美拥有国产技术,其知识产权 100%为自有。目前,已累计申请了 200 多项与区块链技术相关的发明专利。其中有 7 项已获得授权,在全球范围内排名前 8。

2.5Chain33的开发语言

4. 社区活跃度方面。

A 语言成熟度的考虑

一个语言若要成为成熟的语言,一个重要标志就是开发过极为大型的系统。在云计算领域,docker 和 k8s 这两个核心系统是用 go 语言开发的。当下,大部分区块链系统也选择用 go 语言进行开发。可以说,若要从事区块链相关工作,go 语言是必须要学习的一种语言。

B开发人员的数量

语言的入门成本较低,然而要精通类库和最佳实践,就必须历经数年的学习时间。正因如此,非常小众的语言肯定不会被考虑在内。目前,go 语言在全世界种类繁多的语言中位列第十,得到了较多开发者的肯定。

C 语言的工程特性

Go 语言在设计阶段就将工程实践的问题纳入考量。对于一个问题,其解决方案通常只有一种写法,甚至仅把 if 写成特定形式都是不被允许的。Go 提供了 gofmt 工具,它能够自动对代码进行格式化处理,使得每个人所写出的代码风格都极为一致,从而在相互交流时不会遇到障碍。

D 面向大部分普通程序员

选择 go 语言的一个重要原因在于,中等水平的程序员能够写出相当不错的 go 代码。其主要原因是 go 语言较为简单,特性不多,而官方类库又极为丰富,大部分程序员都能较为容易地开始进行开发。

Chain33 的应用以及其生态情况;以 chain33 为基础的成功案例。

Chain33 开发平台能够用于公链的开发部署,能够用于联盟链的开发部署,能够用于私链的开发部署,还能够用于各类商业场景的 DAPP 应用开发。

公链案例方面:目前,在 chain33 上已经成功搭建起的公链案例有比特元区块链网络(BTY),还有企业级区块链 SaaS 平台 - 原链(YCC)。Dapp 开发者既可以基于以上这些公链进行开发,也能够自主部署公链或者平行链。

比特元BTY官网地址:

原链YCC官网地址:

联盟链、私链案例:小米与复杂美合作的联盟链等。

平行链案例有:上链购,它是一个区块链商城;chat33,是一个区块链聊天社交软件;火食,为区块链进口食材溯源系统;在艺术藏品行业,有金丝楠木链;在工业锅炉及节能产业,有节能链;星晴,是区块链医疗智能穿戴设备;还有区块链游戏中的游戏竞猜剪刀石头布等平行链。

Chain33 的性能可支持商业级应用,如供应链金融、仓单交易、票据撮合系统等,这证明了其在各类商业场景中的结合能力。它能应用于多种产业,像制造业、物流业、金融业等。不同产业可在不同的平行链上开发公链,且平行链之间互不影响。

2.7市场对比

2.7.1 整体结构对比

目前市场上有较为知名且成熟的石墨烯和 Fabric 。以它们为例,整体结构的对比情况如下:

2.7.2 技术特点及架构对比

以太坊是比较成熟的区块链平台,超级账本也是比较成熟的区块链平台,Chain33 与以太坊的对比情况如下,Chain33 与超级账本的对比情况如下。

A 以太坊智能合约部署过程

B 超级账本智能合约部署过程

C Chain33的智能合约部署过程

GO语言部署方式:

EVM的部署方式:

WASM的部署方式:

JSVM的部署方式:

系统间横向对比

名称

Chain33

以太坊

EOS

超级账本

特点

轻量级框架,其功能便于扩展,能够支持可插拔的共识配置,既适用于公链,也适用于联盟链和私链。

2、独创的平行链架构设计,使系统安全、稳定、高效。

1. 第一条实现智能合约的区块链。

2. 性能问题,只适用于小规模的项目。

DPOS 的共识机制以及超级节点的高性能配置,这使得它在共识方面的效率比较高,并且速度也比较快。

2. 超级节点的高配置导致服务器的成本很高。

1. 适用于联盟链,系统中的CA, 数据库,共识可插拔

框架比较重,对于不理解其内核的人来说,无法进行较大程度的定制。

共识机制

公链:POS(BTY), DPOS+BFT(YCC)

联盟链:tendermint, pbft

私链:raft

POW逐渐转向POS

DPOS共识

Kafka, raft

平台语言

Go

Go

C++

Go

智能合约

支持以下4种智能合约:

1.GO原生语言,适用于大规模复杂的合约逻辑

EVM 可以用 Solidity 来编写智能合约,并且它兼容以太坊上的合约。

3.WASM(C++编写智能合约),兼容EOS上的合约

JSVM 是用 Javascript 编写智能合约的。Javascript 的开发者数量众多。这降低了区块链的开发门槛。一个 JS 程序员就能够单独进行 Dapp 开发。这样可以快速且提高开发效率。

用 Solidity 编写合约时,如果没有日志,那么调试起来会比较困难,修复代码错误的难度也会较大。

C++语言编写

Docker中部署

任何语言可写,实现各种功能相对灵活

跨链支持

支持主链和平行链跨链

MTP跨链

支持侧链

不支持垮链验证,无法和超级账本以外的链相连

部署难度

简单

相对简单

相对简单

相对复杂

扩展性

好

差(设计缺陷)

好

好

签名算法

相比于后几者,还支持国密SM2,ed25519, 环签名

secp256k1

secp256k1

secp256r1

存储性能

存储合理且可扩展的分布式数据库,读写速度较快。该数据库支持 Leveldb、ssdb 和 pegasus。

单一leveldb存储

存储合理,可扩展分布式数据库,读写快

存储合理,可扩展分布式数据库,读写快

企业级应用

1.共识可插拔,可以支持联盟链的共识

支持 CA 认证,并且平行链的架构既考虑到了共享,又兼顾到了隐私,这种架构适用于企业级的应用。

更适合做公链,企业级应用只适用于小规模项目

适合于公链应用,目前大量的应用都是博彩类。

企业级应用对数据隐私和监管有较高要求,而大量数据与博彩类数据杂糅,这不利于监管,所以不适合用于企业级应用。若要单独搭建一套 EOS 平台,其服务器成本过高,因此也不适合用于企业级应用。

联盟链,适用于企业级应用

安全漏洞

正在与安全公司进行合作,对 chain33 的安全性展开测评。到目前为止,尚未发现安全方面的漏洞。

Solidity语言设计漏洞

(the DAO)

大量的安全问题,已经发生多起博彩类应用被黑客攻击

暂无

开发成本

开发速度较为迅速,官方提供了诸多可插拔的插件,从而减少了重复开发的情况。开发语言涵盖了 GO、Solidity 和 C++。

开发相对容易,但性能受限。

支持C++语言开发合约,开发效率高于fabric和以太坊

通用性接口数量较多,难以快速熟悉。开发这些接口的成本较高。团队人员分布较为分散,在解决问题时速度较慢。

开源协议

BSD 3

LGPL3.0

BSD 3

Apache 2.0

落地项目

案例较多,多家500强的实际案例

比较少,以公链为主

案例较多,大多是博彩类应用

案例较多

团队情况

有国内的团队,这个团队是稳定的。团队中的所有代码都是由团队人员自行开发的。他们能够对区块链进行深度定制,并且在解决问题方面速度较快。

开发团队分布在全球的各个地方,深度定制这件事很难做到,遇到问题时也不容易被解决。

开发团队分布在全球的各个地方,深度定制方面存在困难,遇到问题时解决起来也不容易。

开发团队分散在全球各地,很难进行深度定制,遇到问题不容易解决。

3、技术开发团队介绍

在全球排名前 8。

公司的总部处在杭州,同时在上海和南京设立了分部。当下,公司大概有 200 人,其中大部分是技术人员。公司吸引了来自甲骨文、阿里等公司的一批高管以及程序员前来加盟。

4、总结

Chain33 开发者平台致力于为开发者展现一个易于上手的区块链底层系统,它高性能、稳定且安全,拥有近 200 项区块链专利,在全球排名位居前八。历经 5 年潜心钻研与开发,率先创建了平行链架构以及模块化体系,主链负责存证,平行链处理业务逻辑,从而极大地提高了区块链网络的性能、安全性和稳定性。

使用 chain33 开发者平台,能够用来开发并部署公链、联盟链以及私链,还能用于各类商业场景的区块链解决方案和商业应用,像供应链金融、资产上链以及各类 DAPP 等。

现 Chain33 已实现全面开源,向全球的开发者敞开大门。任何开发者都能够前往 Github()去查看 Chain33 的代码,并且可以加入 Chain33 的开发者社区。

Chain33开发者平台链接

官网:

产品文档:

资源包下载:

Github开源社区:

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读