基于区块链的对等系统文件溯源方法技术方案

技术编号:21432848 阅读:27 留言:0更新日期:2019-06-22 12:06
本发明专利技术公开一种基于区块链的对等系统文件溯源方法,包括基于区块链的对等系统文件溯源方法和用户通过区块链进行对等系统文件下载的信息溯源过程。本发明专利技术可以让更多的参与方加入,一起维护一个账本,越多参与方加入,维护的数据越多,可以增加更多的信任背书,文件溯源更加可信。克服中心化系统的弊端,强有力的证书认证能避免人为纂改数据或数据意外丢失的问题,修改等操作必须通过所有组织的同意,大大提高了安全性。

【技术实现步骤摘要】
基于区块链的对等系统文件溯源方法
本专利技术涉及信息安全和通信
,具体涉及一种基于区块链的对等(PeertoPeer,P2P)系统文件溯源方法。
技术介绍
随着用户对文件下载速率和流媒体质量要求的不断提升,P2P几乎已经成为大型通信系统中不可缺少的技术,深入网民的生活。在P2P世界中,用户可以方便地免费拥有原先必须花钱才能获得的各种资源和服务,随之而来的问题是版权纠纷问题,盗版泛滥,盗版问题举证困难,维权成本过高。此外,用户还会下载到虚假的P2P文件,导致电脑中病毒,导致用户财产损失。因此需要一种有效的技术来保障版权保护和避免用户下载到虚假P2P文件的问题。
技术实现思路
本专利技术所要解决的是在P2P文件资源难以溯源而所导致的盗版泛滥过和虚假P2P种子所导致的电脑中病毒的问题,提供一种基于区块链的对等系统文件溯源方法。为解决上述问题,本专利技术是通过以下技术方案实现的:基于区块链的对等系统文件溯源方法,包括步骤如下:步骤1、上传用户通过浏览器上传P2P文件到一台种子服务器,种子服务器自动做种,生成此P2P文件种子;步骤2、种子服务器将自身的IP地址、生成种子的时间、种子对应的P2P文件的名称和上传资源的用户名通过JMS消息中间件自动发送给该种子服务器所对应的区块链组织的区块链客户端;步骤3、该区块链组织的区块链客户端将接收到的这些信息当做P2P文件下载信息的交易,并向该区块链组织的背书节点提交交易;步骤4、该区块链组织的背书节点对交易的合法性进行校验;若校验通过,则模拟该交易的执行结果,并将模拟执行结果反馈给该区块链组织的区块链客户端,否则,丢弃该交易;步骤5、该区块链组织的区块链客户端接收到模拟执行结果后,向所属超级账本区块链系统的排序服务节点提交该区块链客户端的签名和模拟执行结果的交易;步骤6、排序服务节点转发这笔交易给Kafka;步骤7、排序服务节点订阅Kafka所发布的包含区块链客户端签名的交易,并对交易进行排序生成区块后,广播区块给所属超级账本区块链系统的各个区块链组织的主节点;步骤8、每个区块链组织的主节点分别校验区块里面的交易的合法性;若校验通过,则主节点将该区块同步到同一个区块链组织的背书节点和记账节点中,否则,丢弃该交易;步骤9、背书节点和记账节点在与主节点进行区块同步过程中,背书节点和记账节点同时对交易的合法性进行校验;若背书节点和记账节点均校验通过,则将该交易保存到该记账节点、背书节点和主节点对应的区块链组织中,否则,丢弃该交易;步骤10、下载用户使用浏览器从种子服务器下载所需下载的P2P文件的种子,并该种子导入到相应的下载节点,下载节点开始下载,直到下载任务完成;步骤11、下载节点将自身的IP地址、下载完成时间、下载的P2P文件名和下载用户信息经由JMS消息中间件自动发送给该下载节点所对应区块链组织里面的区块链客户端;步骤12、溯源用户把P2P文件名输入任意一个区块链组织的区块链客户端;步骤13、区块链客户端与其对应的区块链组织中安装有智能合约的节点进行通信;步骤14、安装有智能合约的节点调用智能合约,并向该安装有智能合约的节点所属的区块链组织发起查询请求;如果查询成功,则并将历史信息返回给安装有智能合约的节点,否则,将空值返回给安装有智能合约的节点,中止查询;步骤15、安装有智能合约的节点将所查询到的P2P文件的历史信息返回给区块链组织的区块链客户端供溯源用户查看。上述方案中,安装有智能合约的节点为区块链组织的主节点、背书节点或记账节点。与现有技术相比,本专利技术具有如下特点:1、可以让更多的参与方加入,一起维护一个账本,越多参与方加入,维护的数据越多,可以增加更多的信任背书,文件溯源更加可信。克服中心化系统的弊端,强有力的证书认证能避免人为纂改数据或数据意外丢失的问题,修改等操作必须通过所有组织的同意,大大提高了安全性。2、打破信息的孤立,多方参与共同维护同一个账本,减少多个组织重复对账的成本问题,提高数据的实时共享性,数据的共享更加安全方便,快速达成信息的一致性,减少溯源过程中成本过高的问题,减少P2P文件数字版权维权的成本高的问题,降低多组织的存在而导致信息的漏上传的概率。减少用户下载到恶意虚假种子的概率,从而减少对计算机的危害。附图说明图1为基于区块链的P2P文件的溯源系统的示意图。图2为本专利技术所述方法的P2P文件下载信息上链流程图。图3为用户通过区块链对P2P文件下载的信息溯源的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本专利技术进一步详细说明。图1为基于区块链的P2P文件的溯源系统的示意图,其主要包括以下组成部分:(1)P2P系统:用户:包括上传P2P文件的用户,下载P2P文件的用户(一个用户对应一个下载节点)和进行溯源操作的用户。种子服务器:可以有一个或者多个,本实施例为1个种子服务器。用户上传P2P文件到种子服务器,该种子服务器是生成P2P文件种子和提供初始完整的P2P文件服务的提供方。种子服务器自动生成P2P文件种子。JMS即Java消息服务应用程序接口:是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信,在文中称为JMS消息中间件。下载节点:运行在计算机中,能够连接种子服务器或者其他有P2P文件的下载节点进行文件下载,完成下载后自动通过JMS消息中间件将P2P文件下载的相关信息(即下载节点的用户名,IP地址,P2P文件名,下载完成时间)上传到超级账本区块链系统。(2)超级账本区块链系统:排序服务节点:本实施例包括一个排序服务节点,其主要负责对交易进行打包。Kafka:本实施例包括1个Kafka,中文名为卡夫卡,其是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。区块链组织:本实施例包括4个区块链组织。每个区块链组织(如图2所示)包含:背书节点,主节点,记账节点和区块链客户端。每个区块链组织包括背书节点、主节点、记账节点、智能合约和区块链客户端。区块链客户端是使用超级账本软件开发工具包编写,它能够对超级账本区块链进行相关操作。智能合约是区块链客户端和超级账本区块链的之间的桥梁,通过智能合约区块链客户端可以向超级账本区块链发起交易查询。本专利技术默认所有用户和所有的区块链客户端都已经获取授权,能接入区块链和P2P系统,进行相应的操作。背书节点是一个应用程序,主要负责对交易进行校验。记账节点是一个应用程序,主要负责把区块加入区块链。主节点是一个应用程序,主要负责接收排序服务节点发送的区块。区块链系统接收下载节点通过JMS消息中间件传输的P2P文件下载的相关信息。本专利技术中的交易指的是P2P文件下载的信息的交易,以下统称交易。本专利技术在下载过程中下载的是同一个P2P文件。超级账本区块链系统对各下载节点发送过来的P2P文件下载的信息的交易进行记录和校验,校验通过即记录到区块链,校验不通过就丢弃。由于区块链不可篡改的特性。基于以上过程完成存储的信息的不可篡改,大大提高溯源的可信度。因此超级账本区块链系统是溯源的重要基础设施。基于区块链的对等系统文件溯源方法,其具体包括如下步骤:1、对等系统(PeertoPeer,P2P)文件下载信本文档来自技高网...

【技术保护点】
1.基于区块链的对等系统文件溯源方法,其特征是,包括步骤如下:步骤1、上传用户通过浏览器上传P2P文件到一台种子服务器,种子服务器自动做种,生成此P2P文件种子;步骤2、种子服务器将自身的IP地址、生成种子的时间、种子对应的P2P文件的名称和上传资源的用户名通过JMS消息中间件自动发送给该种子服务器所对应的区块链组织的区块链客户端;步骤3、该区块链组织的区块链客户端将接收到的这些信息当做P2P文件下载信息的交易,并向该区块链组织的背书节点提交交易;步骤4、该区块链组织的背书节点对交易的合法性进行校验;若校验通过,则模拟该交易的执行结果,并将模拟执行结果反馈给该区块链组织的区块链客户端,否则,丢弃该交易;步骤5、该区块链组织的区块链客户端接收到模拟执行结果后,向所属超级账本区块链系统的排序服务节点提交该区块链客户端的签名和模拟执行结果的交易;步骤6、排序服务节点转发这笔交易给Kafka;步骤7、排序服务节点订阅Kafka所发布的包含区块链客户端签名的交易,并对交易进行排序生成区块后,广播区块给所属超级账本区块链系统的各个区块链组织的主节点;步骤8、每个区块链组织的主节点分别校验区块里面的交易的合法性;若校验通过,则主节点将该区块同步到同一个区块链组织的背书节点和记账节点中,否则,丢弃该交易;步骤9、背书节点和记账节点在与主节点进行区块同步过程中,背书节点和记账节点同时对交易的合法性进行校验;若背书节点和记账节点均校验通过,则将该交易保存到该记账节点、背书节点和主节点对应的区块链组织中,否则,丢弃该交易;步骤10、下载用户使用浏览器从种子服务器下载所需下载的P2P文件的种子,并该种子导入到相应的下载节点,下载节点开始下载,直到下载任务完成;步骤11、下载节点将自身的IP地址、下载完成时间、下载的P2P文件名和下载用户信息经由JMS消息中间件自动发送给该下载节点所对应区块链组织里面的区块链客户端;步骤12、溯源用户把P2P文件名输入任意一个区块链组织的区块链客户端;步骤13、区块链客户端与其对应的区块链组织中安装有智能合约的节点进行通信;步骤14、安装有智能合约的节点调用智能合约,并向该安装有智能合约的节点所属的区块链组织发起查询请求;如果查询成功,则并将历史信息返回给安装有智能合约的节点,否则,将空值返回给安装有智能合约的节点,中止查询;步骤15、安装有智能合约的节点将所查询到的P2P文件的历史信息返回给区块链组织的区块链客户端供溯源用户查看。...

【技术特征摘要】
1.基于区块链的对等系统文件溯源方法,其特征是,包括步骤如下:步骤1、上传用户通过浏览器上传P2P文件到一台种子服务器,种子服务器自动做种,生成此P2P文件种子;步骤2、种子服务器将自身的IP地址、生成种子的时间、种子对应的P2P文件的名称和上传资源的用户名通过JMS消息中间件自动发送给该种子服务器所对应的区块链组织的区块链客户端;步骤3、该区块链组织的区块链客户端将接收到的这些信息当做P2P文件下载信息的交易,并向该区块链组织的背书节点提交交易;步骤4、该区块链组织的背书节点对交易的合法性进行校验;若校验通过,则模拟该交易的执行结果,并将模拟执行结果反馈给该区块链组织的区块链客户端,否则,丢弃该交易;步骤5、该区块链组织的区块链客户端接收到模拟执行结果后,向所属超级账本区块链系统的排序服务节点提交该区块链客户端的签名和模拟执行结果的交易;步骤6、排序服务节点转发这笔交易给Kafka;步骤7、排序服务节点订阅Kafka所发布的包含区块链客户端签名的交易,并对交易进行排序生成区块后,广播区块给所属超级账本区块链系统的各个区块链组织的主节点;步骤8、每个区块链组织的主节点分别校验区块里面的交易的合法性;若校验通过,则主节点将该区块同步到同一个区块链组织的背书节点和记账节点中,否则,丢弃该交...

【专利技术属性】
技术研发人员:何倩覃幸王士成江炳城李雪聪王勇覃匡宇杨指挥周水明
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1