一种数据开放和共享技术的模型研究

2018-04-02 08:25曹亚波
现代计算机 2018年2期
关键词:视图合约区块

曹亚波

(四川大学计算机学院,成都 610065)

0 引言

近年来随着互联网和和大数据的快速发展,尤其是移动互联网已经进入到人们生活中的方方面面。互联网影响着人们的生活方式,人们通过互联网可以进行购物、社交聊天、游戏等。全世界各行各业每天产生的数据总量是非常巨大的,通过相关技术对这些数据进行挖掘和分析,可以预测行业发展情况进行相应的行业规划,从而带来巨大的利益,具有非常大的实际意义和经济价值。但由于数据都掌握在各行各业之间,必须要将这些数据在各行业乃至各个国家之间进行开放和共享,才能最大限度地推动数据的研究与分析,使数据的价值达到最大。

然而由于互联网的虚拟性以及开放性,人们在享受互联网带来的便捷服务下,同时也面临着隐私泄露,商业诈骗,虚假信息欺骗等数据安全和信任所带来的问题。这些问题严重阻碍了数据开放和共享的发展,成为大数据研究发展的瓶颈之一。

区块链以分布式存储、点对点传输、共识机制与加密算法等技术,屏蔽了底层复杂的连接建立机制,通过上层的对等直联、安全通信和匿名保护,加速打破“信息孤岛”的行业坚冰,加快各行业信用数据的汇聚沉淀,加强用户数据的隐私保护。而且区块链技术具有去中心化的特点,能够减少中心化服务器存储过于集中所带来的管理上的压力以及服务器宕机造成的数据丢失等问题。本文则正是基于区块链特有的技术优势,最终设计了一个数据开放和共享的技术模型。

1 数据开放和共享

在19世纪中叶的股票交易中,就有了数据交易的基本雏形,数据被当成一种商品在相应的交易平台上进行交易,这是最早的数据流通方式。现如今,数据流通的方式基本上可以分为三种:数据交易、数据开放和共享和数据租赁。其中数据开放和共享是最基本的数据流通方式,人们通过开放和共享数据来实现数据的流通,以获得自己需要的数据。例如程序员将自己的代码和博文开放共享到到相应的开源网站。

数据开放和共享的相同点可以总结为以下三点[1]:

(1)可获取性和可读性。任何人都可以通过某些方式获取完整的数据,并且数据的格式受某些设备如计算机的支持。

(2)可复用性。提供数据可被多次整合利用的许可协议。

(3)可互用性。数据可以在不同的设备或者团体间协同操作。

其不同点主要表现在:数据开放具有非歧视性[2],遵循“公开,公平,人人皆可参与”的价值观念,主要是表明开放的数据人人可以使用,不会对数据使用者产生歧视,做到公平和公正;数据共享一般要限制在特定的条件下,例如个人原创数据,未经本人同意不得进行商业转载等限制。

数据开放和共享的概念模型如图1可以分为数据获取层、数据处理层和数据展示层三个部分。其中信息获取层主要是用于获取数据信息,获取数据信息的方式可以分为三种:(1)开源网站上获取开源数据,(2)通过相应的爬虫技术爬取网页数据信息,(3)国家或者相应的部门企业以及个人共享的数据。数据处理层主要是对获取的数据进行格式化处理、数据分类和聚类、以及数据清洗操作。数据展示层主要是将处理好的数据通过特定得视觉化处理,将处理的结果展示给用户。

图1 数据开放和共享的概念模型

2 区块链基础和关键技术

区块链是一种去中心的协议,能够安全的存储比特币或者交易数据,存储的数据不能被轻易篡改和伪造,区块链的概念最初是由中本聪提出来的。总的来说,区块链是一种新型的分布式数据库。顾名思义,在区块链技术中,数据以区块的方式永久储存。区块按时间顺序逐个先后生成并连接成链,每一个区块记录了创建期间发生的所有交易信息。区块通过时间戳特性保证历史数据的完整性,而且还包含了经过共识算法验证的、区块创建过程中产生的所有交易信息。所以使用区块链存储的数据,才不会被轻易篡改和伪造。

区块链技术的基础架构如图1所示。一般来说,区块链系统一般由六部分组成,由下到上分别是数据层、网络层、共识层、激励层、合约层和应用层组。其中,数据层包括数据区块和时间戳以及哈希函数和加密算法;网络层则包括P2P网络、数据验证机制和传播机制等;共识层主要包含了各种共识机制,例如基于PoW、PoS和PBFT;激励层主要包括分配机制和发行机制等,用以激励;合约层主要包括各种脚本代码、算法机制和智能合约,是区块链用于编程的基础;应用层则包括了可编程货币、可编程金融等应用场景和案例。

图2 区块链技术分层示意图

区块链技术具有去安全可信、去中心化、可编程和集体维护等特点。首先是去安全可信:区块链技术使用非对称加密算法和共识算法来保证数据不被篡改和伪造,所以具有很高的安全性。其次是去中心化:区块链数据的记账、验证和存储等过程都是在分布式的系统结构基础上进行的,而不是使用传统的中心化结构方式,从而形成了去中心化的可信任的分布式系统。可编程:区块链提供了完整的脚本代码,并支持创建不同类型的智能合约。最后是集体维护:区块链系统有完整的经济激励机制来保证分布式系统的所有节点均可参与数据区块的验证过程,并通过共识算法来选择特定的节点将新区块添加到区块链。

3 数据开放和共享的模型设计

3.1 MVC-B 模式

本文在区块链的技术基础上设计了如下的数据开放和共享的模型,主分为区块链层、数据层、视图层和控制层,即MVC-B模式。

图3 MVC-B设计模式

(1)区块链层:提供区块链的技术支持,包括分布式数据库、时间戳技术和P2P网络;

(2)数据层:对系统的数据和应用程序进行封装和抽象建模;

(3)视图层:显示数据处理的结果;

(4)控制层:是处理用户交互的部分,负责从视图读取数据,控制用户输入用相应接口。

3.2 模型整体技术架构

为了使数据开放和共享模型更加低耦合和高内聚,依照上述MVC-B模式,本文将整个模型分为了三个部分。分别是视图层部分、智能合约部分和区块链层部分,模型的整体结构图如图4所示。

●视图层:视图层用来显示处理后的数据,是整个模型中负责人机交互的部分,主要包括数据展示和数组操作。一般为一个手机端应用软件或者是一个网站,当用户进入数据开放和共享模型时,视图层会将该用户权限相符的数据通过相关页面展示给用户,用户也可以通过视图层的其他功能按钮进行其他操作。

●智能合约层:智能合约层主要包括个人管理、身份认证、数据管理和时间管理等功能,智能合约层是整个模型中最重要的部分也是最核心的部分。对于用户而言,他可以对数据进行浏览操作,并在相应的权限内对数据进行操作。用户通过视图层对数据进行相应的操作,然后通过智能合约层对操作作出相应的相应。此外,智能合约层还负责了数据开放和共享模型中的功能实现和业务逻辑。

●区块链层:主要包括分布式数据库、P2P网络和时间戳技术。区块链层主要是对整个模型提供区块链的技术支持,保证整个模型运行。

图4 数据开放和共享的整体架构

4 结语

本文在区块链的技术基础上,利用了区块链去中心化,不可篡改和伪造的技术优势,设计了一个数据开放和共享的模型。缓解了当前在互联网快速发展的背景下,数据开放和共享的过程中,所遇到的数据隐私泄露、虚假信息和信息伪造的诸多问题。从而保障了在数据开放和共享过程中,用户数据的安全可靠以及可溯源。从而推动了数据进一步的共享和开放。

参考文献:

[1]邢超,石玲.开放数据:大数据时代的发展趋势研究[J].全球科技经济瞭望,2016,31(10):68-72.

[2]高丰.开放数据:概念、现状与机遇[J].大数据,2015,1(2):9-18.

[3]Zheng Z,Xie S,Dai H N,et al.Blockchain Challenges and Opportunities:A Survey[J].2016.

[4]Oleg Mazonka,What is Blockchain:a Gentle Introduction.2016.12.11

[5]Blockchain.https://en.wikipedia.org/wiki/Blockchain_(database).

[6]Yuan Y,Wang F Y.Blockchain:The State of the Art and Future Trends[J].Acta Automatica Sinica,2016.

[7]杨保华.区块链技术指南[EB/OL].https://github.com/yeasy/blockchain_guide.

猜你喜欢
视图合约区块
《红楼梦》的数字化述评——兼及区块链的启示
区块链助跑财资管理
一场区块链引发的全民狂欢
区块链助力企业创新
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
Django 框架中通用类视图的用法