APP下载

论区块链在水文数据传输中的应用研究

2020-01-12邢方亮

黑龙江水利科技 2020年7期
关键词:水文分布式区块

李 珏,余 雷,邢方亮

(1.贵州省水利水电勘测设计研究院,贵阳 550002;2.贵州思索电子有限公司,贵阳 550002;3.珠江水利委员会珠江水利科学研究院,广州 510611)

0 引 言

区块链这个词最早出现在比特币的白皮书里,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的数据库,特点是不可篡改、开放透明、可审计。几年的发展后,相较于比特币,区块链已完全是不同的概念了,而基于一种信任机制,在新一代的互联网中,区块链已成为战略支撑技术,区块链技术的产业发展和创新获得了国家的高度重视,提出要“加强对区块链、人工智能、虚拟现实等新兴技术在行业系统解决方案中的应用推广”。

在国家经济建设和社会发展中,所有与水相关活动的决策均来源于基础水文资料,准确的的水文资料是水文事业服务于社会经济、生态环境及交通等信息产品的重要战略资源。水文数据库的建设是现代化水文工作的重要组成部分之一,而区块链和水文数据库建设的结合将是未来水文水利发展最容易落地的实践应用场景。将区块链技术应用于水文数据的分布式存储方式中,通过加密增加安全性和可靠性,从而保证数据的完整性、真实性和可审计性。

水文资料种类多,规模大,品质高,数据类型具有代代相传的特点,是在水文数据的基础上记录了地球水圈和人民改造生活环境的依据。水文数据库包含和使用一些密切相关衔接的数据,从实际调查数据到月度统计数据,含水流衔接和数据说明、测站分布和方法信息、测站属性和率定信息、断面信息及数据可靠性信息、降水、蒸发、流量、冰凌、潮水、水位、泥沙和水量等统计特征值,所有的水文分析均可与水利工程数据结合,并在水文数据的基础上用以实现水力计算和力学计算[1],故水文数据库建设是重要的水文运维基本业务。以往的水文数据库建设存在如下几点问题:①水文数据未加密;②容易在传输过程中被修改;③使用不受控制;④使用人不受控制。

随着水文业务需求的深化、区块链技术的发展和经济社会的不断进步决定了水文数据库的建设是一个复杂的、动态的系统建设工程,解决水文现代化数据库建设和水文应用服务中存在的问题已势在必行。

1 区块链

2008年中本聪发表论文《比特币——一种点对点的电子现金系统》,文中设计了一个全新的电子货币系统,可在去中心化管理的情况下进行全网账本的共同维护和更新,并保证交易记录的真实有效且不可篡改。随着比特币系统的运行,实现这一系统的技术方案的重要性逐渐体现出来,人们将其提炼称之为区块链技术,因此,区块链的第一个应用是比特币,比特币是区块链的底层技术,两者既有联系又有区别。

IDC(Internet Data Center)将区块链定义为数据区块按时间顺序相连的链式数据结构,用密码学保证安全的分布式数字账本,是一种全新的分布式基础架构与范式。

1.1 区块链的特征

1)分布式:区块链系统中每个节点均具有对等的权利和义务,均能获得完整的数据拷贝,因而,区块链系统无需配置相应的硬件设备及管理机构,将维护工作分散,由多个节点共同维护系统。

2)多节点共识:公开数据内容和系统运作规则,各节点间无需相互信任,入链数据通过共识机制进行验证,由技术手段自动实现信任关系,无需配备审批结算交易的中心化管理员。

3)公开透明:利用时间戳机制追溯用户行为,而共识机制则保证账本和商业规则可被所有人审阅,从而保证透明的系统。

4)不可篡改:通过新增区块来修改交易,原区块仍然存在,所有的区块变动将留有痕迹,永久保留。

1.2 区块链的优点

1)去中心化或多中心化:不再有中心数据库,而是分布在世界各地的计算机中,形成分布式数据库进行计算,弱化甚至消除管理中心性。

2)开放性:开放式是区块链设计的初衷,每一条数据均由所有人验证通过,每个人均可随时查看。每一次记录都全网公开,所有人都能看到记录的内容,并来验证其真实性,只有真实的信息才能被计入数据块中,挂在链上,之后所有的人也可以再查看,保障操作者的公的权益。

3)自治性:区块链一开始就设置了统一的平台协议和技术规范,让后续的开发者和使用者能统一的使用分布式数据库进行安全交易。

4)不可篡改:不可篡改性是区块链信任机制的基础,其链条结构能向整个网络公告并认可每次的交易环节,验证并记录之后,所有人均无权对其进行修改和删除。

2 区块链在水文数据库上的应用

目前全国水文数据资料庞大,但完善的水文数据库应用很少,每次使用数据大多是查阅PDF文档或者手工抄录,整个过程中存在很多问题,如工作量大、响应缓慢、数据传输不安全和数据可被篡改等,严重的阻碍制约了水利大数据和智慧水利的发展。区块链技术在水文数据库中的应用,去除了中间机构,改变传统水文的由组织机构完成集中数据的权限审查和数据校验的方式,节约时间成本,提高安全性。

1)水文机构服务器群:水文资源数据目前的分布现状,主要的水文数据信息服务和数据存储节点均在国家水利行政单位及大型水利企业,因而可将水文机构进行等级划分,明确授权机制,实现节点之间的共识。

2)水文数据存储结构:将数据的节点根锚定在区块链,实现高效传播和不可篡改。

3)分布式数据库系统(Distributeddatabasesystem,DDBS):将水文数据存储在分布式数据库中并进行加密,减轻高频访问的压力。

2.1 水文数据库系统设计

2.1.1 水文数据库组成

水文数据库含主题、元、专用和基础数据库,ETL(Extract-Transform-Load)负责抽取分布的数据,清洗和转换后加载,为数据挖掘和分析提供基础数据[2]。

2.1.2 水文数据管理设计

通过区块链管理信息资源目录实现数据的管理与共享,详细数据存储在数据仓库中,为进一步处理与分析提供数据支撑。

2.1.3 水文信息资源目录管理

水文元数据主要包含技术元、业务元和内敛映射元等几种数据类型,故设计过程中,要抓住规律,实现加工、处理和再次开发。将元数据中的8个不能重复利用的主要子集和5个可重复利用的次要子集运用在数据集,搭建元数据组织的框架。将元数据对应区块链的Merkle树节点,实现数据的不可篡改和真实性。

2.2 水文数据库系统开发

2.2.1 分布式水文数据库系统

来源于不同渠道的专用数据及水文技术,在内容和格式上区别较大,无法支持高级决策和分析,故在采用区块链技术建立分布式数据库时,需重新构建数据模型,根据不同构造的数据库装载基础和专用的数据,采用主数据进行决策分析,通过水文数据建立分布式数据库。

2.2.2 水文数据抽取

将原有备份在光盘或磁带上的历史数据、基础数据和外部文件调至相应分类的水文数据即为抽取水文数据,在抽取过程中,不宜采用直接链接水文数据库的方式,应采用不同的接口对不同源数据进行调取,同时需建立安全保证措施,保证一定的抽取效率[3]。

2.2.3 水文数据加载

在加载经过转换的水文数据时,需先删除原有的历史数据,且要保在同一加载时间的加载过程中的数据具有一致性与完整性。

2.3 水文数据共享

2.3.1 水文数据交换体系

水文数据交换体系具有统一的标准规范,其用户分为完备、轻量及普通三个用户类型,其中轻量级用户可使用网站或APP查看水文数据,并可授权或取消访问权限。这里客户端可分为:

1)完备级客户端:可提供对外服务接口,并存储所有的记录。

2)轻量级客户端:可提供查询接口,不保存记录,需要时向其他节点查询,可完成个人授权。

3)在线客户端:网页浏览模式。行业背景研究发现,小型水文机构水文数据少,数据中心不完善,数据处理能力弱,故水文大数据中心基本都建设在重点水文机构,基于此现状,采用区块链技术,即能实现去中心化的安全快捷的数据共享,对于体积较大的设计图、图片、视频等数据,可将所有者公钥加密放在分布式数据库中,将所有数据的摘要保存在分层机构中,将数据哈希值保存在Item结构中,再将每个Item的哈希值放在Item块机构中,从而加快使用者对记录的校核速度,实现高速、可靠、透明和安全的数据共享。

2.3.2 水文数据安全

采用安全系数较高的操作系统作为数据库和数据仓库服务器的操作系统,同时进行恢复和备份的设计,而区块链的链条结构可保证每次经过公告和认可的交易记录的真实性,从而保证了数据信息的不可篡改。

3 水文数据区块链简单实例

在此,文章实现一个简单的水文数据区块链。考虑到水文工作的实际需求,这里主要是利用了区块链的数据溯源和不可篡改特性,常见区块链中工作量证明等与实际需求无关的部分不予实现,生成一个新区块的权限不以工作量证明为依据,而是由各采集终端节点依照水文测验规则采集数据后生成。

设想中的水文数据区块链的区块基本结构如下:

1)index:区块索引值。

2)hash:本区块哈希值。

3)p_Hash: 上一区块哈希值。

4)timestamp:时间戳。

5)W_data:水文数据块。

6)C_data:存储认证中心、采集终端信息的数据块。

7)O_data: 其他数据块。

采集终端节点采集数据后,经RSA非对称数据加密算法进行数字签名后上传至所属的水文数据认证中心,认证中心通过该数字签名验证确认数据来源的可信性和数据可用性后,发起生成新区块的广播,并向水文数据区块链网络进行广播。新区块的W_data字段为符合《水文监测数据通信规约》(SL651-2014)的数据报文,C_data字段用于存储采集W_data数据的采集终端信息以及认证该数据的认证中心的信息,O_data字段用于存储其他信息。

每一个区块代表一个或一批水文测验数据,所有水文测验数据的请求、使用等信息视为交易数据,合规的、被允许的请求和使用等数据操作,按照区块链相关算法及规则(如PBFT、PoW算法、PoS算法、DPoS算法、Ripple算法等)解决共识问题并生成记录后,分布存储于各区块的O_data数据中。

4 总 结

随着信息技术的发展,将区块链应用于水文数据库建设是大势所趋,文章借鉴区块链这一分布式数据库技术来解决现有水文资源数据中存在的问题,从分类分级、加密水文数据集、分布式数据存储三个方面探讨区块链与水文数据库的融合,将区块链技术应用于水文数据库管理,助力水利工程活动转型升级,实现经营目标。

猜你喜欢

水文分布式区块
2022年《中国水文年报》发布
区块链:一个改变未来的幽灵
水文
水文水资源管理
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
水文