基于区块链的大数据安全共享方法与系统与流程

文档序号:16001855发布日期:2018-11-20 19:33阅读:3340来源:国知局

本发明涉及的是一种大数据领域的技术,具体是一种使用区块链来完成大数据安全共享的方法及系统。



背景技术:

传统的大数据应用框架往往是一种三角的结构。数据需求方,大数据管理平台和数据提供者构成了一个三个元素之间分别独立而又相互关联的整体。传统的框架中来自数据提供方的数据是由数据平台集中处理和管理的,这使得传统框架面临着隐私泄露和易受分布式拒绝攻击(DDOS)、女巫攻击(Sybil attacks)的安全隐患。



技术实现要素:

本发明针对目前集中式的大数据管理平台容易发生数据泄露或者用户隐私泄露的不足,提出了一种基于区块链的大数据安全共享方法和系统,用一个区块链和一个开源的用户界面来代替了传统中心化的大数据平台,借助区块链技术,让矿工代替中心化的数据管理平台,从而确保用户信息的安全性。

本发明是通过以下技术方案实现的:

本发明涉及一种基于区块链的大数据安全共享方法,数据需求方通过开源用户界面向数据提供方广播包含报酬信息的智能合约,并对所要求的隐私信息加密;数据提供方根据智能合约中的报酬金额决定是否接下任务,数据需求方经确认后选择接下任务并运行数据需求方发来的代码,并根据代码结构,判断有无暴露隐私信息而决定是否向合约提供数据,当未暴露隐私信息且数据提供方认可报酬,则数据提供方将结果投递至广播网络中智能合约,并在被矿工确认后获取报酬;矿工在后台执行经过编译的代码,并将结果确认交易,最终根据确认交易的工作量在后台通过智能合约赚取报酬。

所述的数据提供方和数据需求方优选通过开源用户界获取智能合约的信息并发送任务接受和确认的信息。

所述的开源用户界面采用但不限于:公开的需求数据获取具体方法的说明网站。

技术效果

与现有技术相比,本发明具有高度匿名化:用户在分享数据的过程中将会具有更高的匿名性。其匿名化程度约等于以太币持币者的匿名性;通过使用区块链技术,本发明有效杜绝了数据共享平台易受分布式拒绝攻击(DDOS)、女巫攻击(Sybil attacks)的安全隐患。

附图说明

图1为实施例系统的结构示意图;

图2为实施例中系统经智能合约封装后的结构示意图;

图3为实施例中系统智能合约数据需求方发起合约流程示意图;

图4为实施例中系统智能合约数据需求方中止合约流程示意图;

图5为实施例中系统智能合约数据提供方提交数据流程示意图。

具体实施方式

如图2所示,本实施例涉及一种将去中心化的数据管理共享平台使用智能合约封装,并将整个系统的框架简化为智能合约下的大数据安全共享系统,包括数据需求方、数据提供方以及矿工三部分,其中:数据需求方通过开源用户界面向数据提供方广播包含报酬信息的智能合约,并对所要求的隐私信息加密;数据提供方根据智能合约中的报酬金额决定是否接下任务。在通过开源用户界面对智能合约的信息进行确认后,数据需求方可以选择接下任务,随之运行数据需求方发来的代码,并根据代码结构,判断有无暴露隐私信息而决定是否向合约提供数据,当未暴露隐私信息且数据提供方认可报酬,则数据提供方将结果投递至广播网络中智能合约,并在被矿工确认后获取报酬;矿工在后台执行经过编译的代码,并将结果确认交易,最终根据确认交易的工作量在后台通过智能合约赚取报酬。

将三部分拼接起来,由数据需求方发起智能合约开始,到数据提供方填写合约数据以及矿工随时的确认交易,本实施例可以完整的实现本发明的技术效果,

所述的智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。本发明使用了以太坊的智能合约开发框架,借助以太币在社会上的公信力,解决了去中心化的区块链数据管理平台难以建立用户信任度的问题。

在图2中,数字标号简单记录了在一次大数据分享任务中整个框架的流程顺序。其中流程标号2*代表此流程2*可以与流程2同步进行,而流程标号x表示此流程可以在流程2后的任意时刻执行。另外,图2中的实线代表了必然会发生的流程,而虚线代表了可能在框架流程执行中并不会被执行的流程。

所述的加密,使用RSA加密算法,在提供的代码中使用特定的公钥进行加密,最后在搜集完所有区块链里的记录后再使用私钥对隐私信息进行解密,得到原来的文本。

所述的包含报酬信息是指:通过记录区块链交易的方式,将预付给矿工或者是数据提供方的报酬存入区块链中。

如图3所示,所述的发起包含报酬信息的智能合约具体为:使用了solidity平台下智能合约的payable函数,并对作为合约发起者的数据需求方所传递的信息的价值(msg.value)使用require语句进行限定,使其需要大于数据需求方所声称能够提供的报酬。与此同时,数据需求方需要向数据提供方广播数据提取程序,具体实现方案为使用TCP/IP协议对加入网络的用户进行程序传送。

所述的结果投递是指:数据提供方在智能合约中为用户提供提交数据的函数,并在函数体中加入对数据的分析与处理的代码片段。

所述的矿工确认是指:当矿工成功编译智能合约的代码,则说明数据提供方提交的数据无误,智能合约将把数据需求方指定的报酬在这个提交数据的函数的最后转交给数据提供方。

如图4所示,所述的数据需求方有权力在认定收集到了足够的数据或者是不想收集数据了的情况下中止合约,得到合约中尚未发完的报酬,具体为:使用了智能合约记录合约创建者即数据需求者的地址,并为数据需求者编写abort函数,在数据需求者调用函数时将当前合约的余额(this.balance)返回给数据需求者。

本实施例的性能指标主要体现在其安全性上,主要由智能合约背后的矿工模块确认区块链中的交易所达成。安全性具体可以考察本实施例的身份验证、加密体系和匿名性、抗攻击能力四个方面。在身份验证方面,节点的进出,即用户的注册需要由以太坊提供的密钥验证,能够有效的防止身份冒用,且用户的私钥具有完整的生命周期管理,即系统中拥有完备的私钥生成、分发、存储、使用以及销毁过程。在加密体系和隐私方面,本实施例使用以太坊的“椭圆曲线算法”生成用户公私钥,相较现有的大数据共享系统,由于使用了以太坊区块链的记账方式,可以实现远超现有系统的用户匿名性,即用户的个人信息仅由在以太坊中的公开地址提供。在抗攻击能力方面,相较当前大数据共享系统拥有易受网络攻击的问题,本实施例通过智能合约中对需求方和提供方的约束,基本杜绝了分布式拒绝攻击(DDOS)、女巫攻击(Sybil attacks)

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1