相里朋
(工业和信息化部电子第五研究所,广州 510610)
当前,世界经济正处于新旧动能转换时期,而数字经济发展正成为全球经济增长的新引擎。区块链技术作为数字经济的重要技术,正以前所未有的速度向前发展,科技成果将快速融入人类的生产、生活之中,对人类社会的进步与发展产生重要且深远的影响,并将成为新经济浪潮的重要推动力。区块链作为分布式数据存储、点对点传输、共识机制、加密算法等技术的集成应用,近年来已成为联合国、国际货币基金组织等国际组织以及许多国家政府研究讨论的热点,多个组织和国家先后发布了有关区块链的系列报告,探索区块链技术及其应用,产业界也纷纷加大投入力度,其大规模应用将为云计算、大数据、移动互联网等新一代信息技术的发展带来新的机遇,有能力引发新一轮的技术创新和产业变革。
虽然,区块链具有颠覆现有技术的能力,已引起国内外众多行业和龙头企业侧目,纷纷抢占区块链发展的制高点。然而,区块链正处于探索阶段,产品研发、应用推广、标准研制、测试评价等工作应同步推进。其作为分布式数据存储、点对点传输、共识机制、加密算法等信息技术的集成应用,最终的载体仍然是基于区块链技术研制的各类区块链产品或系统。对于区块链产品而言,产品技术特性都是无法回避的关键问题,也是其影响相关应用和行业发展的重要因素。
依据工业和信息化部发布的《中国区块链技术和应用发展白皮书》中指出,典型的区块链技术架构包括通信、存储、安全机制、共识机制、智能合约等方面。如图1所示:
图1 典型区块链技术架构
核心技术组件包括区块链产品所依赖的基础组件、协议和算法,进一步细分为通信、存储、安全机制、共识机制等4层结构。
①通信:区块链通常采用P2P技术来组织各个网络节点,每个节点通过多播实现路由、新节点识别和数据传播等功能。
②存储:区块链数据在运行期以块链式数据结构存储在内存中,最终会持久化存储到数据库中。对于较大的文件,也可存储在链外的文件系统里,同时将摘要(数字指纹)保存到链上用以自证。
③安全机制:区块链产品通过多种密码学原理进行数据加密及隐私保护。对于公有链或其他涉及到金融应用的区块链产品而言,高强度高可靠的安全算法是基本要求,需要达到国密级别,同时在效率上需要具备一定的优势。
④共识机制:是区块链产品中各个节点达成一致的策略和方法,应根据系统类型及应用场景的不同灵活选取。
核心应用组件是在核心技术组件之上,提供了针对区块链特有应用场景的功能,允许通过使用编程的方式发行数字资产,也可以通过配套的脚本语言编写智能合约,灵活操作链上资产。通过激励机制维系区块链产品安全稳定运行。对于联盟链和专有链,还需要有配套的成员管理功能。
基于上述区块链产品技术架构,为辨识区块链产品技术特性的目的,本测评指标拟从以下方面进行测评指标设计,包括分布式账本、网络结构、密码学应用、共识机制、智能合约和跨链机制等方面。
分布式账本测评指标包括头哈希、父哈希、时间戳、默克尔根和分布式存储。具体如表1所示:
表1 分布式账本测评指标
网络结构测评指标包括点对点组网、传播机制、节点新增和节点退出。具体如表2所示:
表2 网络结构测评指标
密码学应用测评指标包括哈希散列方式、数字签名/验签、私钥保护、国密算法和CA认证。具体如表3所示:
表3 密码学应用测评指标
共识机制测评指标包括共识过程的可终止性、可共识性和合法性。具体如表4所示:
表4 共识机制测评指标
智能合约测评指标包括合约语言、触发方式和可终止性。具体如表5所示。
跨链机制测评指标包括跨链资产交易和跨链智能合约。具体如表6所示。
表5 智能合约测评指标
表6 跨链机制测评指标
本实践采用分布式账本、网络结构、密码学应用、共识机制、智能合约以及跨链机制等方面,共36项测评指标,对区块链产品A、B、C和D进行测试。测评结果表明,区块链产品均具有如下基本特性:
①采用分布式账本结构(数据结构包括头哈希、父哈希、时间戳、默克尔根等结构),数据存储在每个区块链节点上;
②网络结构采用P2P组网,以广播方式实现各节点之间通信;
③支持散列算法计算区块哈希或交易哈希,支持非对称加密算法完成数字签名/验签操作;
④除C未提供共识机制源代码,无法确认其共识实现机理外,其余均支持基于PBFT或POW的共识机制,实现了全网账户数据一致性和正确性。
然而,区块链产品仍存在一些不足之处:
①均未使用国内许可的第三方CA,A和D虽自建CA,但不支持国密证书,其余不支持CA;
②在国密算法的使用方式上不统一,A和C使用国密SM3算法计算区块哈希和交易哈希,使用国密SM2算法进行签名/验签;D仅使用国密SM3算法计算交易哈希;C未使用国密算法;
③在智能合约方面不同程度存在问题,A和D不具备合约的条件触发和可终止性,B不支持条件触发,C未实现智能合约;
④在跨链机制方面均存在问题,B实现跨链机制但不成熟,存在单笔资金可重复消费的问题,且未对用户进行身份验证。其余均未实现跨链机制;
⑤均不具备区块链节点自动识别功能,需人工修改所有节点的配置文件进行维护。
区块链技术现已在政务、民生、商业、银行、保险等多领域、多场景探索应用,然而区块链技术正处于探索阶段,区块链产品测评指标的设计,有助于协助政府及行业辨识区块链产品的技术特性,保障区块链产品场景应用质量,助力区块链相关应用和行业发展。本文从质量保障的角度,基于典型的区块链技术架构,探讨区块链产品测评指标,提出分布式账本、网络结构、密码学应用、共识机制、智能合约及跨链机制等方面,共36项测评指标,并对区块链产品A、B、C和D进行测试,给出测评结果。但需指出的是,区块链产品测评指标研究是一项长期的、持续的、不断改进的工作,通过这次尝试和探索,有助于科研机构、行业企业及社会各界共同完善测评指标。
[1]工业和信息化部信息化和软件服务业司.中国区块链技术和应用发展白皮书,2016.10.
[2]赣州市人民政府.合规区块链指引,2017.
[3]朱岩,甘国华,邓迪.区块链关键技术中的安全性研究.信息安全研究,2016(12).
[4]朱烨东.区块链生态与国内商业化中存在的问题.清华金融评论,2017(5).
[5]田来锁.国务院两提区块链,“灰姑娘”何以变“公主”.电器工业,2017(2).