一、架构

整体架构

项目使用模块插件化的区块链底层开发框架,宙际链保留了核心功能,将扩展功能以插件方式加进来。基于插件的设计有很多好处,可以将扩展功能从系统框架中剥离出来,降低框架的复杂度,让框架更加容易实现。

同时项目开发了多个功能模块,集合组成了模块插件仓库。模块插件化的设计架构是为了能更便捷的搭建区块链。单一的模块并不能体现出其优势,如果有不同的模块,就可以搭建出不同属性的链。为企业/个人的搭链提供个性化选择。这样的方式可以让企业/个人将更多的精力投入到业务中,而非区块链底层技术的研发中。

插件库中已经支持多种类型的插件(包含应用层,共识层,加密算法,排队机制等),可以自由组合,适用各种场景。

如果没有特殊的业务场景需要,可以在宙际链基础上选择合适的插件,快速建立所需要的联盟链,私有链或平行链等;如果有特殊的业务场景需要,需要对共识算法、合约、存储等进行定制化开发,也可以通过插件的形式快速开发、集成,构建所需要的链。

 

主链+平行链架构

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

主链+平行链拓扑图:

 

 

二、模块介绍

 

宙际链采用模块插件化的设计,模块可插拔,适应多种场景,助力企业快速链改,核心模块包括:

应用层:EVM虚拟机, WASM虚拟机,GO语言原生合约以及JVM虚拟机(研发完成,测试中)

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

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

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

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

 

 

 

三、性能提升

 

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

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

并行执行:宙际链采用平行链的架构,主链上,只做共识和存储,而实际的操作都在平行链上执行,互不干扰。每条平行链只运行自己的数据,平行链与平行链之间数据相互隔离,并且由于复杂的合约主要运行在平行链上,主链上只运行一些基础核心的合约,所以主链的稳定性会比较强,进而保证整个区块链网络的稳定。平行链各自执行自己的操作,多条平行链共存,实现了操作的并行执行。

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

 

 

四、隐私保护(联盟链)

 

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

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

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

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

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

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

 

 

五、区块链交互易用性

 

 

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

区块链浏览器

JAVA-SDK

GOLANG-SDK

PYTHON-SDK

PHP-SDK

 

 

六、宙际链技术特点总结

 

 

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

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

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

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

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

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

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

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

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