• 490.70 KB
  • 2022-05-13 09:30:47 发布

DB52∕T 1467-2019 区块链 系统测评和选型规范(贵州省)

  • 32页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
ICS35.240L79DB52贵州省地方标准DB52/T1467—2019区块链系统测评和选型规范Blockchain—Systemstestingandselectionspecification2019-12-31发布2020-06-01实施贵州省市场监督管理局发布\n\nDB52/T1467—2019目次前言..............................................................................II引言.............................................................................III1范围..............................................................................12规范性引用文件....................................................................13术语、定义和缩略语................................................................14区块链系统质量....................................................................25测评和选型.......................................................................12附录A(资料性附录)系统测评方法...................................................14附录B(资料性附录)系统选型原则和方法.............................................16附录C(资料性附录)计算用例.......................................................19参考文献............................................................................22I\n\nDB52/T1467—2019前言本标准按照GB/T1.1-2009《标准化工作导则第1部分:标准的结构和编写》给出的规则起草。请注意本文件的某些内容可能涉及专利,本文件的发布机构不承担识别这些专利的责任。本标准由中国电子技术标准化研究院提出。本标准由贵州省大数据标准化技术委员会归口。本标准起草单位:中国电子技术标准化研究院、贵阳市大数据产业集团有限公司、贵阳宏图科技有限公司、众安信息技术服务有限公司、贵阳爱立示信息科技有限公司、贵州省公共大数据重点实验室、厦门安妮股份有限公司、上海万达网络金融服务有限公司、工业和信息化部电子第五研究所、贵阳井通金融科技有限公司、贵州远东诚信管理有限公司、上海分布信息科技有限公司、贵州亿步优图科技有限公司、杭州云象网络技术有限公司、贵州师范大学、复旦大学、贵州智慧科技信息技术有限公司。本标准主要起草人:孙琳、李鸣、周黎辉、李佳秾、赵阳、谈建、李万恒、王涛、朱国辉、王明月、郝汉、杨胜、杨菲、裴莹蕾、许军、蔡蕙敏、张一帆、王荣斌、相里朋、郭波、李喜平、饶维、王从礼、阚海斌、张亮、杨辉、李泽源、陈贵平、张乐云、郑咏梅。II\n\nDB52/T1467—2019引言随着各行业、各领域对区块链技术认识的提升,区块链技术已经从研究进入到应用阶段,区块链系统测评和选型规范可以帮助组织选择高质量的系统,从而提供区块链服务。本部分参照了软件工程领域的系统质量测评标准GB/T25000.10-2016《系统与软件工程系统与软件质量要求和评价(SQuaRE)第10部分:系统与软件质量模型》,同时结合GB/T34960.3-2017《信息技术服务治理第3部分:绩效评价》绩效评价方法,旨在帮助组织建立区块链系统的测评和选型体系。III\n\nDB52/T1467—2019区块链系统测评和选型规范1范围本标准规定了区块链系统测评和选型的术语、定义以及缩略语、区块链系统质量、测评方法和系统选型等要求。本标准适用于区块链的系统测评和选型。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T25000.10系统与软件工程系统与软件质量要求和评价(SQuaRE)第10部分:系统与软件质量模型ISO/CD23257区块链和分布式记账技术参考架构(Blockchainanddistributedledgertechnologies——Referencearchitecture)3术语、定义和缩略语3.1术语和定义以下术语和定义适用于本文件。3.1.1区块链blockchain使用密码技术将共识确认过的区块按顺序追加而形成的分布式账本。[ISO22739区块链和分布式记账技术术语]3.1.2块链式数据结构chained-blockdatastructure一段时间内发生的事务处理以区块为单位进行存储,并以密码学算法将区块按时间顺序连接成链条的一种数据结构。[CBD-Forum-001-2017区块链参考架构,定义2.2.2]3.1.3对等网络peer-to-peernetwork一种仅包含对控制和操作能力等效的节点的计算机网络。[GB/T5271.18-2008]1\nDB52/T1467—20193.1.4智能合约smartcontract以数字形式定义的能够自行执行条款的合约。注:在区块链技术领域,智能合约是指基于预订事件触发、不可篡改、自动执行的计算机程序。[CBD-Forum-001-2017区块链参考架构,定义2.2.7]3.1.5加密encipherment/encryption对数据进行密码变换以产生密文的过程。一般包含一个变换集合,该变换使用一套算法和一套输入参量。输入参量通常被称为密钥。[GB/T25069-2010]3.1.6互操作interoperabilitya)两个或多个系统或组件交换信息并相互使用已交换的信息的能力;b)两个或两个以上系统可互相操作的能力。[GB/T11457-2006]3.2缩略语下列缩略语适用于本文件。API:应用编程接口(ApplicationProgrammingInterface);BSC:区块链服务客户(BlockchainServiceCustomer)。4区块链系统质量4.1系统质量模型本标准的区块链系统质量模型参考GB/T25000.10中的质量模型,分为功能、性能、可靠性、安全性、可维护性、可移植性和互操作性七个方面,见图1。2\nDB52/T1467—2019图1区块链系统质量模型4.2关键要素4.2.1功能4.2.1.1功能视图功能视图见图2。图2区块链参考架构功能组件3\nDB52/T1467—20194.2.1.2基础设施层基础设施层测评要素主要包括:a)对等网络:区块链系统运行的底层拓扑结构是分布式对等网络,采用对等网络协议组织区块链中的各个网络节点。各个节点间通常使用点对点通信协议完成信息交换以支撑上层功能。对等网络功能测评要素包括:1)节点之间的高效安全通信:能够进行点对点之间的通信,点对点之间的通信接口,能够进行点对点之间的通信安全;2)点对点通信多播能力:能够提供点对点通信基础上的多播能力;3)动态增删节点:支持对节点的动态添加的识别,支持对节点的动态减少的识别。c)存储:存储功能组件提供区块链运行过程中产生的各种类型数据,如账本、交易信息等的写入及查询功能,相关选型包括但不限于关系型数据库、键值对数据库、文件数据库等。存储功能组件测评要素包括:1)节点数据写入正确性:对等网络中,能够被每个节点部署并使用,对等网络能够被每个节点查询;2)节点高效稳定储存:能够提供高效稳定的数据服务,能够提供安全的数据服务。d)计算:计算功能组件提供区块链系统运行中的计算能力支持,包括但不限于容器技术、虚拟机技术、云计算技术等。一般应具备以下功能:1)区块链节点运行环境监控:对区块链系统提供运行环境支持;2)区块链节点计算能力:对等网络中,计算能力能够满足每个节点要求。4.2.1.3分布式记账技术平台分布式记账技术平台测评要素主要包括:a)共识机制:区块链网络中各节点对在区块链系统中进行事务或状态的验证、记录、修改等行为达成一致确认的方法。共识机制测评要素主要包括:1)多节点共识确认:系统支持多个节点参与共识和确认;2)独立节点的提交信息有效性验证:系统支持独立节点对区块链网络提交的相关信息进行有效性验证。其包括正确事务逻辑验证(按正确逻辑执行的事务是否能在区块链上进行验证查询的过程)、错误事务逻辑验证(不按正确逻辑执行的事务是否能在区块链上进行验证查询的过程)等要素;3)共识机制容错性:是指系统应具备一定的容错性;其包括物理故障导致的非恶意错误容错性(物理故障情况下数据是否丢失)、节点被控制的恶意错误容错性(满足共识机制条件少数节点是否能恶意篡改账本数据)等要素。b)账本记录:区块链中分布式数据的存储机制,通过不同节点对账本的共同记录与维护,形成区块链系统中数据的公共管理、防篡改、可信任的机制。账本记录测评要素主要包括:1)持久化存储账本记录:是指系统支持持久化存储账本记录;测评包括技术库种类、数据库指标(安全性、兼容性、可扩展性)、账本存储格式、区块格式规范等内容。2)多节点拥有完整的数据记录:包括支持多节点拥有完整的数据记录(链上与非链上的数据记录)、支持多节点拥有完整的区块记录(完整账本的记录)等要素。3)各节点数据一致性:是指系统确保有相同账本记录的各节点的数据一致性。c)加密算法:应具备抵御破解的能力,应定期审核加密算法的安全性,必要时采用更高破解计算复杂性的加密算法。加解密测评要素主要包括:1)支持国际主流加密算法,如AES256等对称加密算法和RSA、ECC等非对称加密算法;4\nDB52/T1467—20192)支持我国商密算法,如SM4、SM7等对称加密算法和SM2、SM9等非对称加密算法;3)应符合国家相应法规,具备明确的密钥管理方案,确保区块链底层安全机制正常运行。d)摘要:即数字摘要功能,将任意长度的消息输入变成固定长度的短消息输出。摘要测评要素主要包括:1)对比区块链系统与第三方的摘要算法,观察时间及安全强度;2)区块链系统的摘要算法应用于微小差异结果,即是否满足存储及验证要求;3)具备抵御破解的能力,宜定期审核摘要算法的安全性,必要时采用更高破解计算复杂性的摘要算法。e)数字签名:数字签名算法应具备抵御破解的能力,宜定期审核数字签名算法中使用的非对称加密算法和摘要算法的安全性,必要时采用更高破解计算复杂性的非对称加密算法和摘要算法。在部分应用场景下,也可引进权威公正的第三方CA机构签发的数字证书,来进行数字签名和签名验证相关工作,确保信息的机密性、完整性及不可抵赖性。数字签名测评要素主要包括:1)支持国际主流的数字签名算法,如RSA数字签名算法、ECDSA等;2)支持我国商密的数字签名算法,如SM2数字签名算法等;3)数字签名算法应具备抵御破解的能力,宜定期审核数字签名算法中使用的非对称加密算法和摘要算法的安全性,必要时采用更高破解计算复杂性的非对称加密算法和摘要算法。f)时序服务:对于区块链系统中的行为或数据需记录相应的一致性的时序,可以选择特定的时序机制或工具。区块链系统时序服务测评要素主要包括:1)统一账本记录:支持统一账本记录时序等内容;2)时序容错性:具备时序容错性等内容;3)第三方时序服务:必要时,支持集成可信第三方时序服务等内容。g)智能合约:以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。合约的参与双方将达成的协议提前安装到区块链系统中。在双方的约定完成后,开始执行合约,不能修改。根据应用场景的不同需求,区块链系统可有选择性地提供智能合约功能。智能合约测评要素主要包括:1)开发运行环境:包括提供编程语言支持、提供配套的集成开发环境;2)合约内容静态和动态检查:支持合约内容静态和动态检查;3)支持运行载体:提供运行载体支持,如虚拟机等;4)外部数据源和智能合约交互:智能合约与外部数据源交互的影响范围应仅限于智能合约范围内;5)合约防篡改:防止对合约内容进行篡改;6)多方共识下的合约升级:支持多方共识下的合约内容升级;7)账本中写入合约内容:支持向账本中写入合约内容。4.2.1.4APIAPI层测评要素主要包括:a)接入管理:提供跨进程调用功能,为外部业务系统及用户层提供核心层接入服务。接入管理测评要素主要包括:1)账户信息查询:提供区块链服务客户账户体系相关的基本信息查询服务;其中包括账户体系相关的基本信息服务等要素;2)账户体系相关的基本信息服务:对账户体系相关的业务提供的服务功能;3)账本信息查询:提供区块链区块、事务详情等查询服务;其中包括区块总高度查询服务、指定高度区块查询服务、区块标识查询服务、事务查询服务等要素;5\nDB52/T1467—20194)事务操作处理:将区块链服务客户提交的特定事务操作请求提交到区块链网络;其中包括特定事物操作请求提交功能等要素;5)特定事物操作请求提交功能:对特定事务进行相关操作的功能。宜包括:1)接口服务能力管理:支持接口调用频度设置和事务操作及账本查询缓存设置;其中包括接口调用频度管理功能、接口查询缓存功能等要素;2)接口调用频度管理功能:对接口调用频度进行管理功能;3)接口查询缓存功能:对接口查询进行缓存的功能;4)接口访问权限管理:接口的访问权限等级通常分为低等级权限、中等级权限和高等级权限三类,针对不同的用户可以配置不同的访问权限;其中包括接口访问等要素;5)接口访问:对接口访问方式进行相关配置的功能。b)节点管理:支持对区块链节点的信息查询和管理控制,区块链节点通常至少包括共识节点和接入节点两种。共识节点参与区块链网络共识过程,用于区块的生成。接入节点用于外部应用系统同步账本信息和提交事务处理。节点管理测评要素主要包括:1)节点服务器信息查询:提供区块链节点服务器的节点状态信息查询服务;其中主要测评要素为节点状态信息查询;2)节点状态信息查询:指对节点相关状态进行的信息查询功能;3)节点服务启动关闭控制:提供区块链节点服务器的启动与关闭服务,其中包括:节点启动功能:指能否对节点的启动功能进行管控;节点服务启动功能:指能否对节点的服务启动功能进行管控;节点服务关闭功能:指能否对节点的服务关闭功能进行管控;节点关闭功能:指能否对节点的关闭功能进行管控。4)节点服务配置:提供区块链节点服务器的节点服务能力配置;其中包括节点参与共识算法配置、节点连接数量配置、节点对外提供接入服务配置等要素;节点参与共识算法配置:指是否能对节点参与的共识算法进行相关配置;节点连接数量配置:指能否对节点的连接数量进行相关配置;节点对外提供接入服务配置:指能否对节点外提供接入服务配置。5)节点网络状态监控:提供区块链节点服务器网络连接状态监控服务,其中包括:节点连通状况监控服务:指节点间的网络状态是否良好;节点连接数量监控服务:指节点链接其他节点数量的监控;节点带宽监控服务:指节点间网络带宽的监控服务。c)节点授权管理:提供区块链节点准入准出配置和节点事务处理及账本查询授权配置。节点授权管理测评要素主要包括:1)准入配置:通过相关权限控制对准入节点的限制;2)准出配置:通过相关权限控制对节点的退出许可;3)被测试节点事务处理:被测试节点进行事务处理时结果是否满足预期要求;4)被测试节点以外节点的事务记录:被测试节点以外的节点事务记录是否测试节点一致;5)账本允许查询授权配置:通过相关配置来对账本查询权限进行控制;6)账本禁止查询配置:通过相关配置来对账本禁止查询权限进行控制。d)账本应用功能组件通过调用核心层功能组件,实现基于区块链账本记录功能组件的应用。测评要素主要包括:1)链上内容发行和交换:链上内容发布功能、链上内容增加功能、链上内容撤销功能、链上内容分配功能、链上内容交换功能;6\nDB52/T1467—20192)逻辑验证:提供共识前的逻辑验证和共识后的结果验算,一般包括:共识前特定标识的资产的逻辑验证:共识前对特定标识的资产进行逻辑验证;共识前资产数额逻辑验证:共识前对资产数额进行逻辑验证;共识后的结果验算:共识后对共识结果的验证。3)签名权限控制设置:提供可对特定事务处理进行多签名权限控制设置,一般包括:多签名权限控制设置:指通过多个签名来对权限进行控制;对特定事务处理进行多签名:指通过多个签名来对特定事务进行处理;对多签名事务处理进行验证:指通过多个签名来对事务进行验证。4)执行合约逻辑:可基于智能合约功能组件执行合约逻辑,一般指通过智能合约组件来执行智能合约代码。4.2.1.5用户层用户层测评要素主要包括:a)用户功能:包括命令行交互功能、图形交互功能、应用程序交互功能、事务提交功能等要素。用户功能功能组件支持区块链服务客户访问和使用区块链服务(使用区块链活动);b)业务功能:包括区块链服务选择、区块链服务订购、使用区块链账务、财务管理等要素。1)区块链服务选择:用户是否能够对区块链服务进行自主选择;2)区块链服务订购:用户是否能够对区块链服务进行订购;3)使用区块链账务:用户能够使用账本来做一些业务;4)财务管理:指业务功能是否能够满足财务管理。c)管理功能:管理功能组件支持BSC,区块链服务管理者的区块链活动包括成员管理服务、对服务活动和服务使用的监控、事件处理和问题报告、安全管理以及日志管理服务。区块链管理能力只能通过使用区块链服务来获取。管理功能一般包含:1)成员管理服务:为区块链服务客户提供身份管理、权限管理、数据保密以及可审计的服务,其中包括身份管理、权限管理、数据保密、可审计功能等要素;2)监控管理:为区块链服务客户提供故障监测和区块链网络运行状态的监控服务,其中包括故障检测、网络运行状态监控等要素;3)事件管理:为区块链服务客户提供预定义或自定义事件的服务,其中包括预定义事件功能、自定义事件功能、网络问题跟踪及报告、账号安全功能等要素;4)问题管理:为区块链服务客户提供区块链网络问题跟踪、报告的服务,其中包括网络问题跟踪及报告等要素;5)安全管理:确保区块链服务客户账号安全性的服务,其中包括账号安全功能等要素;6)日志管理:有效地记录日志,可方便的提供用户所需报表,可持续提供系统稳定性报告,可跟踪排查潜在发生的问题。4.2.2性能4.2.2.1资源利用率资源利用率测评要素主要包括:a)CPU占用率满足度:主要参考处理器执行非闲置线程时间的最大百分比是否符合需求的限制;b)内存占用率满足度:主要参考用于运行进程有效物理内存的平均数量是否符合需求的限制;c)外存时间负载满足度:主要参考运行效率测试过程中,外存被独占的时间的是否符合需求的限制;7\nDB52/T1467—2019d)外存空间占用率满足度:主要参考已使用外存空间是否符合需求的限制;e)传输带宽负载满足度:主要参考执行规定的数据传输功能时,所占用的最大传输带宽是否符合需求的限制;f)I/O设备占用率满足度:主要参考指定I/O设备在每个单位时间内,设备繁忙时间所占的比例是否符合需求的限制。4.2.2.2时间特性时间特性测评要素主要包括:a)响应时间满足度:任务命令的响应时间长度是否满足需求;b)周转时间满足度:作业开始到作业完成所需的时间间隔是否满足需求;c)吞吐率满足度:单位时间处理的任务数量是否满足需求。4.2.2.3容量容量测评要素主要包括:a)最大请求数满足度:在要求的负载下,单位时间内可处理最大请求数量是否满足需求;b)事务累积容量满足度:在要求的负载下,可处理的最大累积事务数量是否满足需求;c)数据吞吐容量满足度:在规定的时间内,可处理完成最大数据量是否达满足需求;d)数据处理容量满足度:对于指定的数据处理或数据存储功能,可处理的最大数据量是否满足需求。4.2.3可靠性4.2.3.1成熟性成熟性测评要素主要包括:a)缺陷排除率满足度:已纠正的缺陷与已发现缺陷之比满足要求的程度;b)平均故障间隔时间满足度:一定运行周期内的软件发生故障间隔时间的平均值满足要求的程度;c)故障密度满足度:在确定的测量单位的软件中发现的故障数量满足要求的程度;d)缺陷密度满足度:在确定的测量单位(如每千行)的软件中发现的缺陷数量满足要求的程度;e)验证覆盖率:实际完成的验证任务与需完成的验证任务之比。4.2.3.2可用性可用性测评要素主要包括:a)服务时间率:服务时间率指区块链系统实际提供的服务时间与需提供的服务时间之比。该指标是为了度量被测区块链系统实际提供的服务时间在多大程度上满足要求;b)平均故障间隔时间满足度:指一定运行周期内的区块链系统无法提供服务的平均时间满足要求的程度。该指标是为了度量区块链系统平均宕机时间在多大程度上满足要求;c)特殊条件运行时间满足度:在特殊条件下软件正常运行的时间满足要求的程度。该指标是为了度量区块链系统特殊条件运行时间在多大程度上满足要求。4.2.3.3容错性容错性测评要素主要包括:8\nDB52/T1467—2019a)避免宕机率满足度:避免宕机率满足度指未导致宕机的失效与区块链系统失效之比满足要求的程度;b)避免失效率满足度:避免失效率满足度指未引起失效的区块链系统故障与已发现故障之比满足要求的程度;c)抵御发生的误操作率:抵御发生的误操作率指区块链系统实际实现的抵御误操作的有效设计在应设计的抵御误操作中的占比;d)冗余率:冗余率指区块链系统为了避免失效,实际区块链系统部件备份与需进行备份部件之比。4.2.3.4易恢复性易恢复性测评要素主要包括:a)易复原性:在异常事件或在需要时,区块链系统复原到失效前或指定状态的能力;b)备份数据率:有效备份数据在需备份数据中的占比;c)可重新启动性:可重新启动性指在宕机后,区块链系统能在要求的时间内成功重新启动与重新启动次数之比满足要求的程度;d)故障通告时间满足度:故障发生时,区块链系统通告故障花费的时间满足要求的程度。4.2.4安全性4.2.4.1保密性保密性测评要素主要包括:a)访问数据的可控制性:访问数据的可控制性指区块链系统对未授权的数据访问进行控制的能力符合需求的程度,该指标考察未授权数据访问规则得到满足的程度;b)访问操作的可控制性:访问操作的可控制性指区块链系统对未授权的访问操作进行控制的能力符合需求的程度,该指标考察未授权操作规则得到满足的程度;c)数据加密的正确性:数据加密的正确性指区块链系统对数据项进行正确的加密/解密的能力符合需求的程度,该指标考察被正确加密/解密的数据项是否符合需求;d)数据加密的完整性:数据加密的完整性指区块链系统对数据项实现加密/解密的比例符合需求的程度,该指标考察被加密/解密的数据项是否符合需求;e)密码算法的强度:已被审核通过的加密算法所占的比例。4.2.4.2完整性完整性测评要素主要包括:a)数据的抗讹误性:数据的抗讹误性指区块链系统防止数据被讹误能力符合需求的程度,该指标考察操作过程中数据避免出现讹误的程度;b)内在的数据抗讹误性:内在的数据抗讹误性指区块链系统防止数据被讹误所采取的方法符合需求的程度,该指标考察区块链系统实现的防讹误方法数是否符合需求;c)缓冲区溢出的预防:在区块链系统模块中带有用户输入的已被用来检查防止缓冲区溢出的存储器访问所占的比例。4.2.4.3抗抵赖性抗抵赖性测评要素主要包括:a)数字签名的利用度:数字签名的利用度指数据采用数字签名传输符合需求的程度,该指标考察数字签名的利用程度是否符合需求;9\nDB52/T1467—2019b)发送事件的不可抵赖性:发送事件的不可抵赖性指软件防止实体否认发送事件及其行为的程度,该指标考察实体不可否认发送事件、行为的程度;c)接收事件的不可抵赖性:接收事件的不可抵赖性指软件防止实体否认接收事件及其行为的程度,该指标考察实体不可否认接收事件、行为的程度。4.2.4.4可追溯性可追溯性测评要素主要包括:a)访问数据的可审计性:访问数据的可审计性指对用户访问区块链系统和数据进行审计追踪的能力符合需求的程度,该指标考察系统日志及数据库对访问数据的记录是否完整;b)访问类型的可审计性:访问类型的可审计性指对用户记录的访问类型进行审计追踪的能力符合需求的程度,该指标考察系统日志及数据库对访问类型的记录是否完整;c)日志保存符合性:日志保存符合性指日志进行安全保存的实际时间符合需求的程度,该指标考察日志的保存时间是否符合需求。4.2.4.5真实性真实性测评要素主要包括:a)鉴别方法满足度:区块链系统使用的身份鉴别方法符合需求的程度,该指标考察区块链系统提供鉴别方法的数量是否符合需求,例如不同的登录方法;b)鉴别规则满足度:区块链系统在安全数据上实现的鉴别规则数量符合需求的程度,该指标考察区块链系统在安全数据上实现的鉴别规则是否符合需求,例如同一种登录方法中的不同规则要求。4.2.5可维护性4.2.5.1模块化模块化指区块链系统在维护过程中各功能模块对实施维护的支持程度。测评要素包括:a)模块间的耦合度:模块间存在的依赖关系的强弱;b)模块结构合理性:模块结构符合要求的程度,包括代码、预定义的代码。4.2.5.2可重用性可重用性指区块链系统中的模块或模块代码能够用于其他软件或系统的程度。测评要素包括:a)模块重用率:区块链系统模块能够用于其他区块链系统的程度;b)注释的规范性:代码的注释遵从注释规范的程度;c)代码的规范性:代码的编写遵从代码编写规范的程度;d)文档的规范性:文档的编写遵从文档编写规范的程度。4.2.5.3易分析性易分析性指区块链系统可被诊断自身的缺陷或失效原因或标识其待修改部分的容易程度。测评要素包括:a)诊断的准确性:区块链系统是否能够准确的诊断维护点;b)诊断的时间满足度:区块链系统有效诊断维护目标所需的时间满足用户期待的时间的程度;线索有效性:区块链系统能否提供充分的维护线索以支持维护实施;c)线索可理解性:实施方能否正确、有效的理解该次维护过程提供的线索;10\nDB52/T1467—2019d)审核追踪的能力:当软件发生缺陷、失效或需要修改时能否有效的追踪其原因的具体操作。4.2.5.4易修改性易修改性指对区块链系统实施修改的容易程度。测评要素包括:a)代码的可修改性:维护实施方能否通过修改代码来维护指定的功能;b)可配置性:维护实施方能否容易地变更配置参数来实施修改;变更周期的效率,用户的问题能否在可接受的时间内解决;c)维护实施的效率:维护过程是否能在可接受的时间限度内完成;d)修改的复杂度:维护是否能容易的执行以解决问题;e)修改的可还原性:具有撤销等类似功能的软件,在完成修改后,是否可以正常还原到修改前状态;f)软件变更的可控性:用户能否容易地标识修订的版本。4.2.5.5易测试性易测试性指对区块链系统被已修改组件进行确认的容易程度。测评要素包括:a)可自动验证性:是否可以通过区块链系统的自动验证来完成;b)测试的重启性:在维护后,能否容易地用检测点执行测试。4.2.6可移植性4.2.6.1适应性适应性指在使不同的约束条件下区块链系统得到满足的容易程度。测评要素包括:a)硬件适应性:目标区块链系统对于硬件环境变化的适应能力;b)操作系统适应性:目标区块链系统对于操作系统变化的适应能力;c)数据库适应性:目标区块链系统对于数据库变化的适应能力;d)支撑区块链系统适应性:被测区块链系统对于支撑软件变化的适应能力;e)组织环境适应性:被测区块链系统对于组织环境变化的适应能力;f)通信环境适应性:被测区块链系统对于通信环境变化的适应能力;g)数据结构适应性:被测区块链系统对于数据结构变化的适应能力;h)移植的用户友好性:被测区块链系统易被用户掌握的能力。4.2.6.2易安装性易安装性指区块链系统的软件安装包在特定环境中能够有效地进行安装的程度。测评要素包括:a)安装正确性:在移植过程中,区块链系统的软件包安装到新环境后能否正常运行;b)安装难易性:在移植过程中,区块链系统安装的难易程度;卸载难易性,在移植过程中,区块链系统卸载的难易程度;c)安装影响性:在移植过程中,区块链系统软件包安装过程中是否会影响到其他软件或者环境的运行及设置:安装完整性,在移植过程中,区块链系统安装后功能完整性;d)安装灵活性:在移植过程中,软件安装过程是否可由用户订制;e)安装效率:在移植过程中,从安装开始到安装结束所需要的时间。11\nDB52/T1467—20194.2.7互操作性4.2.7.1数据一致性数据一致性指区块链系统实现降低数据同步延迟,保证数据的一致性,避免造成数据混乱和失准的程度。可通过在区块链系统上运行规定的业务,测试数据同步延迟数据,以及数据一致性程度。4.2.7.2可协同性可协同性指被测区块链系统实现与其他区块链系统间的互操作的程度。可通过测试被测区块链系统与其他区块链在通信协议、API和区块数据格式等,测试是否连接和通信。4.2.6.3易替换性易替换性指软件在相同环境下(包括软件环境,硬件环境,操作系统等)替换其他软件的难易程度。测评要素包括:a)数据连续性:软件更新,升级或替换其他软件后,相同的数据是否可以继续使用;b)功能内含性:软件更新,升级或替换其他软件后,类似的功能是否可以正常使用;c)用户支持功能的一致性:软件更新,升级或替换其他软件后,新功能是否与用户期望的一致,是否能被用户接受。5测评和选型5.1测评方法系统测评宜依次采用如下方法开展具体工作:a)明确目标和范围:依据产品特点、技术特性和场景应用要求,经充分沟通后,明确系统测评的目标和范围;b)定义能力要素和评价要素:依据测评需求进行适度裁剪,选择适宜的能力要素(系统的业务能力)和评价要素(规定的测评内容);c)设计测评指标体系:依据选定的能力要素和评价要素,设计满足评价目标和范围要求、符合SMART原则的测评指标体系;d)定义指标权重:采用主观经验、主次指标排队分类、层次分析或专家调查加权等方法,为测评指标及评价要素分配参考权重值;e)实施系统测评:依据被测对象和测评目的,选择适用的测评方法,并采用专业测评工具开展系统测评,保存可量化的测量结果;f)计算分数:依据测评指标的评价结果及不同层级的权重,计算方法参照附件A;g)多维度评价:依据系统各维度质量水平的评价需要。应先计算每个测评指标的具体分数,再根据需求选用评价模型来量化评价各维度质量水平,最后采用加权综合法,将测评结果转化成相对指标,结合权重值计算综合分,计算用例参照附录C。注:SMART原则中,S=Specific、M=Measurable、A=Attainable、R=Relevant、T=Time-bound,绩效指标应是具体的、可衡量的、可达到的、与其他目标具有一定的相关性、具有明确的截止期限。12\nDB52/T1467—20195.2系统选型5.2.1确定应用场景区块链系统选型通常需要先确定应用场景,系统按照需求分为政用、民用、商用三个不同应用场景:a)政用场景中,应优先关注功能性、信息安全性,其次是性能效率和可靠性;b)民用场景中,应优先关注功能性,并平衡信息安全性、性能效率、可靠性;c)商用场景中,应优先关注功能性、性能效率,其次是信息安全性、可靠性。5.2.2确定选型目标和范围进行区块链系统选型时,选型方应依据自身需求和选型原则等制定区块链系统选型的目标,并缩小待选区块链系统范围。5.2.3实施系统选型明确区块链系统选型的目标和范围后,应参照主观经验、层次分析法等方法为指标及对应要素分配权重。5.2.4计算分数与选型根据选型对象选择适用的选型方法,其获得的结果通常是一种量化的选型结果。根据每个选型指标的评价结果和不同层级的权重计算分数,计算方法参照附录B,计算用例参照附录C。13\nDB52/T1467—2019AA附录A(资料性附录)系统测评方法系统测评评价表如表A.1所示。首先依据自身需求,分配测评子要素权重;其次依据测评方法给出子要素得分;最终依据测评计算方法,计算出系统测评总分。nXXi(i=1,2,3,...n).........................(A.1)i1nXiWijXij(i=1,2,3,...n;j=1,2,3,...n).............(A.2)i1,j1式中:X——为系统测评总得分,X0,7;Xi——为评价要素得分,X0,1;Xij——为子评价要素得分,Xij0,1;nWij——为子评价要素权重,Wij0,1,Wij1,i=1,2,3,...n。j1根据系统测评所得总分,对其进行评级如下:[6-7]分:优秀;[5-6)分:良好;[4-5)分:中等;[3-4)分:一般;[0-3)分:差。表A.1系统测评评价表评价要素要素得分评价子要素子要素权重子要素得分用户层功能W11X11服务层功能W12X12功能X1核心层功能W13X13基础层功能W14X14时间特性W21X21性能X2容量W22X22成熟性W31X31可用性W32X32可靠性X3容错性W33X33易恢复性W34X3414\nDB52/T1467—2019表A.1(续)评价要素要素得分评价子要素子要素权重子要素得分保密性W41X41完整性W42X42安全性X4抗抵赖性W43X43可追溯性W44X44真实性W45X45模块化W51X51可重用性W52X52可维护性X5易分析性W53X53易修改性W54X54易测试性W55X55适应性W61X61可移植性X6易安装性W62X62易替换性W63X63数据一致性W71X71互操作性X7可协同性W72X72测评总分X15\nDB52/T1467—2019BB附录B(资料性附录)系统选型原则和方法B.1选型原则区块链选型规范依据以下原则:a)先进适用性:在满足技术先进性的前提下,尽可能的选择符合国情和国力,符合贵州省技术发展政策,与组织原有系统能有效对接的系统;b)安全可靠性:尽可能的选择经过多次试验和实践证明是成熟的、技术过关、有详尽的技术分析数据和可靠记录,并且测评结果控制在测评规定标准之内的系统;c)可扩展性:推荐选择可以及时调整配置来适应用户发展的系统;d)经济合理性:在综合考虑用户所用系统所能产生的经济效益和用户的经济承受能力的前提下,尽可能的选择消耗小的区块链系统。系统消耗可能会由劳动需要量、能源消耗量、投资数量等方面产生;e)量完备性:应参考系统测评结果,考虑评分较高的区块链系统。B.2选型方法a)区块链系统选型方法依据层次分析法计算。根据B.1的选型原则,在比较区块链系统时考虑功能、性能、可靠性、安全性、可维护性、可移植性、互操作性共7个元素,如图B.1所示。图B.1区块链系统层次结构图b)构造成对比较矩阵针对待评测系统,构建如下成对比较矩阵A。16\nDB52/T1467—2019图B.2区块链系统质量成对比较矩阵具体影响程度量化值如表B.1所示。表B.1两两比较表格量化值Aij量化值Aij对应的比较含义1元素i与元素j的影响程度相同3元素i与元素j的影响程度稍强5元素i与元素j的影响程度强7元素i与元素j的影响程度明显较强9元素i与元素j的影响程度绝对地强2、4、6、8元素i与元素j的影响介于上述相邻等级之值1、、、...元素i与元素j影响程度之比c)一致性证明对成对比较矩阵进行一致性证明,判断是否在误差允许范围内。1)最大特征根与特征向量T最大特征根为,特征向量为1...7,特征向量即为7元素的权重。2)一致性指标n一致性指标CR,当CR0时,A一致;当CR越大,A的不一致性程度越严重。n1为衡量CI的大小,引入随机一致性指标RI:CI1CI2...CInRIn其中,随机一致性指标RI和判断矩阵的阶数有关,一般情况下,矩阵阶数越大,则出现一致性随机偏离的可能性也越大。如表B.2所示,对于含有7个元素的区块链系统质量模型,成对比较矩阵为7阶,RI.132。17\nDB52/T1467—2019表B.2随机一致性指标RIn12345678RI000.580.901.121.241.321.41d)一致性比率CR计算一致性对比率CI,当CI.010时,成对比较矩阵A的一致性可以接受,则矩阵A通RI过一致性检验,其中A的特征向量可以作为权重向量,否则需要重新构建成对比较矩阵。e)计算系统总分根据附录A可以计算得到7元素各项得分,再根据可得到7元素的权重,两两相乘再相加即可得到系统总分。当需要从多个系统中选出最优系统时,比较各个系统的总分,总分最高的系统即为最优系统。18\nDB52/T1467—2019CC附录C(资料性附录)计算用例C.1系统测评计算用例如表C.4所示,本标准将以区块链系统A、B、C为例,给出系统测评和选型的计算用例。nXXi(i=1,2,3,...n)..........................(C.1)i1nXiWijXij(i=1,2,3,...n;j=1,2,3,...n).............(C.2)i1,j1式中:X——为系统测评总得分,X0,7;Xi——为评价要素得分,X0,1;Xij——为子评价要素得分,Xij0,1;nWij——为子评价要素权重,Wij0,1,Wij1,i=1,2,3,...n。j1根据系统测评所得总分,对其进行评级如下:[6-7]分:优秀;[5-6)分:良好;[4-5)分:中等;[3-4)分:一般;[0-3)分:差。表C.1区块链系统A测评表评价要素要素得分评价子要素子要素权重子要素得分用户层功能0.100.78服务层功能0.200.56功能0.71核心层功能0.300.80基础层功能0.400.70时间特性0.500.90性能0.89容量0.500.88成熟性0.300.20可用性0.300.90可靠性0.58容错性0.300.60易恢复性0.100.7019\nDB52/T1467—2019表C.1(续)评价要素要素得分评价子要素子要素权重子要素得分保密性0.200.90完整性0.200.90安全性0.82抗抵赖性0.200.80可追溯性0.200.80真实性0.200.70模块化0.200.40可重用性0.200.90可维护性0.73易分析性0.200.78易修改性0.200.65易测试性0.200.91适应性0.330.88可移植性0.65易安装性0.330.90易替换性0.330.20数据一致性0.500.21互操作性0.29可协同性0.500.37测评总分4.67注:该区块链系统A的测评总分为4.67,系统A的测评为中等等级。C.2系统选型计算用例企业需要选取政用区块链系统。首先依据选型原则与自身需求,对市面上现存的区块链系统进行筛选,将选择范围缩小为A、B、C三个区块链系统。并对3个区块链系统A、B、C按照质量模型中的功能、性能、可靠性、安全性、可维护性、可移植性和互操作性进行选择。a)系统测评:对A、B、C三个区块链系统进行系统测评,得分如表C.2所示。表C.2区块链系统B、C测评得分表评价要素系统A要素得分系统B要素得分系统C要素得分功能0.710.970.90性能0.890.110.71可靠性0.580.820.88安全性0.820.660.85可维护性0.730.610.63可移植性0.650.600.75互操作性0.290.890.82测评总分4.674.665.54b)构造要素成对比较矩阵按照区块链系统政用、民用、商用不同场景,邀请专家将7个要素两两比较,并将不同专家对每对要素的比较值求平均值,从而得到要素成对比较矩阵。20\nDB52/T1467—2019表C.3要素成对比较矩阵c)计算最大特征值与一致性证明通过计算得出最大特征值.738T特征向量.019.0,08.0,57.0,73.0,31.0,06.0,05.7387CI.006371随机一致性值RI.134CR.0063一致性比CI.00471.0,满足一致性。RI.134表C.4系统选型得分表评价要素选型权重系统A要素得分系统B要素得分系统C要素得分功能0.190.710.970.90性能0.080.890.110.71可靠性0.570.580.820.88安全性0.730.820.660.85可维护性0.310.730.610.63可移植性0.060.650.600.75互操作性0.050.290.890.82选型总分1.41511.31891.6132如表C.4所示,系统A得分为1.4151,系统B得分为1.3189,系统C得分为1.6132。推荐选择得分较高的区块链系统,即区块链系统C。21\nDB52/T1467—2019参考文献[1]GB/T5271.18-2018信息技术词汇第18部分:分布式数据处理.[2]GB/T34960.3-2017信息技术服务治理第3部分:绩效评价.[3]CBD-Forum-001-2017区块链参考架构.[4]《贵阳区块链发展和应用》贵阳市人民政府新闻办公室2016-06._________________________________22\n\nDB52/T1467-2019