平台介绍

产品简介

趣链区块链平台是趣链科技自主研发的企业级联盟区块链平台,是实现多方可信协作、价值互联互通的分布式商业基础设施。 作为国内首个国产自主可控的联盟链,平台提供自适应共识算法、多语言智能合约引擎、全国密支持、多维隐私保护、软硬协同一体化等多项核心技术功能, 可支撑十万级节点分层组网,千个共识节点组网,日均TB级数据上链,GB级图片、音频文件的存储,吞吐量可达5万TPS, 支持预言机、数据索引、文件保险箱、数据归档等数据管理功能, 提供分区共识、TEE账本加密等安全隐私保护技术, 是全球单链峰值速度最快、支持节点最多、存储容量最大的联盟链基础设施,满足企业级应用在高安全、高性能、可扩展、易运维、规范监管等方面的需求, 是目前行业内落地应用最多、节点分布最广、承载业务规模最大的区块链平台。

趣链区块链平台是国内第一批通过工信部标准院与信通院区块链标准测试的区块链平台, 在2019年中国信通院区块链测评中,获得功能测试和性能测试双项第一,并在2017-2020年的中国信通院可信区块链测评中连续荣获第一, 符合中国人民银行《金融分布式账本技术安全规范》。

image0

整体架构

平台具有万级TPS吞吐量和毫秒级系统延迟,支持交易级别的隐私数据保护、混合型数据存储、可信执行环境、联盟自治、预言机以及可视化运维等特性。其技术架构图如下:

image1

  • 基础物理层 :包括物理机云平台等基础资源,并配以硬件加密机、密码卡等安全设配,物联网硬件设备,使平台可在云服务、软硬件结合、物联网等多种场景下安全稳定运行;
  • 核心协议层 :区块链的核心组成部分,主要包括共识算法、P2P网络、智能合约引擎以及存储引擎等组件,为整个区块链网络提供安全可信的支撑环境;
  • 扩展组件层 :构建于核心协议层之上,基于区块链网络从数据管理、治理审计、安全隐私、运维管理、智能合约五个方面为应用扩展提供安全、高效、友好、易用的功能特性,适应多样化应用场景,打造最佳用户体验;
  • 接口管理层 :面向区块链用户,支持多种协议的 RPC/API 接口以及SDK软件开发工具,提供应用与区块链交互的桥梁。

核心核心功能

  1. 自适应共识算法

平台支持RBFT、NoxBFT、RAFT等多种共识算法,用户可以根据区块链中不同的网络环境和业务场景采用最优的共识算法。

  • RBFT :一种高鲁棒性拜占庭共识算法。可以在节点数据强一致性的情况下支持万级TPS和毫秒级延迟。并且通过内部Recovery机制支持节点动态管理和失效数据恢复,很好的满足区块链商业应用中高性能、高鲁棒性、高可用的需求。
  • NoxBFT :一种支持大规模组网的新型共识算法。可支持上千节点规模共识组网。通过聚合签名、活性机制等方法将网络复杂度由O(n2)降低至O(n),有效解决大规模节点组网场景下共识效率低下、可扩展性不强的问题。
  • RAFT :一种高可信分布式共识算法,相比RBFT可以容忍更多的错误节点,整体性能优于RBFT,但在其共识网络环境下不能容忍拜占庭错误(节点作恶,发送错误消息等),适用于高可信的联盟链网络环境或者企业内部私有化部署。
  1. P2P网络

平台平台支持gRPC网络协议,通过自适应路由进行网络节点自发现,支持跨域转发机制,降低网络连接数。

  1. 加密机制

平台采用可插拔多级加密机制,从不同层级保证平台安全。消息摘要(SHA3/SHA-256/SM3)保证数字安全,数字签名(ECDSA/ED25519/SM2)保证身份安全,密钥协商(ECDH/SM2)、密文传输(AES/SM4)与TLS保证通信安全,并实现基于GPU/FPGA加速的验签算法,以及基于ED25519的批量验签,满足大规模并发计算的需求。同时集成硬件密码卡,提供密钥存储和随机数生成等功能。

  1. 存储模型

平台自研区块数据专用存储引擎FileLog,支状态数据存储引擎LevelDB、并设计状态数据多级缓存机制Multicache,现已支持日均TB级数据量链上存储。

  1. 执行引擎

平台支持Java、Go等多种主流合约语言,并配以HVM、EVM、BVM等多种合约执行引擎,提供完善的合约全生命周期管理,具有编程友好、合约安全、执行高效的特性。其中自主研发的HVM支持Java语言合约编写、分层调用模式、合约访问控制和丰富的工具方法集等特性。

  1. 拓展架构
  • 大规模组网 :大规模组网模型支持多类型节点的分层部署,以共识节点层为中心,凭借非共识节点层实现区块链数据网络扩展,依靠轻节点层实现区块链验证网络扩展,最后通过轻客户端层将数以万计的物联网终端设备接入区块链,实现数十万不同类型网络节点的大规模部署。
  • 读写分离 :平台提供非验证节点NVP,不参与共识,仅同步账本数据,通过提供交易转发、查询等服务,实现读写分离,减轻VP节点及共识网络压力,保证区块链系统的高效运行。
  • 轻节点 :平台提供轻节点SPV,用于分担网络的压力,作为未来的主力节点,只存储网络的少量数据,通过证明来实现功能。
  • 分区扁平化 :分区完全扁平化,四个节点及以上可以组成一个分区,网络中不一定需要global分区的存在,分区内的节点建立物理和逻辑连接。分区间业务隔离,实现了交易数据对其他分区不可见,同时,由于交易并行执行,分区性能也不会随分区数量增加而显著下降。
  1. 数字资产
  • NFT :平台原生支持数字资产账户,满足NFT场景的需求功能,提供内置与NFT相关的功能接口。
  1. 隐私保护
  • 账本加密 :账本加密通过TEE可信执行环境将用户的账户信息和业务数据进行按需加密,在保证安全性的同时做到可查验可审计。
  • 零知识证明 :证明方能够在不向验证方提供任何有用的信息的情况下,使验证方相信某个陈述是正确的。
  1. 治理审计
  • 身份认证/准入机制 :平台采取集中式认证体系、分布式认证体系两种方式实现准入控制。集中式认证体系包括自建CA和CFCA两种证书体系,其中CFCA满足对于证书系统安全性与权威性有较高要求的银行或金融机构的需求。分布式认证体系将证书管理权限由中心机构转移到联盟链各参与方,具有去中心、自动化、高效等优点。
  • 用户账户体系 :不同的应用场景对账户的使用需求和管理需求各不相同,针对不同的账户体系需求,趣链区块链平台提供两类账户标识(普通账户标识、DID账户标识)以及三类用户账户(普通账户、证书账户、DID账户)。
  • 多级权限管理 :将链上账户角色划分为链级管理员、节点管理员、审计管理员、合约管理员以及普通用户,通过链级联盟自治管理CAF、节点级证书授权访问控制、用户级合约权限访问控制等方式,实现多层级管理和限制,为系统及账本数据管理提供全方位安全性保障。
  • 联盟自治CAF :采取在联盟链网络中创建联盟链自治成员组织,通过提案和投票的形式在组织内部表决联盟中的状态行为(节点管理、成员管理、合约管理)的方式,提供区块链原生的联盟规则协商管理机制。
  • 安全审计 :提供实时全面的区块链系统一站式安全审计服务,允许审计方对账本数据访问/变更/同步、共识历史、系统异常等全量系统事件开展精确有效的审计工作,符合金融级审计要求。
  • 合约命名 :CNS通过简单合约地址命名与合约地址&abi等合约信息进行映射。当用户调用合约接口时,传入合约映射的name、接口名称等信息。用户仅需简单使用命名后的合约名称即可调用合约。
  • 证书链上吊销 :平台设计了证书链上吊销功能,证书吊销操作以交易的形式在链上被执行,将证书生效后的管理能力与区块链交易结合,实现链上证书管理。
  1. 数据管理
  • 数据归档 :将旧的线上区块数据归档移到线下转存,同时提供Archive Reader用于归档数据浏览。
  • 数据索引 :提供高效安全的业务数据自定义条件检索功能,支持精准、匹配(模糊)、多条件查询等多种检索模式,极大简化了上层业务系统开发和维护复杂度。
  • 文件保险箱 :支持GB级的文件可信存储、安全共享与高效查询,同时支持用户按需存取文件,并提供多级文件存取权限管理能力。
  • 预言机 :通过提供Oracle预言机服务,完成区块链与链外信息互通。
  • 链上SQL :支持使用符合MySQL语法规则的SQL语句进行链上数据的增删改查。
  • 分区共识 :将业务场景中互不相关的敏感交易通过分区进行数据存储和执行空间的隔离,数据存储和执行过程在不同分区之间不可见,通过分区隔离实现隐私保护。
  1. 运维管理
  • 网络流控 :平台提供交易拦截、消息分发、带宽限流等多维度网络流量控制服务,在请求激增场景下保证系统的稳定运行,提高系统可用性。
  • 数据监控 :平台提供一站式数据可视化监控服务,满足业务数据大屏展示需求,同时帮助运维人员轻松了解底层平台运行情况,快速定位问题。
  • 灾备切换 :平台提供灾备节点CVP,在必要时可快速升级为共识节点VP,有效降低运维门槛,保障系统高可用。
  1. 完备生态组件
  • 多语言SDK :平台提供JavaSDK、GoSDK、JSSDK、CSSDK以及LuaSDk等多语言SDK工具集,支持不同语言的开发工程师更方便快速地开发区块链应用。
  • Hyperbench测试框架 :平台自研通用区块链测试框架Hyperbench,支持针对趣链区块链平台、Fabric等主流联盟链平台的性能测试。
  • Archive-reader浏览器 :平台提供了Archive-reader浏览器用于查阅归档数据。该浏览器无需与区块链部署在同一服务器上,用户可在独立的服务器上运行Archive-reader浏览器,并导入相关归档数据即可开始查阅。
  • 消息订阅 :支持rabbit MQ和KafKa双模式,以便外部系统捕获、监听区块链平台的状态变化,实现链上链下的消息互通。

国产自主可控

平台集成国产自主可控的服务器硬件,打造符合国家信创标准的区块链软硬件一体机设备,为开发者提供强隐私、高性能、高安全、即用即上链的区块链技术服务;针对政务、军事等对安全性有严格要求的场景,进一步集成区块链密码卡、网络共识加速器、可信执行环境等硬件设备与技术;针对硬件服务器的安全性要求,构建区块链领域专用安全自主可控设备包括:申泰 RM5000-F服务器、申泰 RM5020-L服务器、华为TaiShan 2280服务器等。

节点类型

平台节点分为验证节点(VP,Validate Peer)、非验证节点(NVP,Non-Validate Peer)、轻节点(SPV)、热备节点(CVP,Candidate VP)三类:

  • VP指区块链网络中参与共识验证的节点;
  • NVP指区块链网络中不参与共识验证,仅同步账本数据的节点;
  • SPV指区块链网络重分担网络压力的节点,只存储网络的少量数据,通过证明来实现功能;
  • CVP指区块链网络中提供灾备服务的节点,在必要时可升级为VP。

image2

交易流程

平台在进行数据操作时,通常以一笔交易的形式在区块链网络中进行流转,用户存储的数据和合约都存储在交易结构当中,其具体的运转流程如下图所示:

image5

  1. 交易发起 :在客户端发起一笔交易之前,需要拿到证书管理中心(CA)颁发的准入证书,并且所需智能合约已经部署在区块链节点上。联盟机构通过部署在机构内部的后台应用服务进行交易,然后通过调用SDK发交易的API接口生成一条交易,SDK会用客户端指定的用户私钥对交易进行签名,再对交易进行JSON-RPC协议封装。
  2. 交易共识 :当节点接收到客户端的交易时,首先会对交易进行验签操作,验签通过后,交易请求会汇集到统一的消息分发事件总线,事件总线收到消息后会转发给共识模块,执行共识流程,如RBFT算法共识即为三阶段流程共识。
  3. 交易执行 :交易共识完成后,证明多方已经确认该笔交易顺序及内容的正确性,在此之后会将打包的交易提交给虚拟机执行引擎,进行执行操作,交易执行会将交易体结构进行解析,解析的主要内容为交易的主体信息(交易数据)以及交易中的合约信息(合约数据),执行引擎会根据交易的内容和合约的业务逻辑进行相关业务操作。
  4. 交易存储 :交易执行之后,会对交易信息(区块数据)和合约信息(状态数据)进行持久化操作,同步写入区块和账本,最终持久化到FileLog和LevelDB中,至此完成整个交易流程。