【技术实现步骤摘要】
高效的文件分享交互式验证方法及基于其的文件分享方法
[0001]本专利技术涉及区块链
和文件分享领域,具体来说,涉及一种高效的文件分享交互式验证方法及基于其的文件分享方法。
技术介绍
[0002]基于P2P技术的分布式文件分享技术被广泛应用于互联网,常见的应用包括BitTorrent、eDonkey、eMule、μTorrent、Napster、KaZaA等,这些应用依赖在线节点互相进行文件传输,极大地提高了文件分享效率。为了确保P2P文件分享网络中的资源不枯竭,需要有大量在线用户持续分享文件,因此,一种能够吸引更多用户参与文件分享的激励机制对P2P文件分享系统的正常运行至关重要。传统的激励机制依赖网络中的诚实节点或者中心化服务器来计算奖惩值,存在恶意用户攻击、中心化服务器单点失效或数据被篡改等安全问题。
[0003]针对这些问题,一种有效的解决方案是将区块链技术和P2P文件分享系统进行结合,利用数字货币奖励分享文件的用户。区块链的交互式验证协议可以确保参与分享文件的用户具备文件分享的资格,区块链的分布式和防篡改等特性可以确保系统不会发生单点失效或者信息被篡改等安全问题。目前,基于区块链的文件分享技术的研究分为两个方向。
[0004]一个方向是将P2P文件分享系统与成熟的区块链技术结合,如BTFS、BlockIPFS、Siacoin、Storj等,该方向专注于将文件分享过程与区块链现有的交互式验证协议结合,用户的文件分享资格验证依赖于现有的区块链交互式验证协议。为了通过分享文件获得代币奖励,用户 ...
【技术保护点】
【技术特征摘要】
1.一种高效的文件分享交互式验证方法,其步骤包括:1)文件分享者P生成初始证明文件,并广播用户标识id
P
与初始证明文件的随机抽样,以使任一保存被分享文件的文件分享者V,生成一随机挑战ch;2)将针对随机挑战ch生成的响应,发送给文件分享者V,以使文件分享者V验证所述响应后,文件分享者P具有文件分享资格。2.如权利要求1所述的方法,其特征在于,通过以下步骤生成初始证明文件:1)对分享文件F进行分块,计算每一分块B[k]的消息摘要H
B
[k];2)将每一消息摘要H
B
[k]切为p个分片,对每一分片P生成一节点列表N[i];3)通过尝试不同的随机数,获取符合设定条件的节点列表N[i];4)基于符合设定条件的节点列表N[i],使用固定随机挑战ch
′
执行证明阶段,生成初始证明文件。3.如权利要求2所述的方法,其特征在于,通过以下步骤生成所述响应:1)根据节点列表的总数,计算索引j,并根据随机挑战ch,生成一大小为m的数组CH,其中数组中的每个元素CH[i]占j
‑
1位;2)以元素CH[i]的值作为序号选择节点列表N[i],并连接被选择的节点列表N[i]后,计算摘要值D;3)将摘要值D与所有的节点列表N[i]进行拼接后,计算哈希值HD[i];4)将每一哈希值HD[i]作为叶子节点g,构建Merkle树,其中Merkle树内部父节点的值是通过拼接两个子节点后进行随机预言得到,Merkle树的根标签使用nroot表示;5)根据叶子节点总数,计算索引x,并对根标签nroot进行随机预言后,切割为一组大小为q的数组E;6)计算各叶子节点g到根节点的路径π
g
,其中路径π
g
包含相应节点的nonce;当E[g]是奇数时,路径π
g
包含从叶子节点N[E[g]]到根节点的路径,E[g]表示数组E的第g个元素;当E[g]是偶数,路径π
g
包含从叶子节点N[E[g]]与叶子节点N[E[g]
‑
1]到根节点的路径;7)输出响应X={nroot,π1,π2,
…
,π
g
}。4.如权利要求3所述的方法,其特征在于,通过以下步骤生成数组CH:1)使用散列算法,计算随机挑战ch的散...
【专利技术属性】
技术研发人员:苏帅,原方圆,袁煜琳,曾力,陈驰,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。