JR-T 0193—2020 区块链技术金融应用 评估规则.pdf
《JR-T 0193—2020 区块链技术金融应用 评估规则.pdf》由会员分享,可在线阅读,更多相关《JR-T 0193—2020 区块链技术金融应用 评估规则.pdf(100页珍藏版)》请在冰点文库上搜索。
![JR-T 0193—2020 区块链技术金融应用 评估规则.pdf](https://file1.bingdoc.com/fileroot1/2023-6/14/e0bedb55-a821-48a2-9c72-b4a098b19eee/e0bedb55-a821-48a2-9c72-b4a098b19eee1.gif)
ICS35.240.40A11JR中华人民共和国金融行业标准JR/T01932020区块链技术金融应用评估规则FinancialapplicationofblockchaintechnologyEvaluationrules2020-07-10发布2020-07-10实施中国人民银行发布JR/T01932020I目次前言.III1范围.12规范性引用文件.13术语和定义.14缩略语.35总则.35.1评估目标.35.2启动条件.35.3评估方法.35.4评估判定准则.36基本要求评估.46.1账本技术.46.2共识协议.176.3智能合约.206.4节点通信.246.5事件分发.276.6密钥管理.296.7状态管理.326.8成员管理.366.9交易系统.436.10接口管理.477性能评估.517.1交易吞吐率.517.2查询吞吐率.527.3交易同步性能.537.4部署效率.557.5账本数据增长速率.558安全性评估.568.1基础硬件.568.2基础软件.598.3密码算法.648.4节点通信.678.5账本数据.698.6共识协议.76JR/T01932020II8.7智能合约.798.8身份管理.818.9隐私保护.858.10监管支撑.878.11安全运维.898.12安全治理.92JR/T01932020III前言本标准按照GB/T1.12009给出的规则起草。
本标准由中国人民银行提出。
本标准由全国金融标准化技术委员会(SAC/TC180)归口。
本标准起草单位:
中国人民银行科技司、中国人民银行数字货币研究所、中国金融电子化公司、中国银联股份有限公司、中钞区块链技术研究院、国家开发银行、中国工商银行股份有限公司、中国农业银行股份有限公司、中国银行股份有限公司、中国建设银行股份有限公司、交通银行股份有限公司、招商银行股份有限公司、上海浦东发展银行股份有限公司、中信银行股份有限公司、兴业银行股份有限公司、中国民生银行股份有限公司、浙江网商银行股份有限公司、深圳前海微众银行股份有限公司、光大科技有限公司、中国平安保险(集团)股份有限公司、泰康保险集团股份有限公司、华泰证券股份有限公司、深圳市腾讯计算机系统有限公司、京东数字科技控股股份有限公司、百度在线网络技术(北京)有限公司、浙江蚂蚁小微金融服务集团股份有限公司、华为技术有限公司、龙盈智达(北京)科技有限公司、杭州溪塔科技有限公司、杭州趣链科技有限公司、北京轻信科技有限公司、杭州云象网络技术有限公司、清华大学、北京大学、中国科学院计算技术研究所、中国人民大学金融科技研究所、中国支付清算协会、北京中金国盛认证有限公司、北京银联金卡科技有限公司。
JR/T019320201区块链技术金融应用评估规则1范围本标准规定了区块链技术金融应用的具体实现要求、评估方法、判定准则等。
本标准适用于金融机构开展区块链技术金融应用的产品设计、软件开发、系统评估。
2规范性引用文件下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T5271.182008信息技术词汇GB/T222392019信息安全技术网络安全等级保护基本要求GB/T32915信息安全技术二元序列随机性检测方法JR/T01712020个人金融信息保护技术规范JR/T01842020金融分布式账本技术安全规范3术语和定义下列术语和定义适用于本文件。
3.1区块链blockchain一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、防篡改、防抵赖的技术体系。
注:
典型的区块链是以块链结构实现数据存储的。
3.2区块block区块链中存储数据的单元。
注:
由区块头和区块体组成。
3.3共识节点consensusnode负责账本数据一致性的节点。
JR/T01842020,定义3.243.4记账节点accountingnodeJR/T019320202负责账本数据完整性的节点。
JR/T01842020,定义3.253.5用户user参与到区块链上实际责任主体的基本单位。
3.6数据变更datachanges对区块链上单个或多个账户的数据进行变更的操作。
示例:
智能合约的部署、合同状态的变更、配置参数的修改等。
3.7原子性atomicity智能合约在执行过程中发生错误,会被回滚到智能合约开始前的状态。
JR/T01842020,定义3.363.8交易transaction区块链上的一次原子性账本数据状态变更及其过程和结果记录。
3.9资产asset能够在区块链上发行、流通、存储、交易,用于完成支付清算业务的权益。
3.10节点授权nodeauthorization在区块链系统中决定一个提出请求的节点(客体)是否有权限访问资源(主体)的动作。
3.11对等网络peer-to-peernetwork一种仅包含对控制和操作能力等效的节点的计算机网络。
GB/T5271.1820083.12共识协议consensusprotocol分布式账本系统中各节点间为达成一致采用的计算方法。
JR/T01842020,定义3.173.13智能合约smartcontract一种旨在以信息化方式传播、验证或执行合同的计算机协议,其在分布式账本上体现为可自动执行的计算机程序。
JR/T019320203JR/T01842020,定义3.204缩略语下列缩略语适用于本文件。
API:
应用程序接口(ApplicationProgrammingInterface)TEE:
可信执行环境(TrustedExecutionEnvironment)CA:
数字证书认证(CertificateAuthority)5总则5.1评估目标在区块链技术金融应用系统版本确定的基础上,对区块链金融应用的基本要求、性能、安全性进行评估,客观、公正评价系统是否能够保障区块链金融设施与应用的安全稳定运行。
5.2启动条件启动条件具体包括:
a)提交的系统(或可执行文件)被测版本应与生产版本一致。
b)提交的系统应已完成内部测试。
c)系统需求说明书、系统设计说明书、用户手册(包括但不限于运维手册、使用手册)、产品手册(包括但不限于组件列表、特性指标、系统架构)等相关文档应准备完毕。
d)最小硬件要求:
机构应披露其区块链系统在满足共识有效性的要求下,正常运行的最小硬件资源,包含硬件设备和网络要求,需验证最小硬件环境下功能、可靠性的完备。
e)评估环境应准备完毕,具体包括:
1)评估环境应与生产环境一致或者基本一致,基本要求、性能、安全性宜在生产环境下进行。
2)系统被测版本及其他相关外围系统和设备应已完成部署并配置正确。
3)用于基本要求和性能评估的基础数据应准备完毕。
4)评估用设备应准备到位,系统及软件安装完毕。
5)评估环境网络应配置正确,连接通畅,可以满足评估需求。
5.3评估方法评估方法及说明如下:
a)查阅材料:
查阅审计报告、自查报告、外部评估报告、设计文档、开发文档、用户文档、管理文档、产品检测报告等相关材料。
b)查看系统:
查看系统日志、配置文件、参数设置、产品版本、网络配置等。
c)访谈人员:
与被测系统或产品有关人员进行交流、讨论等活动,获取相关证据,了解有关信息。
d)测试系统:
利用专业工具,通过对目标系统的扫描、探测等操作,使其产生特定的响应等活动,通过分析响应结果,获取证据以证明信息系统的基本要求、性能、安全性是否得以有效实施。
5.4评估判定准则5.4.1问题等级分类5.4.1.1严重性问题JR/T019320204严重性问题判定原则如下:
a)与相关法律法规、标准规范有明显冲突。
b)不满足本标准中相关要求,造成:
1)无法满足系统基本运行和安全需求的情况。
2)存在重大安全风险,会对客户利益造成严重损害的情况。
3)不能满足监管支撑要求,运营活动无法受到有效监管的情况。
5.4.1.2一般性问题一般性问题判定原则如下:
a)不满足本标准中相关要求,造成:
1)局部功能无法正常使用,但不影响系统整体流程的实现。
2)存在安全风险,会对客户利益造成直接或潜在的损害。
3)对监管支撑存在缺陷,不利于管理部门合法监管工作的开展。
5.4.1.3建议性问题建议性问题判定原则如下:
a)不满足本标准中相关要求,造成:
1)功能能够正常使用,但系统易用性差。
2)存在安全风险,但不会对客户利益造成直接或潜在的损害。
5.4.2评估结果判定原则评估结果判定原则如下:
a)符合:
在评估过程中,未发现问题或仅发现建议性问题,该评估项的评估结果判定为“符合”。
b)不符合:
在评估过程中,发现严重性问题和一般性问题,该评估项的评估结果判定为“不符合”。
c)不适用:
评估过程中,根据系统声明及各评估项中适用对象的适用性,不属于适用对象的评估项可判定为“不适用”。
6基本要求评估6.1账本技术6.1.1数据存储方式数据存储方式评估内容见表1。
表1数据存储方式评估内容表序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象1宜兼容一种以上的数据库类型和版本1.查阅材料2.查看系统1.设计文档对支持的不同类型数据库有规划和设计,支持数据库类型不少于2种,每类数据库至少支持最新发布的3个版本。
2.设计文档为开发人员提供不同类型的数据库接口API,并与设计文档支持的数据库类型和版本一致。
金融业务系统、科技产品JR/T019320205序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象3.系统配置文件中不同类型数据库的配置参数与设计文档一致。
4.系统中网络和主机访问控制策略支持所用类型数据库的端口。
2应选用经过评测的主流数据库版本1.查阅材料2.查看系统1.设计文档使用的数据库为主流的商用或开源产品。
2.系统数据库产品的提供方公开或提供产品的权威第三方测评结果。
3.设计文档为开发人员提供的数据库接口API与设计文档支持的数据库一致。
4.系统配置文件中数据库的配置参数与设计文档一致。
金融业务系统、科技产品3应正确读写支持的数据库测试系统1.系统根据设计文档的数据库接口API向数据库写入数据后,使用该数据库提供的原生工具或第三方工具能够读出数据。
2.系统使用该数据库提供的原生工具或第三方工具按照设计文档的数据结构写入数据后,通过数据库接口API可读出数据。
金融业务系统、科技产品4应根据数据对象的类别分别存储、管理、操作账户数据、交易数据、配置数据等1.查阅材料2.测试系统1.设计文档根据数据对象的类别规划独立存储,账户数据、交易数据、配置数据等数据分别管理、操作。
2.设计文档开发人员提供不同类型数据的访问API,并与设计文档一致。
3.系统根据设计文档提供的API写入、读取数据,不同的API读写功能正确且读写的数据对象类型不同。
4.系统使用第三方工具访问数据库,不同数据对象类型分别存储。
金融业务系统、科技产品5应具备高可靠性,能应对节点断电、重启、网络波动等异常场景测试系统系统在断电、节点重启、网络故障等异常场景恢复后存储数据能够正常读写。
金融业务系统、科技产品6应实现存储空间的监控和预警1.查阅材料2.测试系统1.设计文档包含对数据库空间监控、报警的规划和设计。
2.使用手册包含空间不足的触发条件、报警内容、处理步骤。
3.系统在可用空间触发报警条件时发出预警。
4.系统发出预警后,按照使用手册的应急步骤进行处理,空间不足的情况消失。
金融业务系统、科技产品7应根据相应安全级别要求重置数据库1.访谈人员2.测试系统1.管理员提供的密码足够复杂,符合金融信息系统对密码复杂度和长度的要求,且能够正常金融业务系统、科JR/T019320206序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象的默认访问密码访问数据库。
2.系统在使用数据库默认密码和常见密码访问数据库时,数据库能够拒绝访问。
技产品6.1.2账本结构账本结构中的数据文件评估内容见表2。
表2数据文件评估内容表序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用适用对象对象1应具有防篡改性1.查阅材料2.查看系统3.测试系统1.设计文档包含明确的数据防篡改策略、手段及详细说明。
2.设计文档包含开发人员提供校验数据未被篡改的接口。
3.系统区块信息中能够查到数据防篡改的哈希值等信息。
4.系统能够检测出修改的数据文件。
5.系统能够记录操作账本数据的日志,可供监管审计。
6.系统账本监控程序能够自动检测账本数据是否已篡改。
金融业务系统、科技产品2应具备校验完整性的功能1.查阅材料2.查看系统3.测试系统1.设计文档包含数据完整性校验的说明。
2.系统提供完整性校验功能,提示数据完整性被破坏并拒绝区块新增。
3.系统提供监控手段定位账本数据的不完整。
4.系统在数据完整性被破坏的情况下,能够快速提示被破坏完整性的数据文件。
金融业务系统、科技产品3区块头应包含交易的梅克尔树根信息及状态数据的梅克尔树根信息1.查阅材料2.查看系统1.设计文档包含区块头信息,说明了交易数据和状态数据的排序方法以及梅克尔树根的生成方式。
2.系统具有查看区块头信息的接口。
3.系统具备检测头部信息被修改的能力。
金融业务系统、科技产品6.1.3历史数据可追溯若支持账本历史数据管理功能,历史数据管理评估内容见表3。
表3历史数据管理评估内容表序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象1应能正确查询到账本数据的当前状态信息1.查阅材料2.查看系统1.使用文档具有查询账本数据当前状态信息功能的使用说明。
金融业务系统、科JR/T019320207序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象2.系统能查询到账户数据、交易数据、配置数据、智能合约状态数据的当前状态信息。
3.系统能查询到指定智能合约内可执行代码的当前状态以及智能合约内数据的当前状态信息。
技产品2应能正确查询到账本数据的所有历史更新记录及交易详情1.查阅材料2.查看系统1.使用文档具有查询账本数据所有历史更新记录及交易详情功能的使用说明。
2.系统能查询到所有账户数据、配置数据、智能合约状态数据、智能合约内代码和数据变更的历史更新记录以及对应的交易更新记录。
3.系统能查询到交易记录的详情,包括但不限于以下信息:
交易唯一标识、交易发生时间、交易哈希值、交易发起者标识、交易执行结果。
若该交易为智能合约操作,包含智能合约执行反馈事件的信息。
金融业务系统、科技产品3应能正确并独立地查询到账本数据中某个账户的所有历史更新记录及交易详情1.查阅材料2.查看系统1.使用文档具有查询账本数据中某个账户的所有历史更新记录及交易详情的使用说明。
2.系统能通过身份账户标识查询到某个账户的所有交易更新记录,包括账户数据、配置数据、账户拥有的智能合约状态、账户执行智能合约的历史记录。
3.系统能查询到交易记录的详情,包括但不限于以下信息:
交易唯一标识、交易发生时间、交易哈希值、交易发起者标识、交易执行结果;若该交易为智能合约操作,包含智能合约执行反馈事件的信息。
金融业务系统、科技产品4应能根据数据对象的唯一标识查询到该历史数据文件1.查阅材料2.查看系统1.使用文档具有根据数据对象的唯一标识查询历史数据文件功能的使用说明。
2.系统能根据身份账户标识查询该账户的账户配置、交易、拥有智能合约状态、账户执行智能合约等历史记录。
3.系统能根据交易唯一标识查询该交易的历史交易详情。
4.系统能根据区块唯一标识查询该区块详情。
金融业务系统、科技产品5应能对数据来源和变更的操作者身份进行追溯1.查阅材料2.查看系统1.使用文档具有对数据来源和变更的操作者身份进行追溯功能的使用说明。
2.系统能根据数据对象查询对应的交易更新记录。
3.系统能查询到对应交易记录的发起者。
金融业务系统、科技产品6应能根据时间、记录数等特征条件正常查1.查阅材料2.查看系统1.使用文档具有根据时间、记录数等特征条件查询用户指定范围内数据更新记录功能的使金融业务系统、科JR/T019320208序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象询到用户指定范围内数据更新记录用说明。
2.系统能通过特定的条件查询到某个账户的所有交易更新记录,包括对账户数据、配置数据、账户拥有的智能合约状态、账户执行智能合约的历史记录。
3.系统能查询到交易记录的详情。
技产品7应能正确查询到账本数据状态变更记录所在区块文件的唯一标识和时间戳1.查阅材料2.查看系统1.使用文档具有查询账本数据状态变更记录所在区块文件的唯一标识和时间戳功能的使用说明。
2.系统能根据交易唯一标识查询到所在区块的区块唯一标识。
3.系统能根据区块唯一标识查询到区块详细信息,包括但不限于区块高度、区块哈希值、前序区块哈希值、交易列表、区块时间戳。
金融业务系统、科技产品8应能判别对账本数据状态变更记录的先后顺序1.查阅材料2.查看系统1.使用文档具有判别账本数据状态变更记录先后顺序功能的使用说明。
2.系统能根据数据对象查询对应的交易更新记录。
3.系统能查询到交易记录的详情,包括但不限于交易唯一标识、交易发生时间、交易哈希值、交易发起者标识、交易执行结果。
4.系统对于交易记录查询结果支持自动或手动根据交易发生时间或其他属性进行排序。
金融业务系统、科技产品9可支持通过账本查看功能对底层存储进行查询1.查阅材料2.查看系统1.使用文档具有对底层存储进行查询的使用说明。
2.系统可通过账本查看功能查询到账本底层区块、交易、智能合约元数据、数据存储结构(如梅克尔树)。
3.系统可通过智能合约数据存储形式(如KV)查询智能合约内的数据集。
4.系统中智能合约数据可映射或导出到关系型数据库,允许通过SQL结构化查询的方式查询智能合约内的数据集。
金融业务系统、科技产品10应保证节点从异常状态恢复后,仍能够正确完成历史数据溯源1.查阅材料2.查看系统1.设计文档中具有系统异常状态恢复后,要求节点数据最终一致的说明。
2.系统在节点异常状态恢复后,能够正确完成历史数据溯源的查询。
3.系统在异常状态恢复后,从各节点都能够正确完成历史数据溯源的查询。
金融业务系统、科技产品11应具备前向兼容性,在节点版本升级后,1.查阅材料2.查看系统1.设计文档中具有系统节点版本升级后,要求节点数据最终一致的说明。
金融业务系统、科JR/T019320209序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象能够正确读取账本数据2.系统在节点版本升级后,能够正确读取账本数据。
3.系统在节点版本升级后,从各节点都能够正确读取账本数据。
技产品6.1.4数据同步数据同步评估内容见表4。
表4数据同步评估内容表序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象1应保持需要同步数据的节点与源节点的数据一致1.查阅材料2.查看系统3.测试系统1.设计文档包含节点数据广播功能的方法说明,同时包含保证同步数据一致性的手段说明。
2.设计文档包含数据广播、查询相邻节点、查询当前区块数、获取某个区块数据等的接口说明,包括功能、格式、方法、参数、返回值、使用方式等。
3.系统能够通过登录不同节点观察数据同步情况,并根据区块头信息以及结合数据完整性的保证机制,判断节点间数据同步情况。
4.系统能够通过连接原始节点进行测试交易,并检查原始节点和不与原始节点直接相连的其他节点,确保两个节点保持一致。
5.系统数据同步机制符合一致性标准和规范。
6.系统具备监控手段自动检测节点是否符合数据一致性要求。
7.系统具备查询到所有节点的数据同步情况,如已同步节点数、节点同步进度。
金融业务系统、科技产品2应保持新增节点在同步所需历史数据之后与其他节点数据一致1.查阅材料2.查看系统3.测试系统1.设计文档包含新增节点数据同步方法的说明。
2.设计文档包含查询相邻节点、查询当前区块数、获取某个区块数据等的接口说明,包括功能、格式、方法、参数、返回值、使用方式等。
3.系统包含新增节点获取到老节点地址等信息的配置。
4.系统能够通过登录新加入节点观察数据同步情况,并通过比较新旧节点区块头信息,以及结合数据完整性的保证机制,判断节点间数据同步情况。
5.系统能够通过测试手段检验新节点数据同金融业务系统、科技产品JR/T0193202010序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象步是否完成,数据是否一致的能力。
6.系统新增数据节点数据同步完成后,自动数据校验一致性机制能够判断数据异常情况,并给出提示。
3应保持单节点在重启并同步缺失增量数据后与其他节点的数据一致1.查阅材料2.查看系统3.测试系统1.设计文档包含节点间数据增量同步方法的说明及日志记录要求。
2.设计文档包含查询相邻节点、查询当前区块数、获取某个区块数据等的接口说明,包括功能、格式、方法、参数、返回值、使用方式等。
3.系统能够通过登录节点观察数据同步情况,并通过比较节点区块头信息以及结合数据完整性的保证机制,判断节点间数据同步情况。
4.系统在一个节点关闭重启或断开网络一段时间后,可自动增量同步相邻节点历史数据并进行一致性校验。
5.系统包含人工手段的应急措施确保重启后的节点数据一致性。
6.系统能够记录增量数据同步过程中的故障日志,并与设计文档一致。
金融业务系统、科技产品4应支持单节点在同步数据过程中可动态切换源数据节点1.查阅材料2.查看系统3.测试系统1.设计文档包含源节点检测、连接、切换的方法说明。
2.设计文档包含查询相邻源节点、查询当前区块数、获取某个区块数据等的接口说明,包括功能、格式、方法、参数、返回值、使用方式等。
3.系统节点具备与网络中的源节点进行数据同步的能力,当前源节点失效时,能够自动切换最优的源节点。
4.系统具备通过人工手段切换数据源能力,确保单个节点能够完成数据同步。
5.系统中同步的源节点断开网络后,可自动连接其他相邻节点,继续进行同步的能力。
金融业务系统、科技产品5应确保在多节点网络中,节点互相同步历史数据的一致性,避免同步错乱1.查阅材料2.查看系统3.测试系统1.设计文档包含保证数据连续一致性的手段说明。
2.设计文档包含校验数据连续一致性的接口说明。
3.系统能够通过登录不同节点比较数据连续性。
4.系统的数据连续一致性实现方式与设计文档一致。
5.系统在数据同步过程中,源节点新增数据能金融业务系统、科技产品JR/T0193202011序号序号实现要求实现要求评估方法评估方法结果判定结果判定适用对象适用对象够被同步到目标节点,目标节点能够校验源节点数据的完整性。
6.系统具备历史数据自动校验的能力,能够对错乱数据进行系统自动恢复。
7.系统具备完善的系统日志功能。
6应满足在多节点网络中,节点同步历史数据达到一致状态的时效性1.查阅材料2.查看系统3.测试系统1.设计文档中能够针对应用典型和异常场景下的数据量,说明达到共识要求所需节点间同步一致的时效性要求。
2.系统包含节点历史数据同步状态进展查询功能以及节点间同步一致性核验功能。
3.系统在以下测试场景下满足数据同步时效性要求:
典型应用场景下数据定量的单