区块链系统评估方式1.0日本经济产业省(METI)其下属商务信息政策局制定调查背景•区块链技术作为新型技术用于交易的虚拟货币,例如,比特币。区块链技术和传统系统相比最大特点就是防篡改,它是一种无故障低成本的系统。因此,该技术适用于各种各样领域。•跟现有的系统进行对比,目前还没有一套完整的评估方式或者标准来评估该技术特征。这让大众对于区块链技术产生了焦虑、误解和不合理的幻想,并极有可能会导致人们对于该技术的抵触区块链特征•每一节点都拥有同样的交易历史,这样单个节点的故障就不会存在,就不会有“实际上的故障停机”•交易记录成功存储进区块当中,这些区块会被添加进已有的区块链条当中。因此就不能被篡改•区块链系统能够凭借分布式节点、共识算法等技术手段,以比现有系统更低的成本进行开发(业务开发)区块链价值评估•用于区块链系统(如共ISO/IEC已经为传统IT系统打造了评估模型,而且企业/组织在引入新系统时都会加以运用。•但是,这个模型并不能直接识算法和节点数量)。•此类系统的性能难以由单一的价值标准来评估,因为它拥有各种独特的折衷特点,如共识算法和节点数量;•而日本国内外还没有关于此类系统的质量评估的谈论。•此类系统的性能可以由某个单个设备进行评估,因为一般情况下,性能变化是由于受该设备的计算机硬件性能影响或者其数量;•关于此类系统质量和相关软件的讨论一直在不断进步,这就形成了ISO/IEC25000(SQuaRE)这样的系列国际标准。•首个区块链评测标准已经建立,考虑到现有系统的可比性、全面性;并通过多项价值去评估评估采用的策略•评估策略采用以下方式,区块链作为一个基础系统,参考国内、国际相关文献结合实际使用情况并在专家*研究委员会讨论。*附录探讨项评估方式采用的策略评估采用的目的1、区块链特点2、通过假设去覆盖所有项(当假设都成立的情况下去评估中心化系统和区块链系统)评估对象对比对象1、常规系统和区块链系统比较2、多个区块链系统比较范围(细节1)1、使用区块链整个系统(区块链平台+相关子系统)业务系统变化1、全新的系统、业务需求改变的系统都是本研究范围之内,因为没有传统的系统相比较。2、轻微的业务系统改造仍然在范围之内平台分类(细节②)1、所有平台类型都在评估范围内,平台分类(公共/联盟/私有)或共识算法2、评价点要注意每一个模式中指定的特性用例覆盖/全面性1、覆盖所有的需求项,注意不同的需求需要不一样的测试用例覆盖成分项索引方法(细节③)1、所有的基础区块链项的质量都来自ISO/IEC25010质量,维护运营参考IPA模型。2、成本评估表由系统厂商直接确认的成本项目(≒系统用户价格)3、要详细说明没有指定的评估要点评估项研究①(评估范围)•本评估范围的范围是整个系统(区块链平台+相关子系统)•评估系统的功能和性能选择的测试场景用例(由系统供应商的和投资决策的系统用户评估)很重要。评估范围示意图评估项研究②(平台分类)•联盟链、公有链、私有链使用方面是不一样的,根据用户身份在不同的链中而不同和自我的特征出发。评估系统时都要考虑这些特有的模式。•对于每个评估项,都要描述由于这些差异而引起的评估点。通过下面典型案例进行各链典型分析公有链联盟链私有链治理模式无中心多中心单中心用户身份免费许可未指定,可能包含恶意成员指定,有可靠成员组成共识算法PoW等PBFT等(拜占庭容错)挖矿(多块确认耗电量大)立即块确认简单/快速/小用电量事务处理时间长(10min)短(几秒)使用案例虚拟货币等商业网络作为银行间转账,证券交易所等例子比特币、以太坊Ripple、超级账本评估项③(成分)•根据区块链技术特性,评价区块链质量项,参考ISO/IEC25010模型(系统和软件质量模型)•维护和操操作标准参考IPA(系统参考手册,4章“操作和维护,2005)•关于区块链客户价值,主要是由系统供应商决定项目成本评估形势如下根据区块链的特性增加或者删除评价项•区块链技术与特性专业评价项目•提供足够数量的备注和关键点软件质量模型,参考ISO/IEC25010系统维护质量标准,参考IPA模型成本视角•开发研究成本•实施•维护/操作区块链特性•参考专家研究委员会成员的讨论意见•参考针对专家的访谈调查•参考文献的研究基于现有标准的新评价标准与现有的系统可行性确保全面性区块链系统评价形势质量评价项系统维护评价项成本评价项【评价形式特征】1、可以很容易地与现有的系统相比,通过现有的评价标准的基础上的方法2、可以明确评估BC系统的关键点,例如系统特性,评价指标和评估方法评估形式④研究(考虑区块链的特性)•把写入块的账本来做区块链的特点价值评估•各评估项特点是公平交易下面是有独特的区块链例子几个记录存储在一个块中,并且它与现有的块加密签名分布式节点存储相同的账本历史记录•首先考虑,可用性和容错性高。•虽然区块链受节点结构、网络、一致性算法等因素的影响,但是交易不会受影响。“分叉”示意图分叉发生后,产生的块将会被拒绝。相关评估案例•防篡改性,块大小和确实时间及各种特性有关(可扩展性)•根据应用共识算法,分叉存在的可能性较大,但是分叉产生的快后就会被拒绝基于区块链系统1.0评估项--概述•根据区块链技术特性相关性,评估形式分32个评估项大类别中类别评估项质量性能效率吞吐量网络延时账页确认Blockconfirmation数据来源Datareference相互操作性Interoperability与现有系统相互操作性Interoperabilitywithexistingsystems与别的区块链系统相互操作性Interoperabilitywithotherblockchainsystems可扩展性(性能)吞吐量网络延时容量可扩展性节点数可靠性成熟度Maturity可利用性可靠性容错性可恢复性安全性保密性完整性不可否认性安全性可鉴别性可移植性适应性易替换性大类别中类别评估项操作/维护性可维护性&可操作性模块性(常指系统模块性)可重用性可分析性可变更性易测性大类别中类别评估项成本(Cost)研究和开发R&D(ResearchandDevelopment)区块链平台技术原理研究和开发(R&DofBlockchainplatformtechnicalelements)子系统研究和开发R&Dofsubsystems实施(商业化)Implementation(Commercialization)硬件成本(Hardwarecost)软件成本(Softwarecost)系统实施成本Systemimplementationcost可维护性&可操作性Maintenance&operation运营成本Operationalcost维护成本Maintenancecost区块链系统版本1.0评估项-质量(1/5)类型评估项概述区块链相关技术和特征评估项记录的点和评论性能效率吞吐量此特性表示在相对规定条件下使用的性能资源1、区块大小2、事务大小3、共识算法4、区块确认时间1、在定义好节点配置情况下,定义好网络环、共识算法等等2、确定吞吐量的定义。例如,“吞吐量是以事务定义还是以根据理论推算出来的性能”3、定义这个指标必须考虑别的评估项因素。例如“可扩展性-吞吐量”章节网络延时1、网络环境2、节点分布1、明确节点配置和网络配置的前提条件下2、明确网络延时定义。例如,“随机选取两节点和压力机之间的节点发送数据的时间,以单位●KB去统计。平均迭代值。”账页确认Blockconfirmation1、共识算法2、网络环境3、节点分布1、定义块确认时间(例如,从事务被抛出的时间,直到生成块的时间)2、阐明所用的共识算法的特征和特点,例如以如下方式区块可以被所有节点确认的情况下,为区块被完全确认所需的时间;在区块无法被所有节点确认的情况下,为区块被确认的概率为X%所需的时间。例如:系统使用POW作为共识算法,那么区块不能保证被所有节点确认。当区块高度为6的时候,它被节点确认的概率为X%。而且,这与区块中的节点数量无关。3、明确交易的情况下,使用共识算法还要参考其他评测项“可扩展性-吞吐量”数据来源Datareference1、节点分布2、网络环境3、块结构阐述节点配置和网络环境一定的情况下,确定块和交易的性能区块链系统版本1.0评估项-质量(2/5)类型评估项概述区块链相关技术和特征评估项记录的点和评论相互操作性(跨链)与现有系统相互操作性Interoperabilitywithexistingsystems两个多个系统之间的通过产品、组件去改变这些信息并使用交换信息1、数据结构2、API规范1、明确相互操作为前提2、阐明与现有系统的互操作性的感受与别的区块链系统相互操作性Interoperabilitywithotherblockchainsystems1、数据结构2、API规范3、共识算法1、明确相互操作为前提2、阐明与其他区块链系统的互操作性的感受可扩展性(性能)吞吐量性能提高程度1、区块大小2、交易大小3、共识算法4、账页确认时间1、通过改进方法和提高过程效率去提升吞吐量【评估说明】2、评估相关可靠性:例如:随着吞吐量的提高,数据增加更为重要,尤其是对整个节点存储所有数据,要是以站点的方式存储将减少,所以说可靠性是低的。如果将全部节点数减少火灾更少,又不能满足现有需求。3、评估共识算法:例如,“吞吐量增加应用高速共识算法。该算法需要经过管理的经过批准的节点,而这些节点上限实际操作中大约占30%。若果60%节点被挂起,系统功能就不稳定”网络延时1、节点分布2、网络环境3、P2P协议1、这个系统在一个分布式环境中运行,而性能很大程度上取决于网络环境2、通过显示网络延时来改进系统瓶颈,阐明网络延时是改进的关键点容量容量可扩展的程度1、区块大小2、交易大小3、共识算法4、块确认时间1、在一定的条件里去累积增加数据量,在一段时间内评估数据量增加随时间增加变得更加清晰。区块链系统版本1.0评估项-质量(3/5)类型评估项概述区块链相关技术和特征评估项记录的点和评论可扩展性节点数1、节点增加的程度1、数据容量2、共识算法1、评估每种类型节点数的上限(全节点、轻节点等)2、随着节点数量的增加,交易的数量可能会超过处理性能。为了避免这一问题,这时就要注意吞吐量性能和节点数量3、定义这个指标必须考虑别的评估项因素。例如“可伸缩性—吞吐量”章节可靠性成熟度(Maturity)1、正常运行时系统、产品、部分组件是否满足可靠性要求的程度1、现有实用技术(加密技术等)2、新开发技术(共识、算法等)。1、成熟度通常是根据实际的实现结果来评估的。然而,区块链技术的真正引入是非常少的,而且很难对它进行简单的评估。因此,区块链系统由现有技术(加密技术等)和新技术(包括一致算法),研发以提高性能和功能(吞吐量等),成熟的系统结果实际操作结果,并不以个别技术特征的操作的结果类似的系统,操作结果应该和测试环境类似,等等。1、成熟度和经营成果作为一个实际系统利用区块链技术可利用性1、系统、产品或组件在使用时可操作和可访问的程度。单点故障1、评估存在单点故障(SPOF)节点。2、在没有单节点的情况下,要特别说明断开或其他故障导致无效节点数量大致增加,这些故障会影响系统的可靠性共识算法1、阐明获得正确共识的条件(节点数等)。2、明确共识的条件不会功能,如一个无效的状态造成的攻击(51%)算法和共识达成共识禁用状态(PBFT断开与三分之一或更多的节点)。区块链系统版本1.0评估项-质量(4/5)类型评估项概述区块链相关技术和特征评估项记录的点和评论可靠性容错性一个系统、产品或组件在硬件或软件故障的情况下按计划运行的程度。节点故障的容错能力网络故障与网络攻击容错能力1、明确正确的操作定义2、明确正常操作的节点条件和网络条件3、网络产生硬叉后,明确主链确认方法可恢复性在中断或故障发生时,产品或系统可以恢复直接受影响的数据,并重新建立系统所需的状态。节点故障的可恢复性(恢复方法和时间,等等)1、明确网络环境和数据量的先决条件。安全性保密性产品或