核心核心功能¶
自适应共识算法
平台支持RBFT、NoxBFT、RAFT等多种共识算法,用户可以根据区块链中不同的网络环境和业务场景采用最优的共识算法。
RBFT :一种高鲁棒性拜占庭共识算法。可以在节点数据强一致性的情况下支持万级TPS和毫秒级延迟。并且通过内部Recovery机制支持节点动态管理和失效数据恢复,很好的满足区块链商业应用中高性能、高鲁棒性、高可用的需求。
NoxBFT :一种支持大规模组网的新型共识算法。可支持上千节点规模共识组网。通过聚合签名、活性机制等方法将网络复杂度由O(n2)降低至O(n),有效解决大规模节点组网场景下共识效率低下、可扩展性不强的问题。
RAFT :一种高可信分布式共识算法,相比RBFT可以容忍更多的错误节点,整体性能优于RBFT,但在其共识网络环境下不能容忍拜占庭错误(节点作恶,发送错误消息等),适用于高可信的联盟链网络环境或者企业内部私有化部署。
P2P网络
平台平台支持gRPC网络协议,通过自适应路由进行网络节点自发现,支持跨域转发机制,降低网络连接数。
加密机制
平台采用可插拔多级加密机制,从不同层级保证平台安全。消息摘要(SHA3/SHA-256/SM3)保证数字安全,数字签名(ECDSA/ED25519/SM2)保证身份安全,密钥协商(ECDH/SM2)、密文传输(AES/SM4)与TLS保证通信安全,并实现基于GPU/FPGA加速的验签算法,以及基于ED25519的批量验签,满足大规模并发计算的需求。同时集成硬件密码卡,提供密钥存储和随机数生成等功能。
存储模型
平台自研区块数据专用存储引擎FileLog,支状态数据存储引擎LevelDB、并设计状态数据多级缓存机制Multicache,现已支持日均TB级数据量链上存储。
执行引擎
平台支持Java、Go等多种主流合约语言,并配以HVM、EVM、BVM等多种合约执行引擎,提供完善的合约全生命周期管理,具有编程友好、合约安全、执行高效的特性。其中自主研发的HVM支持Java语言合约编写、分层调用模式、合约访问控制和丰富的工具方法集等特性。
拓展架构
大规模组网 :大规模组网模型支持多类型节点的分层部署,以共识节点层为中心,凭借非共识节点层实现区块链数据网络扩展,依靠轻节点层实现区块链验证网络扩展,最后通过轻客户端层将数以万计的物联网终端设备接入区块链,实现数十万不同类型网络节点的大规模部署。
读写分离 :平台提供非验证节点NVP,不参与共识,仅同步账本数据,通过提供交易转发、查询等服务,实现读写分离,减轻VP节点及共识网络压力,保证区块链系统的高效运行。
轻节点 :平台提供轻节点LP,用于分担网络的压力,作为未来的主力节点,只存储网络的少量数据,通过证明来实现功能。
分区扁平化 :分区完全扁平化,四个节点及以上可以组成一个分区,网络中不一定需要global分区的存在,分区内的节点建立物理和逻辑连接。分区间业务隔离,实现了交易数据对其他分区不可见,同时,由于交易并行执行,分区性能也不会随分区数量增加而显著下降。
交易并行 :平台充分利用多核CPU的特点,支持多个合约调用协程在单个HVM实例中并行执行,实现HVM合约并行调用。
数字服务
数字藏品 :平台原生支持数字资产账户,满足数字藏品场景的需求功能,提供内置与数字藏品相关的功能接口。
隐私保护
可验证计算 :平台支持基于零知识证明或者TEE的可验证计算节点进行计算证明上链。
账本加密 :账本加密通过TEE可信执行环境将用户的账户信息和业务数据进行按需加密,在保证安全性的同时做到可查验可审计。
治理审计
身份认证/准入机制 :平台采取集中式认证体系、分布式认证体系两种方式实现准入控制。集中式认证体系包括自建CA和CFCA两种证书体系,其中CFCA满足对于证书系统安全性与权威性有较高要求的银行或金融机构的需求。分布式认证体系将证书管理权限由中心机构转移到联盟链各参与方,具有去中心、自动化、高效等优点。
用户账户体系 :不同的应用场景对账户的使用需求和管理需求各不相同,针对不同的账户体系需求,趣链区块链平台提供两类账户标识(普通账户标识、DID账户标识)以及三类用户账户(普通账户、证书账户、DID账户)。
多级权限管理 :将链上账户角色划分为链级管理员、节点管理员、合约管理员以及普通用户,通过链级联盟自治管理CAF、节点级访问控制等方式,实现多层级管理和限制,为系统及账本数据管理提供全方位安全性保障。
接口权限管理 :接口权限管理用于对节点查询接口的权限进行管理,是节点级的接口权限管理。
CA模式管理 :CA模式管理用于对系统的CA体系进行管理,支持CA模式切换,即从中心化转向分布式的单向切换。
联盟自治CAF :采取在联盟链网络中创建联盟链自治成员组织,通过提案和投票的形式在组织内部表决联盟中的状态行为(节点管理、成员管理、合约管理)的方式,提供区块链原生的联盟规则协商管理机制。
系统安全审计 :提供实时全面的区块链系统一站式安全审计服务,允许审计方对账本数据访问/变更/同步、共识历史、系统异常等全量系统事件开展精确有效的审计工作,符合金融级审计要求。
合约命名 :CNS通过简单合约地址命名与合约地址&abi等合约信息进行映射。当用户调用合约接口时,传入合约映射的name、接口名称等信息。用户仅需简单使用命名后的合约名称即可调用合约。
证书链上吊销 :平台设计了证书链上吊销功能,证书吊销操作以交易的形式在链上被执行,将证书生效后的管理能力与区块链交易结合,实现链上证书管理。
数据管理
数据归档 :支持将区块数据归档到线下转存,同时提供Archive Reader用于归档数据浏览。
数据索引 :提供高效安全的业务数据自定义条件检索功能,支持精准、匹配(模糊)、多条件查询等多种检索模式,极大简化了上层业务系统开发和维护复杂度。
文件保险箱 :支持GB级的文件可信存储、安全共享与高效查询,同时支持用户按需存取文件,并提供多级文件存取权限管理能力。
预言机 :通过提供Oracle预言机服务,完成区块链与链外信息互通。
链上SQL :支持使用符合MySQL语法规则的SQL语句进行链上数据的增删改查。
分区共识 :将业务场景中互不相关的敏感交易通过分区进行数据存储和执行空间的隔离,数据存储和执行过程在不同分区之间不可见,通过分区隔离实现隐私保护。
数据同步 :平台支持包括数据访问、数据变更以及校验失败后的数据同步。
数据完整性校验 :提供在服务器宕机重启情况下的数据恢复和一致性保障,保证异常情况恢复的数据完整性。
运维管理
网络流控 :平台提供交易拦截、消息分发、带宽限流等多维度网络流量控制服务,在请求激增场景下保证系统的稳定运行,提高系统可用性。
数据监控 :平台提供一站式数据可视化监控服务,满足业务数据大屏展示需求,同时帮助运维人员轻松了解底层平台运行情况,快速定位问题。
灾备切换 :平台提供灾备节点CVP,在必要时可快速升级为共识节点VP,有效降低运维门槛,保障系统高可用。
内嵌版Baas :平台提供简易版BaaS,支持查看区块/交易信息、可视化管理节点/合约实例等内容。
完备生态组件
Hyperbench测试框架 :平台自研通用区块链测试框架Hyperbench,支持针对趣链区块链平台、Fabric等主流联盟链平台的性能测试。
Archive-reader浏览器 :平台提供了Archive-reader浏览器用于查阅归档数据。该浏览器无需与区块链部署在同一服务器上,用户可在独立的服务器上运行Archive-reader浏览器,并导入相关归档数据即可开始查阅。
消息订阅 :支持rabbit MQ和KafKa双模式,以便外部系统捕获、监听区块链平台的状态变化,实现链上链下的消息互通。
外部接口
多语言SDK :平台提供LiteSDK/JavaSDK、GoSDK、JSSDK、CSSDK以及LuaSDk等多语言SDK工具集,支持不同语言的开发工程师更方便快速地开发区块链应用。
JSON-RPC :一个无状态且轻量级的远程过程调用(RPC)协议。它允许运行在基于socket、http等诸多不同消息传输环境的同一进程中,其使用JSON作为数据格式。
gRPC :gPRC消息推送主要替代依赖于第三方mq进行消息推送的问题,消息推送主要包含grpc层、mq模块层及sdk端的调用,调用方式主要支持普通调用模式、服务端单向流调用模式、客户端单向流调用模式及双向流调用模式。