融入区块链即服务的科技服务数据共享机制

2021-05-08 07:13徐尚英陈冬林唐艺倩
科技管理研究 2021年6期
关键词:数据源合约区块

徐尚英,王 倩,陈冬林,唐艺倩

(1.武汉理工大学经济学院,湖北武汉 430070;2.湖北省电子商务大数据工程技术研究中心,湖北武汉 430070)

1 研究背景

大数据、云计算和区块链等技术的出现,大大提升了科技服务业的专业化水平,推动了新的科技服务创新模式的形成[1]。行业数据的整合与共享是科技服务业发展的基础,是支持科技服务业战略决策的首要条件[2]。对此,中国《“十三五”国家信息化规划》明确指出,要构建统一的数据共享交换平台,推进数据资源共享共用。

随着现代技术的高速发展,人们大规模地运用数字化手段来提升科技服务数据存储和处理效率。现有的科技服务数据共享平台为科技服务业工作带来便利的同时,仍然存在以下主要问题:(1)以服务机构为中心进行的数据管理使得科技服务业数据缺乏统一的规划、数据标准存在多样性,导致了多源异构数据的产生,给科技服务数据的整合带来了挑战[3-4];(2)不同的中心机构各自管理自己的数据,不可避免地会面临“信息孤岛”问题,缺乏安全有效的数据共享渠道,不利于数据的共享[5-6];(3)科技服务数据的真实性和原始性主要依赖于对系统中心或第三方实体的信任,一旦系统中心不再可信,数据的真实性和安全性便难以得到保障[7]。

由日本学者中本聪提出的区块链技术,作为大数据时代一种新兴的去中心化、安全可信的技术[8],已经受到国家、企业以及科研单位的高度重视。区块链技术在物联网、能源、政务以及供应链等众多领域已经有了较为成熟的应用。此外,还有企业将区块链作为服务提供给用户,由用户自己运营区块链,搭建出一种新型的云服务模式,即区块链即服务(blockchain as a service,BaaS)[9],既具有区块链技术去中心化的特点,也具有云计算技术所带来的巨大算力。BaaS 技术的出现,为科技服务大数据的整合共享以及数据流通提供了新的机遇,有望解决现有科技服务数据共享中普遍存在的信息壁垒、“信息孤岛”、安全性低和共享性差的问题。

本研究尝试将区块链即服务的相关思想融入到科技服务数据共享中,基于BaaS 以及智能合约、混合加密等技术提出以下设计思路:(1)科技服务业各机构之间构建数据联盟,并通过联盟链巩固联盟的联合性和稳定性,共同管理和维护区块链节点,在解决数据壁垒问题的同时保证数据的安全性;(2)通过科技服务数据平台,将区块链作为服务提供给用户和数据所有者,由数据所有者自己掌控数据,用户依据访问权限自动获取数据,并提供相应接口保证可扩展性;(3)通过数据源分类存储科技服务原始数据、数据区块存储索引数据,配合链上智能合约存储数据源条目索引文件,实现对科技服务数据的整合与存储;(4)采用数据分类结构和Merkle树对科技服务数据进行排序和分类,实现对数据的整合以及数据所有权的确定;(5)利用链上智能合约和数据区块中存储的文件索引号信息,实现对数据的有效检索和安全共享。

2 相关研究

科技服务业是第三产业(服务业)的范畴,具体是指服务者运用科学知识、技术以及信息数据为服务对象提供高效智力的服务[10]。科技服务数据的整合与共享是推动科技服务模式创新的基础。在大数据时代到来之前,针对传统科技服务数据的融通共享问题,出现了数据集成、数据交换等技术[11];在多源异构的科技服务数据整合与存储上,目前主要有数据仓库和云存储的方法[12];大数据、云计算、物联网等新技术正逐步应用到科技服务数据管理中,基于大数据分析和云计算等技术,可以解决数据分散各地的孤岛效应问题,有利于提升数据共享、管理和存储的效率。但以上技术和方法都受限于中心化的存储技术与管理方式,容易导致数据信任问题,数据链也未得到有效整合,数据在共享交互过程无法做到公开透明,且扩展性(吞吐量、运行速度、容量)不够强。例如云计算技术,虽然可以解决海量数据的存储和计算问题,但传统的云方案也需要中心化的云服务、大规模的服务器集群和网络设备来提供支撑,而不同云服务提供商支持的云服务架构之间通信十分困难,因此不同云服务商提供的数据也具有异构性,在数据整合与共享方面不能保证数据之间的互操作性和兼容性[13]。

BaaS 是由微软公司、IBM 公司两个科技巨头提出的概念[14-15],本质上是一种结合区块链技术的新型的云服务模式。在BaaS 模式下,区块链协议被用于维护完全去中心化的分布式存储机制记录在线数据,并且保证数据的不可篡改、不可伪造和可验证性。BaaS 与其他技术的对比如表1 所示。BaaS 以云平台为依托,为用户提供更加便捷和高性能的区块链服务,可支持开发者的运营与业务拓展[16]。“区块链+云计算”借助区块链的分布式技术,将多个分散的计算机节点连接起来,提供分布式云存储服务。

表1 4 种主要数据技术性能对比

近年来,国内外许多研究人员和机构运用区块链即服务在数据共享领域进行了探索和实践,如,在存证型应用方面,Milutinovic 等[17]通过融入BaaS来创造新的分类总账,引入了有数学法则保证的分类账本技术,革新了商业社会和政府部门的数据管理和数据记录方式;Azaria 等[18]利用智能合约构建了去中心化的医疗数据访问与权限管理系统,使患者自主地对医疗记录进行分享与管理;Zyskind 等[19]使用区块链构建了个人数据管理系统,确保用户以分散的方式拥有和控制数据;ProvChain 支持基于云计算的数据分析、数据验证的区块链服务[20]。

然而,与其他领域相比,BaaS 在科技服务数据共享方面的应用尚不丰富,现有文献大多从科学数据平台的角度去探讨系统架构的构建,没有考虑到后续的科技服务数据共享的过程和实现,也没有深入技术层面探讨区块链智能合约和混合加密技术在科技服务数据共享中的作用。BaaS 作为多种技术的融合,具备集中式数据管理技术无法比拟的优势,对解决科技服务数据共享中存在的问题具有可行性。综合BaaS 技术和科技服务数据共享现状,本研究提出了融入BaaS 的科技服务数据共享的系统结构和实现机制,基于此机制可实现各种辅助功能,以便对外提供各种各样的云服务,比如分布式存储可以帮助整合数据和持久化记录,混合加密算法可以帮助保护和共享数据,智能合约可以帮助实现自动化的认证和服务等。

3 融入BaaS 的科技服务数据共享的系统结构

3.1 系统设计

本研究以区块链技术为底层技术支撑,链接科技服务数据联盟、政府监管部门,构建自治化的科技服务数据云平台,为科技服务业提供数据服务。如图1 所示,科技服务数据共享机制由基础设施层、控制管理层和应用服务层组成,主要包含科技服务数据资源联盟链、科技服务数据平台、数据请求者、数据源和数据拥有者五部分。

科技服务数据共享机制中,基础设施层封装了数据存储的底层细节,主要负责数据存储、修改、删除和查询,将传统的数据存储分为数据源存储和数据区块存储,并对外提供统一的应用程序编程接口(API);控制管理层在基础设施层之上扩展了更多协议,利用智能合约的可编程特性,封装数据整合与共享相关的所有业务逻辑,使用联盟链实现点对点的直接通信协议,并且实现了区块链与外界的交互;应用服务层将控制管理层提供的功能接口包装为不同的数据服务,结合用户需求抽象出用户需要的相关服务,并提供相应接口简化未来的开发扩展工作。

科技服务数据平台是基于科技服务业数据资源联盟链建立的,为数据请求者提供科技服务数据的云平台,也是连接数据拥有者和数据请求者的桥梁,它为用户提供用户注册、数据访问、可视化分析等服务。该平台系统中的区块链选用联盟链,由政府相关机构建立科技服务业数据资源联盟,管理科技服务数据资源基础设施并行使相应的监管审查职能,联盟成员包括技术交易所、科技成果转化中心等。在联盟链中,联盟成员遵守联盟规则,经过监管方审核和身份认证之后进入联盟,联盟会为其颁发身份证书。联盟成员负责联盟链中一个或多个节点的运行,各节点间互相监督、共同维护,并通过数据区块存储索引数据;同时大型交易平台和机构也有较好的服务器和网络设备等硬件基础设施,为数据的稳定性和安全性提供了保障。数据请求者具体指对数据有需求的个人、企业或研究机构等,其在科技服务业数据平台注册登录之后,提交自己的身份信息完成与联盟链的信息交互,由联盟链进行身份验证。数据拥有者指拥有数据所有管理权限的个体或机构,如科研机构、高校、政府机构或个人等,其发布数据信息,生成数据完整性验证标识,写入区块链中进行公开、不可篡改地存储。数据源由各科技服务机构数据中心、高校数据库、科研机构数据库以及个人存储设备构成,且能够连接远程数据访问的计算机、中心服务器或云服务器。

科技服务数据平台系统将科技服务数据的存储、请求、管理三者分开,由各企业与个人进行分布式存储和管控数据,因此不再存在第三方数据管理机构;并且将科技服务数据进行分类整合,可提供供需对接的交互式数据共享服务,形成数据权限可信、透明、平等的数据交互机制。

图1 融入BaaS 的科技服务数据整合与共享机制的系统结构

3.2 智能合约设计

科技服务数据平台中的智能合约,是可以在区块链上自动执行的特殊程序,其程序代码以及数据均存储于区块链上,具有防篡改性强、去中心化程度高等特点[21]。本研究在联盟链中部署的智能合约(如图2 所示)包括身份管理合约(identity manage contract,TS-IMC)、数据整合合约(data integration contract,TS-DIC)、数据共享合约(data sharing contract,TS-DSC)。

图2 科技服务数据平台的智能合约设计

TS-IMC 合约作为全局合约来管理用户的身份证书,并进行身份认证,记录内容主要有用户属性集role、用户ID 和与其相关联的TS-DIC 合约和TSDSC 合约。TS-DIC 合约用于实现科技服务数据收集和存储的业务逻辑,包括科技服务数据收集合约(data collection contract,DCC)和科技服务数据存储合约(data storage contract,DSC)。其中,DCC合约用于数据的分类和上传;DSC 合约用于存储数据的源条目索引文件map,如表2 所示,主要包括记录号(RecordID)、哈希值(BlockHash)、用户信息(UserName)、文件索引号(SEQ)和文件指针(P)等。TS-DSC 合约用于实现科技服务数据访问和检索的业务逻辑,包括数据权限控制合约(data authority control contract,DACC)和数据检索合约(data retrieval contract,DRC)。其中,DACC 合约用于数据访问申请的权限控制;DRC 合约用于实现数据的下载和引用。

表2 科技服务数据平台的源条目索引文件

3.3 密钥设计

BaaS 技术需要非对称加密算法和Hash 算法等多种加密算法共存,进行数据的加密,来保证数据整合与共享过程中的安全性和隐私性。非对称加密会产生公钥和私钥两把密钥,公钥用于对外公开加密数据,私钥由使用者自己保管、用于数据解密。哈希算法是一个单向函数,它将任意长度的数据作为输入,被映射为固定长度的字符串作为输出[22]。本研究在对科技服务数据整合与共享的过程中,参考Nasrulin 等[22]的做法,以某种算法(如SHA Hash),将任意长度的数据作为输入,经过计算得出私钥;然后参考Hölbl 等[23]的做法,采用另一种算法(如 ECC 和 RSA)分解私钥生成公钥。此过程是不可逆的,形成的密钥及其主要功能如表3 所示。

表3 科技服务数据平台的主要密钥和作用

4 科技服务数据共享的实现机制

科技服务数据共享的过程是指,对科技成果在产业化进程中形成的数据,通过智能合约和混合加密技术,在联盟链和数据源中实现安全可靠的数据收集、整合与存储,在科技服务业数据平台和联盟链之间为数据请求者提供数据的访问与共享。基于以上科技服务数据共享的系统结构,融合BaaS 的相关原理,本研究将实现特定功能的基本模块按照工作流程有机整合,提出了整体的数据交互流程。如图3 所示,步骤1 和步骤2 为科技服务数据收集整合过程,步骤3、步骤4 和步骤5 为科技服务数据共享过程。

图3 科技服务数据平台的数据交互流程

4.1 数据整合

科技服务数据平台内由身份管理合约发放的身份证书,代表着用户、联盟成员、数据请求者参与到此系统中,是科技服务数据整合、共享等活动的基础。用户注册流程具体如下:数据请求者或数据拥有者向科技服务业数据平台提交注册申请,由身份管理合约TS-IMC 自动审核,通过后发放身份证书SU,再通过混合加密技术生成用户注册密钥对KURprive 和KURpub。数据拥有者除了生成用户注册密钥KUR 之外,还需证明自己拥有数据的所有权,需通过哈希算法将用户注册私钥KURprive 生成所有权验证密钥KPV。希望加入联盟的科技服务机构,需要获得半数以上联盟成员的同意,才能在联盟中完成身份的注册,由TS-IMC 审核发放SU。

加入联盟后,在数据上传前,需按照图4 所示的科技服务数据分类结构进行排序。在数据源中,不同的层次存储不同的科技服务数据信息:在根root层存储用户信息,中间mid 层记录服务领域信息和数据集信息,叶子leaf 层存储数据细节信息。将不同层次数据的索引信息传入数据区块中的对应节点,压缩为SEQ,可以证明在数据源和Merkle 树中所保存数据的真实性。SEQ 主要由用户身份ID 及其分类层次loc 构成,命名规则为:SEQ:ID+mid+leaf。如图4 中的专利信息,其索引号SEQ 为:ID||5211。

图4 科技服务数据平台的数据分类结构

数据拥有者上传数据时,需将请求发送到智能合约,TS-DIC 合约在收到请求之后,先调用DCC合约,通过身份证书对其身份和数据进行验证,验证通过后使用混合加密技术对数据进行加密。数据整合上传的过程如图5 所示。首先,采用混合加密技术和所有权验证密钥KPV 将文件加密,生成文件加密密钥KDE 和密文文件ASEQ。其次,将分类正确的密文文件ASEQ上传至数据源中,获取密文文件ASEQ的下载地址即文件指针PSEQ,并将不同层次数据的索引信息传入数据区块中的对应节点,按照科技服务数据分类结构生成SEQ(ID,loc)。最后,调用数据整合合约TS-DIC,将文件指针PSEQ 和文件索引号SEQ 上传至联盟链。TS-DIC 合约收到新增数据的请求后,调用DSC 合约,并按照源条目索引文件map 格式进行记录。

图5 科技服务数据平台的数据整合上传流程

各类数据源由各数据提供方负责管理与维护,只需要将数据详细描述和共享协议以文件形式放入分布式网络中,并在联盟链上发布文件索引号和文件指针,绑定数据所有权;用户在需要数据时,从科技服务业数据平台上根据数据类型或关键字检索到数据,通过联盟链和分布式网络定位数据描述,实现数据共享。

4.2 数据共享

科技服务数据平台的数据共享,支持对数据资源的线上浏览、下载和引用,数据共享功能按照共享协议和用户权限向用户呈现相关的共享文件。文件下载和引用主要分为两种情况:一是数据拥有者自己下载和引用文件,利用所有权验证密钥KPV 解密文件;二是符合访问策略的用户从联盟链获取数据共享密钥KDS 解密文件。

用户在科技服务数据平台发送访问数据的申请,提交数据申请基本信息。数据共享合约TS-DSC 在收到请求后,先调用DACC 合约,通过身份证书SU进行身份验证,若该用户身份验证通过且具有访问权限,则可以得到数据访问密钥KDA,再调用DRC合约检索自己所需要的数据。根据科技服务数据分类结构,调用DRC 合约检索数据可提供两种检索方案:一是通过文件索引号进行精确检索;二是通过对输入的科技服务领域等关键词进行模糊检索。当精确输入文件索引号SEQ(ID,loc)时,便对照DSC 合约中存储的源条目索引文件map 对联盟链进行精确检索,直到检索到该数据项或其不存在的记录。当对数据的分类结构不确定时,先在map 中查找分类节点目录,并输入中间节点值,然后对照map 中的记录对联盟链进行模糊检索。DRC 合约会从中间节点开始检索,直至锁定叶子节点范围,如果map 中的记录属于锁定的叶子节点范围,则添加该记录。最后,DRC 合约会将检索到的数据根据混合加密技术生成数据共享密钥KDS,连同数据的文件指针P一起发送给请求用户,用户可以解密下载或引用密文文件,实现文件共享。限于篇幅,具体流程备索。

4.3 数据安全性

本研究中区块链选用的是联盟链。区别于公有链,联盟链具有身份认证以及权限设置的功能,通过智能合约提供的身份认证和云计算技术提供的巨大算力,可以保证联盟链成员为合法成员、用户为合法用户,降低系统风险。数据在上传前,采用混合加密技术加密,上传的文件在数据源中以密态存储,在联盟链中通过数据整合合约存储索引文件,并通过数据访问合约,使得身份未认证或没有访问权限的第三方无法获取数据存储的真实存储地址。数据的整合与共享都是通过数据拥有者和数据请求者的私钥进行数字签名,再通过共识上传至区块链,私钥的隐秘性也保证了数据共享过程中的安全性和隐私性。

5 结论与展望

本研究对融入BaaS 的科技服务数据共享的系统结构、智能合约和加密密钥进行了设计,并以此为基础研究了科技服务数据共享的实现机制。根据科技服务数据交互流程,设计出科技服务数据分类结构,对科技服务数据进行统一排序、分类和存储,实现了对数据的整合以及数据所有权的确定;利用区块链上智能合约和数据区块中存储的文件索引号信息,实现对数据的有效检索和共享,并保证了数据共享过程中的安全性和隐私性。总的来说,本研究方案综合考虑了安全性、易用性和可扩展性等问题,可实现对科技服务数据的高效整合与安全共享,为科技服务业的创新发展及其数据管理标准化提供一些有益启发。

当下科技服务业对于数据的需求越来越高,BaaS 凭借着区块链技术的去中心化特性和云计算所能提供的巨大算力,必然会有出色的表现。在未来工作中,可就科技服务数据共享中的激励机制开展进一步研究,探讨科技服务机构组成联盟链的商业行为。

猜你喜欢
数据源合约区块
《红楼梦》的数字化述评——兼及区块链的启示
区块链助跑财资管理
利用属性集相关性与源误差的多真值发现方法研究
一场区块链引发的全民狂欢
区块链助力企业创新
Web 大数据系统数据源选择*
数据有增加 图表自适应
异构数据源集成系统查询优化