1、基于区块链的数据安全共享网络体系研究 王继业 高灵超 董爱强 郭少勇 陈晖 魏欣 国家电网公司 北京中电普华信息技术有限公司 网络与交换技术国家重点实验室(北京邮电大学) 摘 要: 针对能源互联网企业内部与外间的数据共享过程中, 存在集中部署访问受限、标识不唯一、易被窃取或篡改隐患等问题, 影响到数据作为资产进行统一安全共享的效率.为此, 结合区块链的去中心化、自主对等、难以更改的技术特征, 构建基于区块链的数据安全共享网络体系, 主要包括去集中化数据统一命名技术及服务、授权数据分布式高效存储和支持自主对等的数据高效分发协议.其次, 设计了开放式数据索引命名结构, 含一级基础 ODIN 和多级
2、扩展 ODIN, 且阐述了开放数据索引命名运行机制.再次, 基于 ODIN 技术, 设计了基于 ODIN 的去中心化 DNS 的域名协议模块, 为数据间 P2P 安全可信共享奠定基础.最后, 针对基于 ODIN 的去中心 DNS 的功能进行验证, 为实现企业内部及企业间的数据安全共享构建了一种可信网络环境.关键词: 能源互联网; 区块链; 安全; 共享; 开放式数据索引命名技术; 作者简介:郭少勇, 作者简介:高灵超, 作者简介:Dong Aiqiang, born in 1979. Senior engineer.His main research interests include pow
3、er enterprise informatization and information integration work.作者简介:Guo Shaoyong, born in 1985.PhD.Lecturer of State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, China. His current research interests include smart grid, network management
4、 and terminal management.作者简介:Chen Hui, born in 1978. His current research interests include promoting the blockchain and network communications technology innovation and application development by developing open source projects.作者简介:Wei Xin, born in 1996.Master candidate of State Key Laboratory of
5、 Networking and Switching Technology, Beijing University of Posts and Telecommunications, China.Her current research interests include network management and smart grid.收稿日期:2016-12-20基金:国家科技支撑计划基金项目 (2015BAG10B00) Block Chain Based Data Security Sharing Network Architecture ResearchWang Jiye Gao Li
6、ngchao Dong Aiqiang Guo Shaoyong Chen Hui Wei Xin State Grid Corporation of China; Beijing China-Power Information Technology Co.Ltd.; State Key Laboratory of Networking and Switching Technology (Beijing University of Posts and Telecommunications) ; Abstract: For the process of internal and external
7、 data sharing in energy Internet enterprises, there are centralized deployment, non-uniqueness identification, and theft or tampering to affect the efficiency of data asset sharing.Based on the character of decentralization, peer-to-peer and difficultto-change, we construct data security sharing net
8、work architecture base on block chain to support exchange information for internal and inter-enterprise.It is to achieve a trusted network environment with the distributed storage.Firstly, we propose a block chain based data security sharing network architecture, including decentralized data unified
9、 naming technology, authorized data distributed storage and data distribution protocol.Secondly, an open data index naming structure (ODIN) is designed, including single-level basic ODIN and multi-level extended ODIN. And then ODIN operation mechanism is described.Thirdly, we design the decentralize
10、d DNS (domain name sever) resolution module with ODIN.Then the part of system function is realized.And we analyze its performance.Keyword: energy Internet; block chain; security; sharing; open data index naming (ODIN) ; Received: 2016-12-20“能源互联网”是以电力系统为核心, 以互联网及其他前沿信息技术为基础, 以分布式可再生能源为主要一次能源, 与天然气网络
11、、交通网络等其他系统深入结合而形成的新的能源利用体系.能源互联网应提供一种在供需双方之间建立快速、可信、自动的能源交易模式, 帮助供需双方高效建立和完成交易1-2.但现有能源互联网解决方案中, 大多利用中心化的管理控制机构完成.但能源互联网体系庞大, 中心化管理机构任务繁重, 某些情况下去中心化具有更高的效率, 如家庭光伏电站的剩余电量提供给某邻居家电器使用, 在双方可信的基础上可以直接完成交易, 从而具有更高的效率.需要为构建一种可信的对等数据共享平台, 支撑能源互联网的高效快速交易2-3.而区块链作为一种构建去中心化的分布式存储的对等可信数据网络的技术, 是以比特币为代表的数字加密货币体系
12、的核心支撑技术, 为构建可信、点对点数据安全共享提供技术基础.区块链技术具有高度透明、去中心化、去信任、集体维护 (不可更改) 、匿名等性质, 能够通过运用数据加密、时间戳、分布式共识和经济激励等手段, 在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点数据共享、协调与协作, 为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决途径3.区块链仅提供了一种安全可信的共识交易的基础平台, 仍缺乏适应于能源互联网中多业务形态的数据共享的技术4-6.在能源互联网中, 如何融合区块链与物联网、信息系统、业务形态, 解决网络、系统与业务间的去中心化的数据安全共享的问题, 满足
13、能源互联网的需求, 成为了当前急需解决的问题7-9.因此, 本文结合区块链的特征, 构建一种基于区块链的数据安全共享网络体系, 主要包括去集中化数据统一命名技术、授权数据分布式存储与高效分发协议等内容, 以实现去中心化域名解析.本文提出开放式命名索引技术, 并将其应用于区块链中, 解决数据作为资产的安全统一标识的问题, 并在此基础上构建了基于区块链的去中心化的 DNS 域名服务解析机制, 解决了集中式的 DNS 受控可信的问题.1 基于区块链的数据安全共享网络体系本节构建了一种基于区块链的数据安全共享网络体系, 如图 1 所示.该体系依托于现有的互联网架构, 承载联盟链或私有链, 将数据作为资
14、产进行统一标识, 利用区块链将数据进行分布式存储, 通过设计高效分发协议, 实现数据在提供者与消费者间自主对等的信息中心网络 (peer to peer information centric network, P2PICN) .具体内容如下:1) 去集中化数据统一命名技术及服务结合企业数据的规范和统一资源标识符 (URI) 规范, 基于共享信息模型 (shared information data/model, SID) 建模, 提出开放式数据索引命名技术 (open data index naming, ODIN) , 为网络环境下自主命名标识和交换数据内容索引提供一种开放性系统, 为自主
15、开放、安全可信的数据内容管理和知识产权管理提供了一个可扩展的数据统一命名标识体系, 为数据提供者与消费者间共享奠定基础10.Fig.1 Block chain based data security sharing network architecture 图1 基于区块链的数据安全共享网络体系 下载原图2) 授权数据分布式高效存储以区块链为数据承载基础, 当数据接入时, 将其作为一种资产, 并对其进行授权加密实现控制访问权限的约束.同时, 结合业务特征与需求, 在去中心化的网络边缘进行分布式存储, 数据缓存管理和缓存策略的问题也成为基于区块链的数据间安全共享的一个难题.3) 支持自主对等的数
16、据高效分发协议基于区块链的数据共享本质上就是为了实现一种 P2P 的数据对等共享网络, 即P2PICN.其中, 数据安全传输过程包括基于开放式数据索引命名的底层标识符解析过程、基于名字寻址过程与数据传输过程, 典型的例子如:构建去中心化的DNS 域名解析服务, 以实现数据的对等可信传输.2 去集中化数据统一命名技术2.1 开放数据索引命名结构设计本节设计了一种开放式数据索引命名机制 ODIN, 该机制是一种层次化的命名规则11, 类似于 SID.为了融合已有单独的链及新增链的扩展, 本文将 ODIN 命名方式分为一级基础 ODIN 和多级扩展 ODIN 两种, 如图 2 所示.一级基础 ODI
17、N解决主链之间的数据命名标识的问题;多级扩展 ODIN 是解决私有链或扩展链内部数据命名标识的问题, 以便实现数据的分布式缓存且提高账本的同步效率.接下来将分别介绍二者的命名规则.Fig.2 ODIN naming structure 图 2 ODIN 命名结构图 下载原图2.1.1 一级基础 ODIN一级 ODIN 的标准结构式为ppk:BTC_BLOCK_SN.BTC_TRANS_INDEX/DSS后缀的标准结构式可扩展为 2 种:RESOURCE_ID#DATA_BLOCK_SN.CHUNK_INDEX或#DATA_CHUNK_INDEX.2 种命名方式的区别在于前者引入了资源标识 (R
18、ESOURCE_ID) 并通过数据所在区块编号 (DATA_BLOCK_SN) 和子数据块在区块内的索引 (CHUNK_INDEX) 这样一个二级的标识对每一个数据块进行标识;而后者则是通过将所有区块的子数据块进行统一编号后, 对数据所在的子数据块DATA_CHUNK_INDEX进行标识.这里需要注意的是, 后缀为命名中可以省略的部分, 结构式中#字符及其后续部分也可省略, 缺省情况下默认为区块内的第 1 个子数据块.此外, 一级基础 ODIN 可以采用短编码的方式表示, 标准结构式为ppk:REG_ORDER_INDEX/DSS.与前一种命名的唯一区别在于将前者前缀中的登记记录的二级索引替换
19、为该记录在全部 ODIN 注册记录中以注册时间早晚排序的数字索引值 (REG_ORDER_INDEX) .下面列举出一些合法的一级 ODIN 命名:ppk:351474.430/21.35/ppk:351474.430/21.35/ISBN2890321345#ppk:351474.430/21.35/ISBN2890321345#1.02.1.2 多级扩展 ODIN以一级 ODIN 为基础, 注册者可以利用自有的区块链来扩展自定义二级 ODIN, 并将二级 ODIN 注册记录批量打包后形成的新区块的 HASH 关键字写入上一级骨干区块链获得合法验证并确保唯一性.以此类推, 可以形成更多级的
20、ODIN 标识.多级 ODIN 的标准结构式为ppk:PARENT_ODIN_PREFIX/SUB_BLOCK_SN.SUB_TRANS_INDEX/DSS其中, PARENT_ODIN_PREFIX为对应上级 ODIN 的前缀.SUB_BLOCK_SN和SUB_TRANS_INDEX为对应子级 ODIN 在上级自定义区块链上的登记记录所在区块和区块内记录位置的阿拉伯数字编号.后缀DSS (data suffix string) 由上级 ODIN 注册者可选并自行给出的具体数据内容定位标识, 需要自主确保具有唯一性, 命名方案同上.此外, 多级 ODIN 自定义结构式为ppk:PARENT_O
21、DIN_PREFIX/SUB_TRANS_ID/DSSSUB_TRANS_ID为该 ODIN 记录在子级区块链上的唯一标识, 由所属上级 ODIN标识注册者来定义, 可以是流水编号, 也可以是唯一取值的字符串, 需自行保证能与标准结构式区分开且不能包含“/”和“#”这 2 个字符.下面列举出一些合法的多级 ODIN 命名:ppk:351474.430/22/ppk:1/22/ISBN2890321345ppk:1/22/ISBN2890321345#2.1ppk:1/china/books/ppk:1/china/books/#ppk:1/china/books/ISBN2890321345-
22、P218#2.2 开放数据索引命名服务运行机制ODIN 技术对数据统一命名, 并通过 ODIN 数据库接口提供相关服务, 每个 ODIN操作都将按照特定的协议规范被编码后广播到公有链平台, 得到共识后加入区块, 存入公有链.ODIN 技术是在网络环境下标识和交换数据内容索引的一种开放性系统, 它遵从URI 规范与 SID 建模思想, 为基于数字加密货币区块链的自主开放、安全可信的数据内容管理和知识产权管理提供了一个可扩展的框架.主要特点包括自主性、安全性、唯一性和永久性, 具体体现为:1) 自主性.ODIN 标识符是基于去中心化的区块链技术, 并由申请者自主生成并管理的一种命名标识技术, 其生
23、成和管理规则是完全开放的, 没有中心化的控制机构.除了拥有管理密钥的申请者之外, 其他组织和个人都无权控制和篡改.2) 安全性.每一个 ODIN 标识符的拥有者都对应拥有一对非对称加密技术的公私钥, 可以通过私钥对自主发布的数据内容进行签名, 接受数据内容的个体可以通过公钥进行验证, 以确保收到的数据是来源可信和不被篡改的.3) 唯一性.结合公有区块链, ODIN 标识符能对任何数据内容对象 (如文本、图片、声音、数据、影像、软件等) 的开放访问索引进行唯一标识, 使数据内容对象能被人们准确地识别和提取.4) 永久性.ODIN 标识符一旦生成就将永久不变, 不随其所标识的数据内容对象的持有者或
24、存储地址等属性的变更而改变.ODIN 技术的运行机制如图 3 所示.开放数据索引命名服务运行机制主要包括 2 步;1) 每个有意开放数据的个体 (data owner) 可以通过开源的 ODIN 注册客户端来自主注册获得一个 ODIN 号 (成为 ODIN 注册者, 即 ODIN Register) , 以此为前缀可以为其开放的每一份数据资源编制一个包含本身 ODIN 前缀的且增加了后缀的 ODIN 标识串, 并将该 ODIN 标识串索引到数据资源的元数据和 URL 上, 这样 ODIN 就成为数据资源的一部分, 始终与该数字资源共存;2) 已被开放的这些数据资源的 ODIN 记录、元数据及其
25、 URL 信息可以 JSON 编码的形式保存在该 ODIN 注册者的数据库内, 这些被集中存贮起来的资源就形成一个 ODIN 资源标识库.当用户根据 ODIN 标识串寻找一个数据资源或有关这一资源的相关信息时, 查询请求就会通过开源的 ODIN 解析库在区块链上进行定位, 然后被传送到该 ODIN注册者所登记的访问点 (access point, AP) 上进行解析并得到该数据资源的元数据描述和实际数据 URL 链接.ODIN 注册者可以完全开放数据资源访问权, 也可以通过适当的自定义机制让用户获取数据资源访问权, 如通过订购、资源传递、按浏览付费或者预印本付费等方式获得, 为日后的授权数据认
26、证奠定基础.Fig.3 ODIN operation mechanism 图 3 ODIN 运行机制示意图 下载原图3 基于 ODIN 的去中心化 DNS 域名解析ODIN 标识运行机制, 为数据资产提供了统一命名的技术手段.每个数据便可以当做一个数据提供服务来进行请求, 而 ODIN 便是类似于域名解析的地址.为此, 通过 ODIN 标识访问数据块的过程, 便形成了一种基于 ODIN 的去中心化的 DNS域名解析过程6, 如图 4 所示, 具体的解析流程如下:步骤 1.数据请求者向 ODIN 客户端发出以 ODIN 为标识的 DNS 请求.步骤 2.客户端收到后首先就本块中的数据库检索此域名
27、, 若检索不到即向最近的存有完整区块的节点请求检索, 仍检索不到则说明该域名不合法.若检索到域名, 则向其指向的数据源所在 ODIN 客户端检索下一级域名, 直到不能检索为止.Fig.4 ODIN based decentralized DNS domain name resolution process 图4 基于 ODIN 的去中心化 DNS 域名解析流程 下载原图步骤 3, 将最终得到的索引数据返回给数据请求者, 请求者对其解析, 得到元数据及 URL, 再利用 P2P 的对等传输协议访问数据.4 实现与验证本节基于工作组先前的工作基础10, 利用 5 台服务器搭建扩展链, 并与公有链相
28、链接构成实验环境, 将一级 ODIN 标识注册在公有链上, 多级扩展 ODIN 存储在扩展链上进行原型系统验证, 并针对域名解析效率进行了统计分析.4.1 基于区块链的 ODIN 注册过程如图 5 所示, ODIN 既支持开放式的命名方式, 也对命名提出了部分约束条约, 以实现 ODIN 域名的注册与管理, 如图 5 中步骤 1 与步骤 2, 以支持本地化的ODIN 注册、管理与共享.其他人可以根据查询已有的 ODIN 命名标识, 该标识便可以当做域名, 供人查询与解析, 以实现去中心化的可信的 DNS 域名解析能力.4.2 基于 ODIN 的去中心化 DNS 域名解析如图 6 所示, 呈现基
29、于 ODIN 的去中心化 DNS 域名解析成功访问内容的视图, 其他数据便可以依托于此标识进行安全验证, 确保本标识下的数据来源可信.Fig.5 ODIN registration process based on block chain 图 5 基于区块链的ODIN 注册过程 下载原图Fig.6 ODIN based decentralized DNS domain name resolution 图 6 基于ODIN 的去中心化 DNS 域名解析 下载原图同时, 本文也根据用户量与 DNS 解析的访问效率进行了时间验证, 当用户逐步增大, 以 ODIN 为基础的 DNS 域名增长时, 随着
30、用户的增长, 访问时间也越来越大, 但是可以发现用户量与 DNS 域名之间是有平衡点的, 即当一定用户量缓存域名时, 域名在一定量内访问效率较高, 一旦超过这个平衡, 效率呈现下降趋势.如图 7 所示, 区块数对解析速度的影响, 一开始随着用户增加, 查询速度增长较快, 之后增长放缓, 有一定波动;解析用时始终在 200ms 以内.Fig.7 The influence between users block and parsing speed 图 7 DNS 域名与用户块间解析速度 下载原图5 总结本文结合区块链的去中心化、自主对等难以更改的技术特征, 1) 提出基于区块链的数据安全共享网络
31、体系, 主要包括去集中化数据统一命名技术及服务、授权数据分布式高效存储和支持自主对等的数据高效分发协议;2) 设计了开放式数据索引命名结构, 含一级基础 ODIN 和多级扩展 ODIN, 且阐述了开放数据索引命名运行机制;3) 基于 ODIN 技术, 设计了基于 ODIN 的去中心化 DNS 的域名协议模块;4) 针对部分功能进行验证并进行性能的分析.下一步工作中, 将针对数据分布式存储及域名解析效率进行优化.参考文献1Cao Junwei, Yang Mingbo, Zhang Dehua, et al.Energy Internet-Information and energy infra
32、structure integrationJ.Southern Power System Technology, 2014, 8 (4) :1-10 (in Chinese) (曹军威, 杨明博, 张德华, 等.能源互联网-信息与能源的基础设施一体化J.南方电网技术, 2014, 8 (4) :1-10) 2Dennis R, Owen G.Rep on the block:A next generation reputation system based on the blockchainC/Proc of the10th Int Conf for Internet Technology a
33、nd Secured Transactions (ICITST) .Piscataway, NJ:IEEE, 2015:131-138 3Azaria A, Ekblaw A, Vieira T, et al.MedRec:Using blockchain for medical data access and permission managementC/Proc of Int Conf on Open and Big Data (OBD) .Piscataway, NJ:IEEE, 2016:25-30 4Yuan Yong, Wang Feiyue.The development sta
34、tus and prospects of blockchain technologyJ.Acta Automatica Sinica, 2016, 42 (4) :481-494 (in Chinese) (袁勇, 王飞跃.区块链技术发展现状与展望J.自动化学报, 2016, 42 (4) :481-494) 5Swan M.Blockchain thinking:The brain as a DAC (decentralized autonomous organization) C/OL/Proc of Texas Bitcoin Conf.2015:27-29.2017-03-02.htt
35、p:/ 6Huckle S, Bhattacharya R, White M, et al.Internet of things, blockchain and shared economy applicationsJ.Procedia Computer Science, 2016, 98:461-466 7Christidis K, Devetsikiotis M.Blockchains and smart contracts for the Internet of thingsJ.IEEE Access, 2016, 4:2292-2303 8Crosby M, Pattanayak P,
36、 Verma S, et al.Blockchain technology:Beyond bitcoinJ.Applied Innovation, 2016, 2:6-10 9Kishigami J, Fujimura S, Watanabe H, et al.The blockchain-based digital content distribution systemC/Proc of the 5th IEEE Big Data and Cloud Computing (BDCloud) .Piscataway, NJ:IEEE, 2015:187-190 10PPK Open Club.Introduction of ODINEB/OL.2016-11-17.http:/www.ppkpub.org/ppk_odin_cn.html (in Chinese) (PPk 开放小组.ODIN 标识简介EB/OL.2016-11-17.http:/www.ppkpub.org/ppk_odin_cn.html)