[发明专利]一种基于区块链的P2P安全下载检测方法及系统在审
申请号: | 201810350884.1 | 申请日: | 2018-04-18 |
公开(公告)号: | CN108737498A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 任伟;李斯敏 | 申请(专利权)人: | 中国地质大学(武汉) |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L9/32;H04L9/30 |
代理公司: | 武汉知产时代知识产权代理有限公司 42238 | 代理人: | 龚春来 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 安全下载 第三方 区块 下载 检测 中心服务器 记账过程 节点请求 片段检测 数据组织 文件片段 下载文件 信任机制 时间戳 去除 追溯 篡改 可信 惩罚 保证 | ||
1.一种基于区块链的P2P安全下载检测方法,其特征在于,包含如下步骤:
S1、P2P网络构造:P2P网络的构造包含安装P2P客户端和P2P网络协议;其中将参与P2P下载的每个节点均安装客户端,所述P2P客户端包括:比特币客户端、以太坊客户端、以太坊钱包;所述P2P协议可实现节点发现和网络组网功能,所述节点可以自由加入和退出P2P网络;
所述以太坊钱包里存储私钥PRKx,使用椭圆曲线乘法单向加密函数产生公钥PUKx,使用椭圆曲线乘法单向加密函数生成特定收款地址ADx;
P2P网络中,安装了挖矿软件的节点在挖矿网站上注册之后成为矿工;P2P网络中的每个节点维护各自的本地文件片段的列表,列表格式为:<Num1,Segment1,Length1,File1[Start,End],hash(Segment1)>,其中Num1为所述文件片段在列表中的位置序号,Segment1表示文件片段,Length1文件片段字节大小,File1[Start,End]表示文件片段在文件中的起止位置,hash(Segment1)表示所述文件片段的哈希值;
S2、节点请求下载文件片段过程:区块链中的任一请求节点N1在P2P网络中发布需要下载的文件片段的起止位置信息,区块链中其他所有节点收到所述信息后,和本地文件片段的列表进行核对,如果存在任意一个节点有所述文件片段,则所有的所述任意一个节点将文件片段的哈希值均传送给请求节点N1,请求节点N1收到后,核对所述文件片段哈希值与节点N1下载的文件列表中的文件片段哈希值是否一致,如果一致,则在所有的所述任意一个节点中选择距离请求节点N1最近、传输速度最快且带宽最大的一个节点N2与请求节点N1建立连接;
S3、文件片段下载过程:下载文件片段前,节点N1需要支付给节点N2代币,代币的个数为n个,下一次使用代币需要节点的多重签名,节点N2在等待全网共识账本已经完成k个区块的确认后,再向节点N1发送文件片段,其中n>0,k>0;
S4、激励与惩罚过程:节点N1下载文件片段后,进行核验所述文件片段的哈希值是否与预知的文件片段哈希值一致,如果正确则表明所述文件片段正确无误,则节点N1给节点N2提供签名,允许节点N2使用代币,否则不提供签名;如果N1在下载到正确文件片段后不提供签名,则第三方仲裁机构T介入,验证N1是否故意不支付,如果验证属实,则强制节点N1提供签名,允许节点N2使用代币;
S5、共识过程:通过基于PoW和PoS的联合机制,P2P网络可动态调整PoW共识过程的难度值,最先找到正确的解随机数的并经过全体节点验证的节点N3将会获得当前交易的记账权;
S6、记账过程:获得交易记账权的节点N3将节点N1与N2的交易信息打包成BLOCK,然后根据数据传播协议通知全网其他节点,通过交易验证机制,全网节点对该区块进行合法性验证,若验证通过,则记账节点将BLOCK放入共有链;记账的节点客户端满足具有挖矿打包区块功能,记账节点会取得n的比例p,即p*n作为手续费,所述手续费由N1支付。
2.根据权利要求1所述一种基于区块链的P2P安全下载检测方法,其特征在于,步骤S6中所述的公有链区块BLOCK数据结构包括:
A1区块体:A11当前区块的交易数量、A12经过验证的区块创建过程中生成的所有交易记录、A13当前区块大小;
A2区块头:A21当区块前版本号、A22前一区块地址、A23当前区块的目标哈希值、A24当前区块PoW共识过程的解随机数、A25Merkle根、A26当前区块生成的时间戳;
公有链区块上内容数据的数据结构包括:
B1元数据、B2交易费用、B3手续费、B4数据签名;
其中,哈希值:交易数据编码为特定长度的由数字和字母组成的字符串;
Merkel根:将区块体的数据进行分组哈希,将相邻的字符串合并为一个字符串,然后运算这个字符串的哈希,hash(hash(data1)||hash(data2)),得到数目少一级的哈希,如此递归直到只剩最后一个根哈希值记为区块头的Merkle根;
时间戳:主链上各区块是按照时间顺序依次排列的,记录区块数据的写入时间。时间戳可以作为区块数据的存在性证明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国地质大学(武汉),未经中国地质大学(武汉)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810350884.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能插线板绑定方法及系统
- 下一篇:服务器配置方法和装置