浅谈金融行业区块链标准 分析区块链如何实现标准化
9月22日下午,由中钞区块链技术研究院主办的公元小学X络谱沙龙举行了第七期线上活动——《金融行业区块链标准浅谈》。
过去的几年中,中钞一直积极跟踪国内外区块链标准进展,致力于推动金融行业区块链技术标准的制定,旨在配合监管单位推动金融行业区块链技术标准体系建设,提升我国在该领域的国际话语权和规则制定权。
2020年以来,中钞区块链技术研究院参编的《金融分布式账本技术安全规范》(JR/T0184-2020)和《区块链技术金融应用 评估规则》(JR/T 0193-2020)先后发布。这也是目前仅有的两份由中国人民银行发布的金融区块链标准。
在此沙龙上,参与上述两份标准的中钞区块链技术研究院测试部经理王暄带来主题演讲《区块链标准化浅谈》。他深入浅出讲述目前区块链标准化进展情况,并对络谱进行评估分析。以下内容根据直播整理。
区块链标准化简介
2016年,区块链经过了几年的发展,不管是应用领域还是规模都在高速发展,但同时也面临这些问题,包括性能、隐私、安全、监管、扩容等。在这样的大背景之下,区块链开始了标准化的历程。
国际标准化组织ISO在2016年成立了TC307分布式账本技术委员会,同年,国内区块链技术和产业发展论坛成立,并开始一系列区块链团体标准的实施计划。
所以,社会广泛认可2016年是区块链标准化的元年。
1.国外标准化进展
在标准化过程中,国内外各大标准化组织都积极参与区块链标准化的工作。
国际标准化组织ISO
较早开始区块链标准化工作的组织。TC307分布式账本技术委员会下设11个工作组,基本涵盖了区块链和分布式账本的各个方面,包含了基础技术、安全、应用、治理以及一些职能性工作组。目前已经发布和制定中的标准一共11份,其中2份已经发布,分别是:《区块链和分布式账本技术–隐私和个人身份信息保护注意事项》和《区块链和分布式账本技术–区块链中的智能合约和分布式账本技术系统的概述及其交互》。
IEEE电器和电子工程师协会
这是一个美国的电子技术与信息科学工程师的协会,也是世界上最大的非营利性专业技术学会。在2018年成立了IEEE区块链计划BLK,后续又陆续在多个下设的学会成立了区块链相关的标准委员会,到目前为止,一共有5个下属学会开展区块链相关的标准化工作,涉及7个委员会、35个工作小组、56个标准项目;项目涵盖了区块链技术、数字货币、金融应用、物联网应用、医疗应用、农业应用等多个领域。
ITU国际电信联盟
这是联合国的一个重要专门机构,也是联合国机构中历史最长的一个国际组织。在2017年5月成立分布式账本技术应用焦点组(FG DLT),开展区块链技术标准研究工作。于2019年8月1日成功交付所有8份技术指标和技术报告,正式完成使命。
2.国内标准化进展
国内区块链标准,可从国家标准、团体标准和行业标准三方面来看。
关于国家标准。我国国标很早开始开展区块链标准工作,目前有三项标准正在起草中,分别是:《信息技术 区块链和分布式账本技术 参考架构》、《信息技术 区块链和分布式记账技术 存证应用指南》、《信息技术 区块链和分布式记账技术 智能合约实施规范》。
国标针对区块链和分布式账本体系制定的系列标准计划,涵盖了22项相关标准,涉及术语、技术、应用等多个方面,相信在未来的几年会陆续有成果落地。
关于团体标准。我国的团体标准制定更具灵活性,使得区块链等新兴技术的标准化工作得以迅速推进。目前在全国标准公开平台上能查询到32项已发布的区块链团体标准,涉及17个团体标准组织。
关于行业标准。行业标准方面,金融区块链标准工作步伐较快,在今年陆续发布了《金融分布式账本技术安全规范》(JR/T0184-2020)和《区块链技术金融应用 评估规则》(JR/T 0193-2020)。这也可以看出金融行业对区块链的关注和重视。
金融行业标准介绍
目前,金融区块链标准有2项。其中《区块链技术金融应用 评估规则》(JR/T 0193-2020)于今年7月10日正式发布。
该标准由中国人民银行科技司提出并负责起草,涉及央行、金融机构、研究机构、科技公司等多家单位参编。内容主要分为总则、基本要求评估、性能评估、安全评估四个方面。
1.总则
在标准总则中,首先确定了使用的评估目标:区块链金融应用,并说明了评估的三个方面;其次,对评估的启动条件进行了约束;第三,提出了四种评估方法,包括“查验材料、查看系统、访谈人员、测试系统;第四,对评估发现的问题按严重程度进行了等级划分:分为严重性问题、一般性问题、建议性问题;第五,定义了三种判定结果。
该标准以评估规则为最小单位,进行具体内容论述。从单条评估规则来分析,会包含5个字段,序号标明了评估规则的编号,实现要求是对区块链金融应用提出的具体要求,评估方法对应总则中四种评估方法,结果判定说明了评估判定的基本步骤和期望结果,适用对象目前包含金融业务系统和科技产品。
2.基本要求评估
评估规则的第二个重要部分就是基本要求评估,主要从区块链必要的技术要素出发,提出了相关要求和评估方法。从区块链层次架构上总的来说可以分为两个层次:接口层和平台层。
2.1 接口层
接口层主要从对外交互的角度,定义了四种接口的相关要求和测评方法:
外部接口是指区块链访问外部数据参与共识过程的接口要求;
用户接口是指区块链提供给上层应用业务层调用的接口要求;
管理接口是指提供的区块链管理和运维所需的接口要求;
系统间接口是指不同区块链间的接口要求。
这部分共涉及18个评估子项。
2.2 平台层
平台层划分了9个区块链平台核心功能,共包含207个评估项。划分在一定程度的参照目前的ISO、国标等在制定的参考架构的一些思路。在具体内容上,也针对金融行业提出具体要求。
账本技术:账本用来保存区块链网络参与者之间的交易记录和状态数据,账本技术这块从数据存储方式、账本结构、数据可追溯、数据同步、数据归档、数据扩容、数据分片等维度指定了相应的评估规则。
共识协议:主要指区块链中各节点对区块链中交易或状态的验证、记录和修改等行为达成一致确认的方法;这一部分包括了共识算法、一致性、节点数量、共识、容错阈值、可靠性、可扩展性等几个方面。
智能合约:对区块链中经过共识的可执行代码的要求;标准中包含了虚拟机、编程语言、编译、正确性、可靠性、业务隔离性、生命周期管理、版本控制等方面的评估规则。
事件分发:对区块链系统实现事件通知的功能组件;也提出了完整性、一致性等要求。
状态管理:负责跟踪分布式账本中的状态信息;对各种区块链状态的查询要求。
成员管理:负责分布式账本中成员身份的验证、创建、更新、删除;在标准中从用户注册、用户身份识别、用户权限变更、用户角色授权、用户账户冻结和解冻、用户注销、用户信息查询、用户交易几个维度来制定规则。
密钥管理:主要为区块链提供所需的密码算法和相应功能;标准中密码管理规则包括:密钥生成、密钥存储、密钥更新、密钥使用、密钥销毁和归档,基本涉及密钥使用的全生命周期。
节点通讯:主要指区块链常用的点对点通讯协议;从组网方式、消息转发、节点加入、节点退出等方面来制定相应规则。
交易系统:负责接收到的交易数据添加到区块链账本中;标准制定了针对智能合约部署交易,智能合约调用交易、原生交易、交易原子性四个子项的评估规则。
3.性能评估
评估规则主要包括5个方面:
第一,交易性能。主要针对是是两种相对高频的交易类型:原生交易和智能合约调用交易,场景涉及最小软硬件条件下的吞吐率,最大吞吐率以及异常恢复后的性能情况。
第二,查询性能。针对不同的查询内容,场景涉及吞吐率的符合性以及异常恢复后的性能情况。
交易性能和查询性能也是区块链系统对外最直观的性能体现。
第三,同步性能。主要针对同步时消息的广播速率,消息的冗余率和广播时延,也分了三种场景,分别是无交易时,满负载时以及异常恢复后的同步性能
第四,部署效率。主要是评估的部署耗时,考虑场景包括:系统搭建、系统扩容,节点升级以及节点增删。
第五,数据增长率。主要评估的是数据增长率的峰值和平均值,分为无交易场景和满负载场景。
部署效率和数据增长率主要是为区块链金融应用运维提供数据依据。
4.安全评估
标准的第四部分是安全评估部分。由于行业特殊性,金融行业一直将安全风险视为重中之重。这也是评估规则标准中的关注重点,本部分基本与《金融分布式账本技术安全规范》(JR/T0184-2020)的内容对标。
通过《金融分布式账本技术安全规范》(JR/T0184-2020),提出的一套区块链安全架构解析如下:
4.1 核心安全:区块链最重要的组成部分,提出相关的安全要求
在安全架构中,将区块链核心模块的安全分为智能合约、账本数据、共识协议、节点通讯四个部分。
智能合约部分从一致性、正确性、可靠性、业务隔离、版本控制、访问控制、原子性、攻击防范、安全验证等9个方面制定了评估要求和评估方法;
账本数据部分则提出了账本完整性、保密性和一致性等7个方面的要求和方法;
共识协议也提出从一致性、容错性、可扩展、激励相容 等12个方面制定了评估规则;
节点通讯也制定了三方面的评估规则,包括:保密性、完整性、身份验证。
4.2 相关安全模块:对区块链中和安全相关的模块和组件提出要求
安全模块和功能,包括身份管理,隐私保护和密码算法。
身份管理从身份、账户、凭证、节点标识等方面提出了相应的评价规则;
隐私保护从隐私保护策略、技术和景观审计等方面提出了安全评估规则;
密码算法主要从算法的基本要求、使用算法达到的要求(也就是能够达到完整性、真实性、保密性等)给出了相应评估规则。
4.3 基础环境安全:提出区块链依赖的基础环境所需要满足的安全要求
基础环境安全又分为基础硬件和基础软件两部分。
基础硬件包括基本条件、物理安全和网络安全;主要涉及区块链使用的物理设备、部署环境等方面所需要涉及的安全要求;提出了3大类17项评估规则。
基础软件则是从基本条件、数据存储、时间同步、操作系统等10个方面,提出了26项评估规则。主要针对区块链依赖的其他软件或者软性的条件。
4.4 监管运维支撑:区块链监管运维相关的安全要求
总共包含3类18项。
监管支撑:为监管功能和特性提供技术支撑的要求。包括了:基本要求、系统监管、信息管理、事件处理、交易干预、合约监管 6个方面。
运维要求:对保证安全运行所需支持的功能的评估。
治理机制:对治理结构以及相关的管理机制的评估。
络谱评估分析
规则发布以来,中钞区块链技术研究院在研读标准的同时,也针对标准中的评估规则与络谱目前的实现进行评估分析。
1.账本技术:络谱使用的底层链brochain使用高性能存储引擎,使用Merkle Patricia Trie等逻辑存储结构,通过分区功能实现归档、扩容和分片功能,满足标准要求。
2.共识协议:采用定制的bft共识算法,通过保持出块频率和交易超时机制确保业务侧的交易确定性和终止性,并且满足3f+1个节点中不超过f个恶意节点。
3.智能合约:支持Solidity语言,兼容官方编译器。
4.节点通讯:通过系统合约的方式管理节点加入退出,黑白名单和SSL握手的方式满足节点身份验证要求,通过消息中的MAC、签名校验及数据加密保证了通讯的完整性和保密性。
5.事件分发:除自定义事件外,和区块链中间件结合提供合约部署、合约更新、交易事件、块事件。
6.密钥管理:满足国密标准的SM2非对称密码算法、SM3摘要算法、以及SM4分组密码算法要求;提供软硬件加密机及SDK方案帮助企业级用户进行密钥全生命周期管理和密码运算。
7.状态管理:提供了各种区块链状态数据的查询功能,便于业务系统访问和验证。
8.成员管理:通过身份合约提供身份全生命周期功能,支持隐私保护策略。
9.交易系统:支持智能合约部署和调用,但不支持代币等原生转账交易。
10.接口管理:提供了节点RPC和中间件RESTful两层的不同风格的用户接口和管理接口供不同场景和业务使用。
11.基础环境安全:通过信息系统安全等级保护评测。
12.隐私保护:区块链和应用层双层隐私策略。
13.监管支撑与运维:区块链和应用层多维度监控和报警机制,完善的运维规范和应急处理规则。
14.安全治理:制定了包括安全机制建设、实施、监督检查及更新的一套安全管理办法,并可通过有管理方权限进行节点管理和干预。