网录区块链平台介绍
1. 网录区块链平台介绍
区块链通过点对点的分布式记账方式、多节点共识机制、非对称加密和智能合约等多种技术手段建立强大的信任关系和价值传输网络,使其具备分布式、不可篡改、价值可传递和可编程等特性。
随着区块链技术的不断发展,区块链的应用场景正不断铺开,从金融、产品溯源、政务民生、电子存证到数字身份与链的协同,场景的深入化和多元化不断加深。
网录科技凭借自身在区块链领域的研发优势,设计开发了网录区块链服务平台,为不同业务场景的快速落地奠定了良好的基础。
1.1. 核心技术能力
作为区块链生态圈中的一员,网录科技在区块链行业取得了一系列的领先优势,核心技术能力主要有:
智能合约技术:提供自定义规则的智能合约技术,兼容以太坊生态,便捷进行业务扩展。
隐私保护技术:提供基于环签名等加密算法的隐私保护技术,保证交易签名的发送方和接收方的隐私安全。
跨链技术:提供基于安全多方计算(MPC)或其他多方签名技术(比如Schnorr签名)进行跨链技术的安全保护,支持和主流区块链平台的跨链对接,并提供通用的跨链服务平台进行集成对接。
共识机制:创造性的设计和部署了业内领先的POS共识机制,有效提高了公链平台的运行效率。
1.2. 区块链平台
在核心技术能力的基础上,考虑到落地场景的差异性,网录科技设计开发了通用的区块链平台,能够高效的支持区块链技术和应用场景的快速落地。
网录科技通用的区块链平台主要由三部分组成:
区块链基础平台:提供区块链基础平台能力。主要包括服务器资源层,区块链节点的基础层。
区块链服务平台:提供区块链服务平台能力。通过服务平台框架,提供业务应用所需的通用服务,进行组合,满足灵活定制和扩展的业务服务能力。主要包括服务平台框架,管理和服务组件,以及开发工具组件。
区块链解决方案:通过应用业务定制流程进行解决方案的落地,提供区块链解决方案中应用业务组件开发能力。在区块链基础平台和服务平台的基础上,通过区块链解决方案,为区块链技术在行业中的应用落地保驾护航。
网录科技通用的区块链平台内部组件可以用下图表示,后续章节会进行详细描述:
1.3. 区块链平台特性
网录科技的区块链平台特性可以表述如下:
1.4. 区块链平台解决方案
网录科技的区块链平台解决方案在多个行业进行了落地,比较典型的落地解决方案有:
- 公益和扶贫
- 供应链金融
- 房屋租赁贷款融资
- 存证溯源
- 数据安全协作
- 积分支付和跨链
- 媒体版权
本文将从网录区块链平台的角度阐述解决方案参考架构,各部分的组成,主要的技术特点,以及如何满足最终解决方案落地。
2. 区块链平台解决方案参考架构
基于区块链平台和应用业务组件,区块链平台解决方案参考架构可以描述为下图:
备注:
1.区块链节点通过P2P网络进行连接,区块链节点可能是不同企业或组织所部署和使用。从实用业务和需求来看,不同企业可能定制部署不同的区块链服务平台,业务服务平台,客户端组件等等。
2.区块链监控通过接受区块链节点上报数据进行监控。
3.区块链服务平台和业务服务平台可以和区块链节点连接,使用区块链网络的能力,一般通过开发库进行集成。
4.业务服务平台可以和区块链服务平台对接,从而间接使用区块链网络的能力。业务服务平台自身逻辑聚焦业务本身,实际使用中,根据需要,也可以使用内置区块链服务平台的方式提供区块链交互能力。
5.区块链管理平台和区块链浏览分析平台通过区块链服务平台进行区块链数据的整合与管理。实际使用中,根据需要,也可以使用内置区块链服务平台的方式提供区块链交互能力。
6.业务服务平台之间可以基于区块链网络的能力进行额外通讯,进行业务数据的交互融合。比如,联盟企业之间进行数据分享时,可以基于区块链进行数据授权访问和验证,实际数据通过业务服务平台使用统一接口进行安全的授权访问。
7.客户端组件通过集成业务和区块链能力提供区块链解决方案的用户入口。根据需要,客户端组件可以和业务服务平台,区块链服务平台,甚至是区块链节点进行对接,提供不同层次的集成方式。
3. 区块链基础平台
区块链基础平台是区块链技术应用的基础,它提供区块链基础平台能力。主要包括服务器资源层,区块链节点的基础层。
从组成上来看,可以进一步细分如下:
3.1. 资源层
提供区块链网络的硬件部署资源,主要包括选择合适的服务器资源,选择合适的网络资源,选择灵活的部署容器环境。
3.1.1. 服务器资源
服务器资源可以是在云端运行,也可以本地运行,通常Linux服务器配置(8核,16/32G内存,T级存储)就可以运行区块链节点。
3.1.2. 网络资源
主要服务器节点(查询服务和记帐节点)是需要配置有公网IP地址的,普通接入区块链网络节点可以不配置公网IP地址。
3.1.3. 容器环境
从部署的角度,可以在服务器上直接部署节点运行环境,也提供基于Docker镜像进行环境部署,方便迁移。
3.2. 基础层
提供区块链服务节点的基础核心能力,主要有P2P网络,分布式账本存储,共识算法,智能合约引擎,规则服务引擎等。
3.2.1. P2P网络
区块链基于P2P的进行网络节点的发现和通讯,可以管理区块链P2P网络的启动查询节点,配置直连节点。并在此基础上增强,支持安全管控,加入白名单黑名单机制,允许或拒绝某些节点接入进来。
3.2.2. 分布式账本
分布式账本支持全局统一的账本,保证数据的无法篡改,底层基于LowDB数据存储格式。
针对业务落地要求的数据隔离隐私保护,考虑增强支持私有交易数据,私有交易数据在私有空间存储,全局分布式账本只看到交易数据的指纹,从而最大限度保证安全和隐私。
3.2.3. 共识算法
支持PBFT基础上改进的IBFT共识算法,区块链的记账节点开始可以选择几家(建议不少于4家),后续可根据需要进行动态调整。这样,满足三分之二的多数达成一致就可维持区块链服务平台的运转。
IBFT共识算法可以秒级出块,TPS可以达到千级。
针对链上业务数据流量的实际情况,对共识机制进行增强,使得无上链交易数据时不出块,改进性能,减少数据存储空间。
3.2.4. 智能合约
智能合约提供了自定义业务数据规则的智能编码,采用以太坊兼容的格式,支持Solidity语言编写智能合约,部署到区块链上。
3.2.5. 规则引擎
为了方便进行业务数据上链管控,增强支持规则引擎,可通过配置规则控制业务数据上链的限制,进行权限检查和数据重复性检查等,改善上链数据本身的质量。
3.2.6. 其它扩展能力
在区块链基础层提供服务的基础上,考虑进行其他的扩展,方便进行系统维护和能力增强。
比如,在区块链节点上增加不同的探针位置,对底层某些数据进行上报,便于区块链监控不同指标。
4. 区块链服务平台
区块链服务平台,通过服务平台框架,提供业务应用所需的通用服务,进行组合,满足灵活定制和扩展的业务服务能力。主要包括服务平台框架,管理和服务组件,以及开发工具组件。
从组成上来看,可以进一步细分如下:
4.1. 服务平台框架
服务平台框架,提供业务应用所需的通用服务,进行组合,满足灵活定制和扩展的业务服务能力。
并且,根据不同行业的业务场景和解决方案,定制不同的通用服务和专用服务,从而形成满足不同需求的产品家族。
4.1.1. 开放接口
服务平台框架主要基于HTTP REST API对外提供服务接口,也可以提供基于WebSocket的通讯接口。当有新的服务增加进来,以统一的规范支持新的服务能力。
4.1.2. 服务框架
服务框架提供服务的启动和管理能力,不同的服务实例在服务框架进行注册,不同的服务之间进行调用时根据服务框架获取注册的依赖服务进行使用,从而形成灵活的解耦合的服务组装能力。
4.1.3. 基础服务和扩展能力
提供通用的服务实现,并且根据业务需要扩展支持新的服务类型,从而满足灵活的定制扩展能力。
常见的通用基础服务有:
配置服务:提供统一的全局和服务配置数据能力。
存储服务:提供配置会和业务数据的存储能力。存储服务支持相对统一的存储接口适配,可灵活支持不同类型的底层存储服务。
任务服务:提供系统内部周期或长期运行的后台执行能力。支持灵活的任务调度机制,并根据系统负载进行动态调整。
权限服务:提供基础的用户账户和链上交互的权限访问控制能力。针对链上部署的业务合约,进行管理员账户的管理和调整。保证安全性和容错性。
链上服务:提供链上交互能力,支持链上数据查询,链上数据修改请求,是与区块链网络交互的封装。
链下服务:提供链下账户的交易签名管理能力,支持对不同类型的交易进行组装签名。
账户服务:提供业务用户和区块链账户绑定关系和区块链账户数据的管理能力。
合约服务:提供业务规则的合约模板和合约部署管理能力,在此基础上进行业务扩展,提供新的基于合约的扩展业务服务。
在服务框架基础服务和扩展能力的基础上,能支持复杂多样可以灵活定制的服务和平台产品。
定制的服务根据应用场景,可以是:电子合同服务,普惠金融贷款服务,统一认证服务,物联网设备安全服务等等。
平台产品比如通用的上链服务平台,可进行业务系统的托管上链服务能力,业务系统通过通用的上链服务平台进行区块链业务的交互,技术细节被内部屏蔽,从而实现业务系统的区块链业务快速落地。
平台产品比如跨链服务平台,支持不同区块链网络的适配和跨链服务自动处理能力,已经基于跨链服务平台支持网络科技区块链平台与超级账本BESU区块链平台的跨链积分对接。
4.2. 管理和服务组件
为了更好的管控区块链服务平台,提供有相关的管理组件和工具。
4.2.1. 区块链监控
区块链监控服务提供对区块链节点的状态监控能力,管理维护人员可基于监控服务界面查看区块链网络的健康状态,进行维护。
为了方便支持运维,区块链监控可以增强支持进行规则配置,使得区块链网络出现异常时发送邮件或短信提醒指定人员。
4.2.2. 区块链浏览分析平台和扩展能力
区块链浏览器提供区块链块数据和链上业务数据的浏览查看能力,可根据实际业务的需要进行扩展。
可定制支持特定业务类型数据的查询和查看能力。
可增强支持特定业务上链数据的统计分析能力,便于整体上链的业务的统一分析、跟踪和优化改进。
4.2.3. 区块链管理平台和扩展能力
通过区块链管理平台,可以进行区块链服务平台的系统参数以及业务参数进行配置管理,对区块链服务平台进行业务扩展和动态管理。
可增强支持智能合约的管理能力。考虑支持某些业务类型的合约模板,管理员可以定制业务参数,通过交互进行智能合约部署管理,从而可以方便的扩展新的业务能力。
4.3. 开发工具组件
开发工具组件为基于区块链的业务开发提供定制化的开发库,便于业务集成和使用。
4.3.1. 开发工具
提供开发工具,进行智能合约的开发部署。
基于开发工具,可根据业务对应的智能合约自动产生业务开发库,便于业务系统的集成和使用。
4.3.2. 在线开发库
在线开发库提供链上交互能力,应用组件通过在线开发库进行链上交互。
支持RestAPI,Java开发库,NodeJS/JavaScript开发库等不同形式。
支持业务后端以及移动客户端使用版本。
4.3.3. 离线开发库
离线开发库提供链下账户管理和数据签名能力,应用组件通过离线开发库进行账户和数据的安全处理。
支持Java开发库,NodeJS/JavaScript开发库等不同形式。
支持业务后端以及移动客户端使用版本。
4.3.4. 业务开发库和扩展能力
业务开发库是对在线开发库和离线开发库的定制扩展部分,既提供了一些基础业务的能力,有提供了特定行业业务的扩展能力。
比较基础业务的有数据指纹构造和验证的Hash库,账户权限库,等等。
特定行业的比如版本存证,数据上链等等,根据具体的业务参数和规则,编写智能合约,进行构建。
支持Java开发库,NodeJS/JavaScript开发库等不同形式。
支持业务后端以及移动客户端使用版本。
5. 区块链解决方案
区块链解决方案,通过应用业务定制流程进行解决方案的落地,提供区块链解决方案中应用业务组件开发能力。在区块链基础平台和服务平台的基础上,通过区块链解决方案,为区块链技术在行业中的应用落地保驾护航。
从组成上来看,可以进一步细分如下:
5.1. 应用业务组件
应用业务组件是区块链解决方案中用户和业务系统与区块链网络能力对接的实体。通过提供应用业务组件,有利于区块链解决方案的快速落地。
5.1.1. 业务服务平台
业务服务平台是业务系统自身业务的实现,可以进行相对简化的改造支持区块链能力。主要的改造方式比较灵活,可根据业务需要选择不同形式:
基于离线开发库进行区块链账户和交易签名的管理能力;
基于在线开发库支持与区块链网络交互和交易上链查询能力;
基于区块链服务平台框架支持托管使用的区块链服务能力。
5.1.2. 移动客户端
移动客户端提供移动端框架,支持客户移动端产品的快速集成,从而快速推出可使用的产品。
移动客户端支持平台化能力,不需要升级,可方便的支持新的业务能力。
5.1.3. 桌面客户端
桌面客户端提供PC端框架,支持跨操作系统平台,满足客户桌面端产品的快速集成,从而快速推出可使用的产品。
桌面客户端支持平台化能力,不需要升级,可方便的支持新的业务能力。
5.1.4. 浏览器
客户通过浏览器提供服务能力的,可以通过业务服务平台集成区块链能力,将对用户的产品体验降低到最小。
5.2. 应用业务定制流程
为了满足客户应用业务的区块链落地,提出了应用业务的定制流程,通过流程保障应用业务的开发阶段和进度控制。
整体业务流程可以下图描述:
需求分析阶段:进行业务的需求分析,同时进行区块链网络的分析规划。
原型开发阶段:基于分析结果,进行区块链网络定制部署,业务规则智能合约编写,以及智能合约部署调试,SDK开发库框架生成。
定制开发阶段:基于智能合约和开发库,进行业务规则的定制更新和更新部署,以及服务平台定制更新和业务应用原型开发,为最终发布准备。
产品运维阶段:进行区块链平台的管理维护,以及业务应用产品化。
从整个应用业务定制流程可以看出,区块链解决方案是客户方业务系统与区块链服务平台之间相互配合,定制开发和集成更新的过程。