基于区块链的科学数据标识技术创新应用模式
2020-01-15王姝晏敏刘佳周启惠郭志斌王雅哲周园春
王姝,晏敏,刘佳,周启惠,郭志斌,王雅哲*,周园春*
1.中国科学院计算机网络信息中心,北京 100190 2.中国科学院信息工程研究所,北京 100093
引言
科学数据是国家科技创新和经济社会发展的重要基础性战略资源,国家战略层面大力推进数据开放共享。2018年2月,科技部、财政部联合印发《国家科技资源共享服务平台管理办法》,以推动科技资源向社会开放共享。2018年3月,国务院办公厅正式印发《科学数据管理办法》,旨在加强和规范科学数据管理,保障科学数据安全,提高开放共享水平,更好支撑国家科技创新、经济社会发展和国家安全。数据的开放共享成为必然,而数据标识则是数据开放共享的重要抓手。
在科学数据需求日益旺盛、科学数据共享蓬勃发展的今天,利用标识技术对科学数据进行标识具有重大的意义。科学数据标识技术将为科学数据提供互联网环境下访问的便利途径,可以更加方便地对科学研究数据进行认可、引用、验证和重新利用。然而目前数据标识体系众多,标识对象按照表现形式可分为物理实体(商品、图书、设备等)和虚拟实体(图片、声音、文件、数据、软件等)。标识体系之间由于应用领域的不同,具有异构性,如编码数据格式、载体方式、应用领域、范围、普及程度、标识颗粒度、共享方式、系统、接口、平台等均不相同。这些标识体系特点不同,独立在本应用领域发展,但目前科学数据共享开放大趋势下,数据之间需要兼容互通,跨行业、跨平台获取科学数据存在数据互通的技术壁垒[1]。
本文面向科学数据共享中的核心问题,突破数据共享过程中不同领域数据互通、数据安全、数据引用、数据关联等难题,融合科学数据标识服务平台、科学数据中心、期刊等多方实体参与,基于超级账本技术,构建不同数据标识体系的逻辑链,提出基于区块链的科学数据标识技术创新应用模式。通过构建基于不同标识体系的逻辑链,将科学数据标识服务平台、科学数据中心、期刊通过一个逻辑链实现标识前缀信息的注册、科学数据标识注册,科学数据引用关联等。
通过科学数据标识与区块链技术相结合,本文提出了新的应用模式,具有如下优势:
(1)标识信息的可信存储,区块链技术为科学数据采集、出版、发布等海量多源标识信息提供可信存储;
(2)异构标识的可信互通,采用不同标识体系的数据中心将加入不同逻辑链,通过联盟链技术实现不同标识体系之间的互联互通;
(3)标识关联的可信服务,通过构建标识之间的可信关联关系,为构建科学数据全生命周期关键节点信息凭证系统提供基础服务。
总之,在探索这一创新应用模式的同时,我们构建了面向科学数据引用统计应用的标识区块链平台,联合国家微生物科学数据中心、国家空间科学数据中心、国家基础学科公共科学数据中心、科学数据存储库和《中国科学数据》等多家数据中心和期刊平台,共同推进基于区块链的科学数据标识应用的实施落地。
1 科学数据标识体系
科学数据是对自然、社会等的客观现象(Evidence of phenomena)进行刻画、表征的实体(Entities),是通过实验、测量、观测、调查和计算等方式进行采集,以科学证据形式存在的客观事实(Facts)。科学数据包括数字化观测、科学监测等来自仪器设备或传感器的数据,计算模拟与模型输出的数据,对情景或现象的描述,对行为的观测或定性描述,用于管理或者商业目的统计数据等。
欧美等发达国家先后在国家层面制定了明确的政策以推动科学数据管理与开放共享,并且已支持形成了一批国家级的科学数据中心或高水平数据库,利用它们持续汇聚和整合本国乃至全球科学数据资源,并向社会进行开放共享。
当前我国正处于实施创新驱动发展战略和建设科技强国的关键时期,加强和规范科学数据管理是提高我国科技创新能力建设和保障国家安全的重要方式和手段。因此,在国家层面发布加强和规范科学数据管理的政策制度,推动科学数据开放共享,对于服务科技创新、提升政府公共服务能力和发展共享经济等方面具有重要意义。
目前,国际主流科学数据标识体系包括Handle、OID(Object Identifier)[2]、CSTR(China Science and Technology Resource)[3]等,下面重点介绍Handle标识体系中主要面向科学数据应用的DOI(Digital Object Identifier)[4-5]和 PID(Persistent Identifier)[6],以及面向科学数据标识的国家标准CSTR。通过详细地分析目前国内外科学数据标识技术的发展情况,对比主流科学标识体系的特点、应用领域等方面内容,总结出数据共享对科学数据标识技术的需求。
图1 不同标识体系共存Fig.1 Different identification systems coexist
1.1 DOI
DOI是Handle系统最著名的“品牌”,使用Handle 10根。目前,DOI系统在全球有7个注册中心(Registration Agency),超过300个下属机构和超过1000万的注册数字资源。在数字期刊、数字对象、电子图书、数据管理、数字化保存、图像处理和电子商务中的知识产权保护等领域有十分广泛的应用。
DOI编码由两部分部件组成:前缀与后缀,并用斜线号(/)分开。所有的DOI前缀以“10”开头,以区别于其他使用Handle系统的标识符应用。点分后的四位数字是注册机构代码,现用四位数字标识(可以包含数字、字母及符号)。DOI后缀由出版机构自行分配,但必须保证在同一前缀范围内的每一个后缀具有唯一性。
表1 不同标识体系的特点Table 1 Characteristics of different identification systems
1.2 PID
PID是基于Handle系统为欧洲科学研究领域提供科学数据的永久标识(PID)服务,由EUDAT(European Data Infrastructure)项目成立的ePIC(Persistent Identifier Consortium for eResearch)负责Handle 21的命名空间,所有的PID前缀以“21”开头,主要用于科学数据交换发布和引用。
ePIC的任务是建立和维护一个可靠的联合服务,用于注册、存储和解析基于Handle的PID。ePIC能够为合作伙伴数据中心存储的数据对象和集合注册任意数量的PID。在欧洲,ePIC将开放科学/研究数据,科研工作者可在可信的环境中保存、发现、访问和处理数据。同时ePIC作为欧盟数据中心协作数据基础设施的一部分,将众多通用和特定领域数据库的丰富数据永久存储。
1.3 CSTR
GB/T 32843-2016《科技资源标识》规定了科技资源标识的对象、标识符的结构与编写规则、科技资源标识的管理与应用,以及科技资源标识元数据注册表单,能指导各类科技资源的统一标识以及科技资源的编目、注册、发布、查询、维护和管理。科技资源对象包括大型科学仪器设备、研究实验基地、自然科技资源、科学数据、科技图书文献、科技成果以及科普资源等。CSTR标识编码结构如图2所示。
图2 CSTR标识编码结构Fig.2 CSTR identification numbering structure
目前,用于科学数据标识应用的不同标识体系总结如表1,每种标识体系均有相应的标识应用系统支撑,应用领域各不相同。
为解决科学数据开放共享的同时,还能保障数据的自主可控安全,亟需构建一套基于区块链技术可控的科学数据标识创新应用模式,采用区块链技术保证数据标识的安全性,同时支持国际主流标识和国家标识标准的注册、分配和查询,推动核心数据国内存储、开放共享,国际互通,增强我国在数据标识领域的话语权和国际影响力。
2 区块链(BaaS)平台概述
2.1 平台简介
区块链概念自2008年在比特币白皮书中被提出以来,引起全世界广泛关注,采用去中心化基础架构与分布式存储共识技术。从记账的角度出发,区块链是一种分布式账本技术或账本系统;从协议的角度出发,区块链是一种解决数据信任问题的互联网协议;从经济学的角度出发,区块链是一个提升合作效率的价值互联网[7-8]。近年来,区块链逐渐从加密数字货币演变为一种提供可信区块链即服务平台(BaaS,Blockchain as a service),各行各业也都在积极探索“区块链+”行业应用模式,通过将区块链技术与云计算深度结合,将底层计算资源、区块链功能服务、业务层对接通过BaaS平台统一集中化管理,基于虚拟化容器等云计算技术搭建BaaS平台,实现可用和动态扩展的区块链网络底层框架,具备支持多租户场景、共享存储、日志监控等能力,大幅降低区块链使用门槛,解决传统区块链底层系统部署工作量复杂,资源配置繁琐,复用性差,时间和技术成本高等问题[9]。
根据开放程度,区块链可划分为公有链和联盟链,公有链可以支持任何人自由加入,而联盟链只允许拥有特定权限的个人或组织才可以加入。相比传统的中心化技术架构,联盟链能够更好地解决企业间因信息流控制、隐私保护、数据共享等方面的限制,导致多方协作不能高效率、低成本完成的问题。
Hyperledger项目是一个旨在推动区块链跨行业应用的开源项目,在2015年12 月由Linux 基金会主导发起,成员包括金融、银行、物联网、供应链、制造和科技行业的多个知名企业,其中最著名的为Hyperledger Fabric联盟链。Fabric和以太坊类似,是为企业级区块链网络构建的支撑平台,相较于其他的区块链平台具备一定优势:首先,区块链网络参与者都有已知的身份,不同节点之间的信任验证成本较低,因此网络的可伸缩性和性能得到了优化;其次,Fabric支持在区块链网络中划分逻辑链,数据仅被允许传播给需要知道的相关方;再次,Fabric支持丰富的分布式账本查询方式,同时能够支持可插拔的模块化组件,如加密组件、身份管理组件等。
目前国内很多互联网企业也和Hyperledger Fabric合作推出BaaS平台,同时应用在供应链金融、积分交易平台、数字版权、跨境清算等领域。通过使用分布式账本技术,实现虚拟和数字形式的价值交换,如资金转移、资产交易、能源交易、产品溯源等,实现安全、高效、低成本地进行追踪和交易[10-11]。
2.2 技术架构
本文将采用Fabric联盟链作为科学数据标识Baas平台的技术选型,将区块链业务和科学数据标识融入平台,其技术架构包括区块链底层Fabric框架,底层弹性存储、数据库、容器及集群技术,服务层管理技术包括智能合约管理、安全管理、运营监控、查询引擎、区块链开发SDK(Software Development Kit)等一系列核心服务以及提供区块链读写、合约管理及访问控制类API(Application Program Interface),如图3所示。通过API可以对接上层标识平台、数据中心及期刊等应用系统接口进行标识的读写及引用。
图3 科学数据标识Baas平台Fig.3 Scientific data identification Baas platform
2.3 物理链
物理链即为区块链网络中的成员建立的一个区块链网络联盟,联盟中各个成员会启动各自的物理节点包括CA及peer节点,同时会共用order节点来进行共识。CA节点的功能是为Fabric网络中的成员提供基于数字证书的身份信息。Peer节点是各个联盟成员实际实现账本存储的节点,每个组织可以包含一个或多个peer节点。其中peer节点包含背书节点、记账节点、主节点几种类型。背书指的是特定的peer节点执行一系列的交易并验证其有效性合法性,并向生成交易提案的成员返回背书成功或失败响应的过程。背书节点主要功能是对客户端发送的交易提案进行签名背书。背书节点是动态的角色,在链码实例化时设置背书策略,指定哪些节点对交易背书才有效。只有在背书时是背书节点,其他时刻是普通节点。主节点负责与orderer排序节点通信,获取区块及在本组织进行同步。记账节点负责对区块及区块交易进行验证,验证通过后将区块写入账本中。Orderer节点主要负责收集并排序接收到的保护背书签名的交易,并将交易按序生成区块进行广播。Order节点主要负责保证同一个链上的节点接收到相同的消息,并且有相同的逻辑顺序。
2.4 逻辑链
逻辑链是在区块链网络中两个或多个特定成员建立的子链,用于保护子链成员之间数据交易的机密性,限制相关交易的传播范围。逻辑链通常由“一份账本+多个物理链成员”的结构组成,逻辑链上的成员通过安装链码可以进行一个简单的交易秩序。一个逻辑链典型的交易流程如图4所示。
图4 逻辑链典型交易流程Fig.4 Typical transaction process of logic chain
3 基于BaaS的科学数据标识技术创新应用模式
在基于区块链的科学数据标识技术创新应用中,包括DataPid数据标识服务平台(简称“标识平台”)、科学数据中心(简称“数据中心”)、期刊平台三个角色,如图5所示。目前加入联盟链的数据中心有国家微生物科学数据中心、国家空间科学数据中心、国家基础学科公共科学数据中心、科学数据存储库,期刊平台目前有《中国科学数据》。他们构建了区块链上的逻辑链,共同维护着数据中心标识前缀信息、科学数据标识信息和文章对数据集的引用信息。
图5 基于BaaS的科学数据标识应用角色Fig.5 BaaS-based application role of scientific data identification
标识平台为科学数据中心提供标识注册、标识解析、元数据检索、统计、引用等服务。标识平台为科学领域开放共享的数据集提供PID数据标识服务,数据中心通过向标识平台注册PID标识公开发布数据集,实现对共享数据集的定位与寻址,用户可以在标识平台上查询PID,通过标识解析服务获取公开的数据集。期刊平台为科研工作人员提供论文的发布平台,通过建立标识之间的关联关系,提供论文和所使用数据集的引用信息服务。
3.1 科学数据标识联盟链业务流程
联盟链业务流程可分为物理链创建、逻辑链创建、合约安装运行、上层应用调用四个环节,具体展开如下。
3.1.1 物理链创建
创建物理链首先需要定义数据物理链相关信息,选择运行的主机节点,选择Peer的个数(1-2个),共识类型,同时可以选择邀请数据中心和期刊平台加入本物理链,并可以约束这两个组织的逻辑链创建权限。创建成功后,标识平台、数据中心以及期刊平台将分别启动各自的CA及Peer节点,等待逻辑链的创建及合约的安装。
图6 科学数据物理链Fig.6 Physical chain of scientific data
3.1.2 逻辑链创建
基于区块链的可信标识+数据引用服务主要包括以下三个应用场景:
(1)数据中心、期刊申请标识前缀;
(2)数据中心、期刊注册标识;
(3)期刊引用数据中心数据集。
这三个过程中分别会涉及到:
(1)标识平台将数据中心及期刊平台的标识前缀上链;
(2)数据中心将注册的数据集标识上链;
(3)期刊平台将论文标识信息及该论文引用的数据集标识信息上链。
标识平台、数据中心及期刊平台存在着存证标识及数据集引用信息的访问需求,所以,在三者之间共建一条逻辑链。逻辑链创建需要先约定好逻辑链名称,描述并确定要邀请的成员及其权限。逻辑链创建成功后,可以在其之上创建智能合约进行数据的写入及访问。
图7 科学数据标识物理链Fig.7 Scientific data identifies physical chains
3.1.3 合约编写安装及实例化
逻辑链建成之后,标识平台或其他成员的管理员,可以登录到区块链平台进行合约的编写,并将合约上传到平台。平台的其他管理员可以选择将该合约安装在自己的节点上,作为背书候选节点,最后安装了本合约的成员可以进行实例化合约操作。
图8 合约编写安装及实例化流程Fig.8 Process of contract writing,installation and instantiation
3.1.4 合约调用
智能合约封装了与区块链账本直接交互的相关过程,被应用程序调用。为了实现完整运行在区块链之上的分布式应用,数据中心、标识平台及期刊平台需要开发相应的应用程序及SDK来远程调用智能合约进行账本的读写操作。SDK封装了一系列与区块链网络打交道的基本方法,包括发送交易、监听网络事件、查询区块和交易信息等,能够提高智能合约使用的效率。智能合约可以操作账本中的状态,这些状态往往记录着与业务相关的重要数据。同一个区块链网络可以部署多个智能合约,应用程序通过名称、版本号来指定具体调用哪个智能合约。
图9 智能合约调用过程Fig.9 Intelligent contract calling process
3.2 标识平台区块及存储设计
数据中心首先向标识平台申请标识前缀,提交数据中心名称、统一社会信用代码、联系人等信息,经标识平台审核同意后分配标识前缀。标识平台将授权后的标识前缀信息发布到联盟链上,具体写入信息如下:
数据中心标识前缀 数据中心名称 时间戳21.86116.7 国家空间科学数据中心 1572919810000
数据中心将已经注册到标识平台的前缀信息作为参数调用智能合约进行账本写入。在正式写入账本前,智能合约将验证标识平台的身份及权限信息,验证通过后在区块链账本记录数据中心前缀信息及其他相关信息。
图10 标识平台账本写入流程Fig.10 Identification platform book writing process
3.3 数据中心区块及存储设计
数据中心申请获得标识前缀之后,可在标识平台注册数据集标识,并提供数据集相关元数据信息。注册成功后通过标识可唯一定位寻址数据集,数据中心将数据集标识和数据集URL等信息发布到区块链上,具体写入信息如下:
数据集标识 数据集URL 时间戳21.86116.7/01.06.002 http://vsso.cssdc.ac.cn/dataSet/view?dsId=430中心 1572921325000
数据中心在标识平台成功注册数据集标识及其URL信息后,会调用智能合约尝试写入数据集标识+URL信息到账本,在正式写入账本前,智能合约将验证数据中心的身份及权限信息,同时在智能合约背书策略中调用标识平台http接口,验证标识是否是注册成功,标识与URL关联关系是否一致以及对数据中心前缀身份进行认证,目的防止有问题的标识信息上链。验证通过后成功背书,此时智能合约将数据集标识、数据集URL以及其他元数据成功写入账本。
图11 数据中心账本写入流程Fig.11 Data center book writing process
3.4 期刊平台区块及存储设计
期刊平台将出版的论文标识和论文引用的数据集标识信息发布到区块链上,具体写入信息如下:
论文标识 数据集标识 关联信息10.11922/csdata.2019.0013.zh 21.86101.1/csdata.2019.0013.zh Cited by
首先期刊平台将注册的论文标识和引用的数据集信息作为参数调用智能合约进行账本写入。在正式写入账本前,智能合约将验证期刊平台的身份及权限信息,验证通过后在区块链账本正式记录该信息。引用信息正式写入账本后,数据中心可以通过输入数据集标识作为参数调用智能合约查询引用该数据集的论文标识。
图12 期刊平台账本写入流程Fig.12 Journal platform book writing process
4 系统实现
通过BaaS平台开放的API接口调用区块链上的智能合约,完成业务处理过程数据和结果数据上链存储,防止数据篡改,保障数据生产者的权益。
4.1 BaaS平台智能合约接口设计
用户包括数据中心、标识平台及期刊平台,可共用使同一智能合约,并分别实现数据中心/期刊标识前缀写入、数据集标识写入及论文标识+引用数据集标识关联关系写入功能,因此在合约中定义如下函数:
prefix_submit函数:数据中心和期刊向标识平台申请前缀成功后,由标识平台调用写入前缀信息。
DataSetID_submit函数:数据中心注册的数据集标识+数据集URL写入区块链。
PaperIDquote_submit函数:期刊平台将论文标识信息和论文引用的数据集标识信息写入区块链。
另外还将实现引用数据集的论文数量查询,在合约中定义quote_query函数。
quote_query(datasetID)函数:通过输入要查询的数据集标识,作为智能合约的参数,查询所有引用该数据集的论文标识信息。
4.2 系统对接
对于区块链服务平台,智能合约操作相关接口使用最为广泛,平台提供基于HTTP/HTTPS 协议的API接口,让合约操作变得更简单、高效。为提高现有各个系统上链效率,封装服务接口API,通过智能合约SDK简化复杂调用,方便系统与区块链平台进行集成。各个系统与区块链对接方式如图13所示。
数据中心、标识平台和期刊平台通过SDK调用智能合约提供的API接口,完成业务系统过程和结果数据上链,前缀、标识及引用信息在链上存储,唯一并且防止篡改,从而达到标识的可信性及数据引用的准确性,为保障智能合约API服务的高可用,可通过负载均衡技术部署多个API服务实例实现。
为保障接口服务的安全,通过身份令牌token防止CSRF攻击,调用接口参数签名sign防止数据在传输过程中篡改,保证接口调用的时效性增加时间戳timestamp防止Dos攻击,通过设置业务系统IP地址的黑/白名单防止非法访问。
图13 各个系统与区块链对接方式Fig.13 Interworking mode between each system and block chain
4.3 系统验证
4.3.1 数据中心注册
数据中心通过标识服务平台申请标识前缀(包括PID及CSTR前缀),录入数据中心名称、服务网站URL以及学科分类,标识服务平台审核申请信息真实性后分配标识前缀。标识前缀申请如图14所示。
图14 标识前缀申请界面Fig.14 Identification prefix application interface
标识平台管理员完成分配前缀操作,分配前缀包括Handle前缀及CSTR前缀,业务处理完成后调用智能合约SDK,注册成功的标识前缀信息写到链上。链上存储数据中心的名称、Handle前缀、CSTR前缀以及注册成功的时间戳信息。标识前缀注册上链如图15所示。
图15 标识前缀上链界面Fig.15 Identification prefix uplink interface
4.3.2 科学数据注册
数据集标识通过数据中心存储库进行注册,用户填写元数据并上传实体数据文件后,存储库管理员进行审核,审核通过后进行发布操作,注册成功的标识信息写到链上。链上存储数据中心ID、数据集标识、数据集发布URL以及注册成功的时间戳信息。数据标识上链如图16所示.
图16 数据标识上链界面Fig.16 Data identification uplink interface
4.3.3 科学数据引用注册
数据集引用信息通过期刊平台进行注册,用户发布论文及其元数据信息时选择期刊可信存储库发布关联数据集或通过已有标识数据集进行关联,期刊管理员审核后,论文引用的数据集标识信息写到链上,链上存储论文标识、引用数据集标识(一篇论文可引用多个数据集)以及时间戳信息。数据引用信息上链如图17所示。
图17 数据引用信息上链界面Fig.17 Data reference information uplink interface
4.3.4 科学数据引用查询
标识服务平台科学数据引用查询为数据集作者提供统一的入口检索数据集的引用情况,平台支持数据集多标识检索(Handle与CSTR),Top n 检索等功能,科学数据引用信息上链确保数据集作者能够通过研究数据的适当引用获得分享信誉并成为提高科研数据可用性的关键驱动因素。
图18 科学数据引用查询示例Fig.18 Example of scientific data reference queries
5 展望与下一步工作
本文提出了一种基于区块链的科学数据标识平台,在介绍平台架构的同时,介绍了平台搭建过程中使用的数据标识注册平台DataPid,信链BaaS平台,标识区块链智能合约函数,标识认证API等,并给出相关关键技术及平台在科学数据引用统计、工业互联网标识解析等项目中的应用。标识区块链平台及应用在为相关领域构建可信存储系统的同时,为海量多源跨域科学数据提供了可信、相互关联的智能检索服务。标识区块链平台研究的关键技术中的标识解析、区块存储、节点动态管理,及基于此研发的工具平台可应用于其他领域,而构建标识区块链的逻辑架构已具有通用性,因此,在下一步工作中,将尝试探索标识区块链平台在科研设备仪器管理、健康数据可信共享的推广应用,并将继续探索基于标识区块链的数据处理和关联方法,以提高数据关系挖掘能力,推动标识区块链平台成为科研诚信的权威支撑平台[12]。
致谢
衷心感谢国家微生物科学数据中心、国家空间科学数据中心、国家基础学科公共科学数据中心、科学数据存储库在本文所述区块链应用实现上给予的帮助。
利益冲突声明
所有作者声明不存在利益冲突关系。