CN108733788B - 一种闲置存储空间确认方法、装置及计算机存储介质 - Google Patents

一种闲置存储空间确认方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN108733788B
CN108733788B CN201810449905.5A CN201810449905A CN108733788B CN 108733788 B CN108733788 B CN 108733788B CN 201810449905 A CN201810449905 A CN 201810449905A CN 108733788 B CN108733788 B CN 108733788B
Authority
CN
China
Prior art keywords
random
node
verified
keyword
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810449905.5A
Other languages
English (en)
Other versions
CN108733788A (zh
Inventor
胡宇光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810449905.5A priority Critical patent/CN108733788B/zh
Publication of CN108733788A publication Critical patent/CN108733788A/zh
Application granted granted Critical
Publication of CN108733788B publication Critical patent/CN108733788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明例公开一种闲置存储空间确认方法、装置及计算机存储介质,能够对区块链系统中节点的闲置存储空间进行有效验证。该方法包括:接收到第二节点发送的闲置存储空间信息的情况下,确定与闲置存储空间信息对应的互不相同的N个随机关键字;发送控制信息至第二节点,控制信息用于指示第二节点基于预设单向函数生成与N个随机关键字一一对应的N个映射值,按照对应关系保存N个随机关键字与N个映射值;向第二节点发送待验证关键字对应的待验证映射值;接收第二节点基于待验证映射值反馈的验证信息;基于待验证关键字,对验证信息进行验证,以确认第二节点实际闲置存储空间的存储量与存储空间信息指示的存储量是否一致。

Description

一种闲置存储空间确认方法、装置及计算机存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种闲置存储空间确认方法、装置及计算机存储介质。
背景技术
区块链是当下的热点和引领未来的趋势,区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,因为其具有去中心化、公开透明,每个人均可参与数据库记录,信息不可伪造和篡改的特点,非常适合现代信息化管理领域。区块链中的节点可将计算、存储、带宽资源等闲置资源分享出去,用于创造价值,即可获得对应的奖励。如果节点将闲置的存储资源分享出去用以获得对应奖励,为了争取到奖励,会存在节点的闲置存储空间证明作弊的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的闲置存储空间确认方法、装置及计算机存储介质。
第一方面,本申请提供一种闲置存储空间确认方法,应用于第一节点,包括:
接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
可选的,所述确定与所述闲置存储空间信息对应的N个随机关键字,包括:
确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
确定所述闲置存储空间信息指示的闲置存储空间的存储量;
获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
按预设规则生成N个随机关键字。
可选的,所述按预设规则生成N个随机关键字,包括:
获得所述第二节点的标识信息;
生成N个随机值,所述N个随机值互不相同;
确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
可选的,所述按预设规则生成N个随机关键字,包括:
生成N个随机值,所述N个随机值互不相同;
确定N个随机值为N个随机关键字。
可选的,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
可选的,所述向所述第二节点发送待验证关键字对应的待验证映射值,包括:
通过所述预设单向函数生成所述待验证关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
可选的,所述向所述第二节点发送待验证关键字对应的待验证映射值,包括:
基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
可选的,所述基于所述待验证关键字,对所述验证信息进行验证,包括:
如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
可选的,所述如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,包括:
确认所述验证信息对应的反馈时长;
如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
可选的,所述基于所述待验证关键字,对所述验证信息进行验证,包括:
如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
可选的,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
可选的,所述第一节点与所述第二节点为区块链中的节点。
第二方面,本申请提供一种闲置存储空间确认装置,应用于第一节点,所述装置包括:
确定单元,用于接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
第一发送单元,用于发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
第二发送单元,用于向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
验证单元,用于接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
可选的,所述确定单元包括:
第一确定模块,用于确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
第二确定模块,用于确定所述闲置存储空间信息指示的闲置存储空间的存储量;
第一获取模块,用于获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
第一生成模块,用于按预设规则生成N个随机关键字。
可选的,所述第一生成模块包括:
获取子模块,用于获得所述第二节点的标识信息;
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第一确定子模块,用于确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
可选的,所述第一生成模块包括:
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第二确定子模块,用于确定N个随机值为N个随机关键字。
可选的,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
可选的,所述第二发送单元包括:
第二生成模块,用于通过所述预设单向函数生成所述待验证关键字的待验证映射值;
第一发送模块,用于向所述第二节点发送所述待验证映射值。
可选的,所述第二发送单元包括:
第三确定模块,用于基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
第三生成模块,用于通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
第二发送模块,用于向所述第二节点发送所述待验证映射值。
可选的,所述验证单元包括:
第一验证模块,用于如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
可选的,所述第一验证模块包括:
确认子模块,用于确认所述验证信息对应的反馈时长;
验证子模块,用于如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
可选的,所述验证单元包括:
第二验证模块,用于如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
可选的,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
可选的,所述第一节点与所述第二节点为区块链中的节点。
第三方面,本申请提供一种闲置存储空间确认装置,应用于第一节点,所述装置包括处理器和存储器:所述存储器用于存储执行前述第一方面所述闲置存储空间确认方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本申请提供一种计算机存储介质,用于储存为上述闲置存储空间确认装置所用的计算机软件指令,其包含用于执行上述方面为闲置存储空间确认装置所设计的程序。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,通过提供一种闲置存储空间确认方法,应用于第一节点,第一节点可对第二节点的闲置存储空间进行验证,当第一节点接收到第二节点发送的闲置存储空间信息的情况下,确定与闲置存储空间信息对应的N个互不相同的随机关键字,然后发送控制信息至第二节点,指示第二节点基于预设单向函数生成与N个随机关键字一一对应的映射值,如果第二节点实际具有的闲置存储空间与声称的闲置存储空间大小一致,N个随机关键字与N个映射值能刚好填满闲置存储空间信息指示的闲置存储空间。这样,第一节点可随时向第二节点发起挑战,向第二节点发送待验证关键字对应的待验证映射值,指示第二节点可以通过之前存储的N个随机关键字与N个映射值,反馈与待验证映射值对应的随机关键词,在接收第二节点基于待验证映射值反馈的验证信息后,可以基于待验证关键字,对验证信息进行验证,以确认第二节点实际闲置存储空间的存储量与存储空间信息指示的存储量是否一致。这样,能有效解识别出节点的闲置存储空间证明作弊的情况,确保节点闲置存储空间分享奖励机制的公平性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明第一实施例中的一种闲置存储空间确认方法的流程图;
图2为本发明第二实施例中的一种闲置存储空间确认装置的示意图;
图3为本发明第三实施例中的一种闲置存储空间确认装置的示意图。
具体实施方式
本实施例公开一种闲置存储空间确认方法、装置及计算机存储介质。能够对区块链系统中节点的闲置存储空间进行有效验证。该方法包括:接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的互不相同的N个随机关键字;发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;接收所述第二节点基于所述待验证映射值反馈的验证信息;基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例
本发明第一实施例提供一种闲置存储空间确认方法,该方法的流程图如图1所示,该闲置存储空间确认方法应用于第一节点,该闲置存储空间确认方法包括如下步骤:
S101:接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
S102:发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
S103:向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
S104:接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
其中,所述第一节点与所述第二节点为区块链中的节点,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
具体的,在本实施例中,闲置存储空间确认方法主要应用区块链中的节点,当然,还可以应用于其他架构网络中的节点,如:分布式网络,在此,本申请不做限制。本实施例主要以区块链中的节点为例,进行详细阐述。
区块链中包括多个节点,节点具体可以为用户电脑,用户手机、路由设备等等,当然,还可以是其他类型设备,在此,本申请不做限制。每个节点可根据实际情况分享出自己的闲置存储空间,以获得相应的奖励。第一节点可以是区块链中的可信节点,即区块链中信任度较高的节点,如:服务器,当然,也可以是区块链中的任意一个节点,在此,本申请不做限制。第二节点可以是具有闲置存储空间的节点。
在区块链场景中,当第二节点希望能过分享自己的闲置存储空间以获得奖励时,或者希望通过证明自己拥有较大的存储能力,以获得记账权情况下,会触发第二节点向第一节点发送闲置存储空间信息,该闲置存储空间信息指示了第二节点自己声称的具有的闲置存储空间的存储量。
进而,第一节点通过步骤S101,在获得第二节点发送的闲置存储空间信息的情况下,确定与闲置存储空间信息对应的N个互不相同的随机关键字。
在本实施例中,确定与闲置存储空间信息对应的N个互不相同的随机关键字可通过如下步骤实现:
确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;确定所述闲置存储空间信息指示的闲置存储空间的存储量;获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;按预设规则生成N个随机关键字。
具体的,在本实施例中,如果第二节点发送闲置存储空间信息指示的闲置存储空间的存储量为Q,第一节点设定随机关键字占P个字节,预设单向函数生成的映射值占K个字节,则N=Q/(P+K),确定需要生成N个占P个字节的随机关键字,可以指示第二节点采用预设单向函数生产与N个随机关键字一一对应的N个映射值,这样,N个随机关键字与N个映射值所占的存储空间刚好为Q,通过指示第二节点生成N个映射值,保存N个随机关键字与N个映射值后,第二节点声称的闲置存储空间刚好被填满。
在本实施例中,预设单向函数可以采用哈希函数,生成的映射值为二进制的为第一预设长度的哈希值。当然,还可以采用其他能产生固定长度字符串的单向函数,在此,本申请不做限制。以预设单向函数为哈希函数为例,第二节点声称自己拥有1T的闲置存储空间,发送该信息至第一节点。第一节点规定随机关键字占8字节,哈希函数生成的哈希值占32字节,则确定需要产生1T/(32+8)个随机关键字。
进而,在产生随机关键字时,可以通过但不限于以下两种方式实现:
第一种方式:获得所述第二节点的标识信息;生成N个随机值,所述N个随机值互不相同;确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
具体的,在本实施例中,可以生成N个随机值,随机值可以是数字、字符或字符串,在具体实施过程中可根据实际需要进行设定,在此,本申请不做限制。在第二节点发送闲置存储空间信息时,该闲置存储空间信息中可以包括第二节点的标识信息(ID),第一节点可以确定N个随机关键字中每个随机关键字包括第二节点的ID、N个随机值中的一个随机值以及一个预设字符串,每个随机关键字包括的随机值不同。在具体实施过程中,预设字符串为一个固定字符串,可根据实际需要进行设定,在此,本申请不做限制。举例来说,如果第一节点生成N个随机值为1、2、……、N,预设字符串为A,则N个随机关键字可以为:ID+1+A、ID+2+A、……、ID+N+A。需要注意的是,N个随机关键字中每个关键字的长度为第二预设长度(如:8字节)。
第二种方式:生成N个随机值,所述N个随机值互不相同;确定N个随机值为N个随机关键字。
具体的,在本实施例中,可以生成N个随机值,随机值可以是数字、字符或字符串,在具体实施过程中可根据实际需要进行设定,在此,本申请不做限制。第一节点可以直接将生成的N个随机值作为N个随机关键字。举例来说,如果第一节点生成N个随机值为1、2、……、N,则N个随机关键字可以为1、2、……、N。
由于存在上述两种生成N个随机关键字的方式,产生的N个随机关键字组成形式不同,所以,以下分为两种情况介绍步骤S102以及步骤S103的实现过程。
第一种情况,N个随机关键字通过上述第一种方式确定,则步骤S102可以发送控制信息至第二节点,该控制信息中包括上述第一种方式确定出的N个随机关键字,控制信息指示第二节点直接采用预设单向函数对N个随机关键字进行转换,以预设单向函数为哈希函数为例,沿用前述示例,N个随机关键字可以为:ID+1+A、ID+2+A、……、ID+N+A。则随机关键字ID+1+A通过哈希函数得到对应的哈希值为hash(ID+1+A),随机关键字ID+2+A通过哈希函数得到对应的哈希值为hash(ID+2+A),以此类推,随机关键字ID+N+A通过哈希函数得到对应的哈希值为hash(ID+N+A)。第二节点在转换得到每个随机关键字对应的哈希值时,会将该随机关键字和对应的哈希值保存起来,如:保存随机关键字ID+1+A与hash(ID+1+A)、随机关键字ID+2+A与hash(ID+2+A)、……、随机关键字ID+N+A与hash(ID+1+A)。
如果第二节点实际存在的闲置存储空间大小与声称的闲置存储空间大小相等,则N个随机关键字与N个哈希值刚好能填满其闲置存储空间,如果第二节点实际存在的闲置存储空间小于声称的闲置存储空间,则第二节点仅能保存N个随机关键字与N个哈希值中的部分。
进而,在第一种情况下,第一节点可通过步骤S103,通过所述预设单向函数生成所述待验证关键字的待验证映射值;向所述第二节点发送所述待验证映射值。
具体的,在本实施例中,第一节点首先从上述N个随机关键字中确定一个作为待验证关键字,则采用同样的预设单向函数,将待验证关键字转换为待验证映射值,并向第二节点发送该待验证映射值。举例来讲,继续沿用前述示例,如果待验证关键字为ID+2+A,预设单向函数为哈希函数,则待验证映射值为hash(ID+2+A)。当然,还可以同时确定出多个待验证关键字,进而确定多个待验证映射值供第二节点进行查询反馈,其确定方式类似一个的情况,在此,本申请不做赘述。
第二种情况,N个随机关键字通过上述第二种方式确定,则步骤S102可以发送控制信息至第二节点,该控制信息中包括上述第二种方式确定出的N个随机关键字,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
具体的,在本实施例中,第一节点发送控制信息包括N个随机关键字,如前述示例中的N个随机关键字可以为1、2、……、N。控制信息还可以包括预设字符串,预设字符串为一个固定字符串,可根据实际需要进行设定,在此,本申请不做限制。第一节点通过控制信息指示第二节点生成N个组合随机关键字,每个组合随机关键字包括该第二节点的ID,一个随机关键字和该预设字符串。进而,控制信息还指示第二节点采用预设单向函数对N个组合随机关键字进行转换,得到N个组合随机关键字对应的映射值,并按对应关系保存N个随机关键字与N个组合随机关键字对应的映射值。
举例来说,以预设单向函数为哈希函数为例,沿用前述示例,如果第一节点生成N个随机关键字为1、2、……、N,预设字符串为A,则可得到N个组合随机关键字为ID+1+A、ID+2+A、……、ID+N+A,则组合随机关键字ID+1+A通过哈希函数得到对应的哈希值为hash(ID+1+A),组合随机关键字ID+2+A通过哈希函数得到对应的哈希值为hash(ID+2+A),以此类推,组合随机关键字ID+N+A通过哈希函数得到对应的哈希值为hash(ID+N+A)。第二节点在转换得到每个组合随机关键字对应的哈希值时,会将该组合随机关键字对应的随机关键字与得到的组合随机关键字对应的哈希值保存起来,如:保存随机关键字1与hash(ID+1+A)、随机关键字2与hash(ID+2+A)、……、随机关键字N与hash(ID+1+A)。
如果第二节点实际存在的闲置存储空间大小与声称的闲置存储空间大小相等,则N个随机关键字与N个哈希值刚好能填满其闲置存储空间,如果第二节点实际存在的闲置存储空间小于声称的闲置存储空间,则第二节点仅能保存N个随机关键字与N个哈希值中的部分。
进而,在第二种情况下,第一节点可通过步骤S103,基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;向所述第二节点发送所述待验证映射值。
具体的,在本实施例中,第一节点首先从上述N个随机关键字中确定一个作为待验证关键字,则采用同样的预设单向函数以及预设字符串和第二节点的ID,得到待验证组合关键字。进而将待验证组合关键字转换为待验证映射值,并向第二节点发送该待验证映射值。举例来讲,继续沿用前述示例,如果待验证关键字为2,预设字符为A,第二节点的ID,则待验证组合关键字为ID+2+A,将其通过哈希函数转换,得到待验证映射值为hash(ID+2+A)。当然,还可以同时确定出多个待验证组合关键字,进而确定多个待验证映射值供第二节点进行查询反馈,其方式类似一个的情况,在此,本申请不做赘述。
进而,在通过步骤S103向第二节点发送待验证映射值后,第二节点会反馈验证信息,通过步骤S104,对第二节点的验证信息进行验证,验证方式可通过但不限于以下几种:
第一种方式:如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
具体的,在本实施例中,由于在步骤S102中,第一节点通过控制信息指示第二节点按对应关系保存了N个随机关键字与N个映射值。如果第二节点实际存在的闲置存储空间大小与声称的闲置存储空间大小相等,则N个随机关键字与N个映射值刚好能填满其闲置存储空间,如果第二节点实际存在的闲置存储空间小于声称的闲置存储空间,则第二节点仅能保存N个随机关键字与N个映射值中的部分。这样,第二节点接收到待验证映射值,如果第二节点按对应关系保存了完整的N个随机关键字与N个映射值,可快速确定出与该待验证映射值对应的随机关键字,将确定出的随机关键字反馈至第一节点,第一节点就可以收到第二节点的反馈的验证信息。如果第二节点按对应关系仅保存了N个随机关键字与N个映射值中的部分,第二节点可能无法反推得到与该待验证映射值对应的随机关键字,所以无法反馈验证信息,或者反馈伪造的验证信息,第一节点就可以收到第二节点的反馈的验证信息后,第一节点基于待验证关键字,对验证信息中反馈的随机关键字进行验证。具体的,如果验证信息中包括的随机关键词与待验证关键字一致,确认验证通过,表明第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。如果未收到验证信息,或者验证信息中包括的随机关键词与待验证关键字不同,则验证信息中包括的随机关键词可能是伪造的,表明该第二节点实际闲置存储空间的存储量小于存储空间信息指示的存储量。
进一步,在本实施例中,还需确认所述验证信息对应的反馈时长;如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
具体的,第一节点设置一个等待时长为预设时长,如:30秒、1分钟等,在具体实施过程中,预设时长可根据实际需要进行设定,在此,本申请不做限制。在第二节点反馈验证信息时,还会获得该验证信息对应的反馈时长,如果反馈时长小于预设时长且验证信息中包括的随机关键词与待验证关键字一致,确认验证通过。举例来说,预设时长设置为1分钟,在30秒的时候接收到第二节点的验证信息,且该验证信息中包括的随机关键词与待验证关键字一致,表明第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。设置预设时长是为了避免第二节点伪造或破译与待验证映射值对应的随机关键词的情况,由于待验证映射值通过单向函数产生,较难破译,且破译时间较长。所以即使第二节点想要破译,也需要大量时间和运算。如果在预设时长范围内未收到验证信息,或者验证信息中包括的随机关键词与待验证关键字不同,则验证信息中包括的随机关键词可能是伪造的,表明该第二节点实际闲置存储空间的存储量小于存储空间信息指示的存储量。
第二种方式:如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
具体的,在本实施例中,第一节点可以向第二节点发送M个待验证关键字一一对应的M个待验证映射值,具体的,可以依次按间隔时间发送或一起发送,在此,本申请不做限制。依次发送情况下,第二节点依次反馈验证信息,如果每次反馈的验证信息中包括的随机关键词与该次发送的待验证映射值对应的待验证关键字一致,则确认验证通过。同时发送情况下,第二节点同时反馈验证信息,验证信息中包括M个随机关键词,如果该M个随机关键词与M个待验证关键字一致,则确认验证通过。
通过本实施例中的闲置存储空间确认方法,可以对区块链系统中节点的闲置存储空间进行有效验证,进而能有效解识别出节点的闲置存储空间证明作弊的情况,确保节点闲置存储空间分享奖励机制的公平性。
请参照图2,本发明第二实施例还提供了一种闲置存储空间确认装置,应用于第一节点,所述装置包括:
确定单元201,用于接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
第一发送单元202,用于发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
第二发送单元203,用于向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
验证单元204,用于接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。作为一种可选的实施例,所述确定单元包括:
第一确定模块,用于确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
第二确定模块,用于确定所述闲置存储空间信息指示的闲置存储空间的存储量;
第一获取模块,用于获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
第一生成模块,用于按预设规则生成N个随机关键字。
作为一种可选的实施例,所述第一生成模块包括:
获取子模块,用于获得所述第二节点的标识信息;
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第一确定子模块,用于确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
作为一种可选的实施例,所述第一生成模块包括:
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第二确定子模块,用于确定N个随机值为N个随机关键字。
作为一种可选的实施例,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
作为一种可选的实施例,所述第二发送单元包括:
第二生成模块,用于通过所述预设单向函数生成所述待验证关键字的待验证映射值;
第一发送模块,用于向所述第二节点发送所述待验证映射值。
作为一种可选的实施例,所述第二发送单元包括:
第三确定模块,用于基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
第三生成模块,用于通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
第二发送模块,用于向所述第二节点发送所述待验证映射值。
作为一种可选的实施例,所述验证单元包括:
第一验证模块,用于如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
作为一种可选的实施例,所述第一验证模块包括:
确认子模块,用于确认所述验证信息对应的反馈时长;
验证子模块,用于如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
作为一种可选的实施例,所述验证单元包括:
第二验证模块,用于如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
作为一种可选的实施例,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
作为一种可选的实施例,所述第一节点与所述第二节点为区块链中的节点。
本发明第三实施例还提供了一种闲置存储空间确认装置,请参照图3,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
图3示出的是与本发明实施例提供的闲置存储空间确认装置的部分结构的示意图。该闲置存储空间确认装置包括存储器301,所述存储器301用于存储执行前述第一实施例中的闲置存储空间确认方法的程序。该闲置存储空间确认装置还包括处理器302,与所述存储器301连接,所述处理器302被配置为用于执行所述存储器301中存储的程序。
所述处理器302执行所述计算机程序时实现上述第一实施例中闲置存储空间确认方法中的步骤。或者,所述处理器执行所述计算机程序时实现上述第二实施例的闲置存储空间确认装置中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机装置中的执行过程。例如,所述计算机程序可以被分割成确定单元、第一发送单元、第二发送单元、验证单元的功能,各单元具体功能如下:
确定单元,用于接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
第一发送单元,用于发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
第二发送单元,用于向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
验证单元,用于接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
所述电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图3仅仅是闲置存储空间确认装置的功能部件的示例图,并不构成对闲置存储空间确认装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述闲置存储空间确认装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器301可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据闲置存储空间确认装置的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本发明实施例中,该处理器302还具有以下功能:
确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
确定所述闲置存储空间信息指示的闲置存储空间的存储量;
获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
按预设规则生成N个随机关键字。
在本发明实施例中,该处理器302还具有以下功能:
获得所述第二节点的标识信息;
生成N个随机值,所述N个随机值互不相同;
确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
在本发明实施例中,该处理器302还具有以下功能:
生成N个随机值,所述N个随机值互不相同;
确定N个随机值为N个随机关键字。
在本发明实施例中,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
在本发明实施例中,该处理器302还具有以下功能:
通过所述预设单向函数生成所述待验证关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
在本发明实施例中,该处理器302还具有以下功能:
基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
在本发明实施例中,该处理器302还具有以下功能:
如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
在本发明实施例中,该处理器302还具有以下功能:
确认所述验证信息对应的反馈时长;
如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
在本发明实施例中,该处理器302还具有以下功能:
如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
在本发明实施例中,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
在本发明实施例中,所述第一节点与所述第二节点为区块链中的节点。
本发明第四实施例提供了一种计算机可读存储介质,其上存储有计算机程序,本发明第二实施例中的所述闲置存储空间确认装置集成的功能单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例的闲置存储空间确认方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
本发明公开了A1、一种闲置存储空间确认方法,应用于第一节点,包括:
接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
A2、根据A1所述的方法,所述确定与所述闲置存储空间信息对应的N个随机关键字,包括:
确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
确定所述闲置存储空间信息指示的闲置存储空间的存储量;
获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
按预设规则生成N个随机关键字。
A3、根据A2所述的方法,所述按预设规则生成N个随机关键字,包括:
获得所述第二节点的标识信息;
生成N个随机值,所述N个随机值互不相同;
确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
A4、根据A2所述的方法,所述按预设规则生成N个随机关键字,包括:
生成N个随机值,所述N个随机值互不相同;
确定N个随机值为N个随机关键字。
A5、根据A4所述的方法,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
A6、根据A3所述的方法,所述向所述第二节点发送待验证关键字对应的待验证映射值,包括:
通过所述预设单向函数生成所述待验证关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
A7、根据A5所述的方法,所述向所述第二节点发送待验证关键字对应的待验证映射值,包括:
基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
A8、根据A1所述的方法,所述基于所述待验证关键字,对所述验证信息进行验证,包括:
如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
A9、根据A8所述的方法,所述如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,包括:
确认所述验证信息对应的反馈时长;
如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
A10、根据A1所述的方法,所述基于所述待验证关键字,对所述验证信息进行验证,包括:
如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
A11、根据A1-A10任一项所述的方法,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
A12、根据A1-A10任一项所述的方法,所述第一节点与所述第二节点为区块链中的节点。
B13、一种闲置存储空间确认装置,应用于第一节点,所述装置包括:
确定单元,用于接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
第一发送单元,用于发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
第二发送单元,用于向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
验证单元,用于接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致。
B14、如B13所述的装置,所述确定单元包括:
第一确定模块,用于确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
第二确定模块,用于确定所述闲置存储空间信息指示的闲置存储空间的存储量;
第一获取模块,用于获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
第一生成模块,用于按预设规则生成N个随机关键字。
B15、如B14所述的装置,所述第一生成模块包括:
获取子模块,用于获得所述第二节点的标识信息;
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第一确定子模块,用于确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
B16、如B14所述的装置,所述第一生成模块包括:
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第二确定子模块,用于确定N个随机值为N个随机关键字。
B17、如B16所述的装置,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
B18、如B15所述的装置,所述第二发送单元包括:
第二生成模块,用于通过所述预设单向函数生成所述待验证关键字的待验证映射值;
第一发送模块,用于向所述第二节点发送所述待验证映射值。
B19、如B17所述的装置,所述第二发送单元包括:
第三确定模块,用于基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
第三生成模块,用于通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
第二发送模块,用于向所述第二节点发送所述待验证映射值。
B20、如B13所述的装置,所述验证单元包括:
第一验证模块,用于如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
B20、如B19所述的装置,所述第一验证模块包括:
确认子模块,用于确认所述验证信息对应的反馈时长;
验证子模块,用于如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
B21、如B13所述的装置,所述验证单元包括:
第二验证模块,用于如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
B22、如B13-B21中任一项所述的装置,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
B23、如B13-B21中任一所述的装置,所述第一节点与所述第二节点为区块链中的节点。
C24、一种闲置存储空间确认装置,应用于第一节点,包括:
存储器,所述存储器用于存储执行A1至A12任一项所述方法的程序;
处理器,与所述存储器连接,所述处理器被配置为用于执行所述存储器中存储的程序。
C25、一种计算机存储介质,用于储存为上述闲置存储空间确认装置所用的计算机软件指令,该程序被处理器执行时实现A1-A12中任一项所述方法的步骤。

Claims (24)

1.一种闲置存储空间确认方法,应用于第一节点,其特征在于,包括:
接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致;
所述基于所述待验证关键字,对所述验证信息进行验证,包括:
如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
2.如权利要求1所述的方法,其特征在于,所述确定与所述闲置存储空间信息对应的N个随机关键字,包括:
确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
确定所述闲置存储空间信息指示的闲置存储空间的存储量;
获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
按预设规则生成N个随机关键字。
3.如权利要求2所述的方法,其特征在于,所述按预设规则生成N个随机关键字,包括:
获得所述第二节点的标识信息;
生成N个随机值,所述N个随机值互不相同;
确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
4.如权利要求2所述的方法,其特征在于,所述按预设规则生成N个随机关键字,包括:
生成N个随机值,所述N个随机值互不相同;
确定N个随机值为N个随机关键字。
5.如权利要求4所述的方法,其特征在于,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
6.如权利要求3所述的方法,其特征在于,所述向所述第二节点发送待验证关键字对应的待验证映射值,包括:
通过所述预设单向函数生成所述待验证关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
7.如权利要求5所述的方法,其特征在于,所述向所述第二节点发送待验证关键字对应的待验证映射值,包括:
基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
向所述第二节点发送所述待验证映射值。
8.如权利要求1所述的方法,其特征在于,所述如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,包括:
确认所述验证信息对应的反馈时长;
如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
9.如权利要求1所述的方法,其特征在于,所述基于所述待验证关键字,对所述验证信息进行验证,包括:
如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
10.如权利要求1-9中任一权利要求所述的方法,其特征在于,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
11.如权利要求1-9中任一权利要求所述的方法,其特征在于,所述第一节点与所述第二节点为区块链中的节点。
12.一种闲置存储空间确认装置,其特征在于,应用于第一节点,所述装置包括:
确定单元,用于接收到第二节点发送的闲置存储空间信息的情况下,确定与所述闲置存储空间信息对应的N个随机关键字,所述N个随机关键字互不相同,N为大于0的整数;
第一发送单元,用于发送控制信息至所述第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成与所述N个随机关键字一一对应的N个映射值,按照对应关系保存所述N个随机关键字与所述N个映射值,每个映射值的长度为第一预设长度,所述N个随机关键字与所述N个映射值能填满所述闲置存储空间信息指示的闲置存储空间;
第二发送单元,用于向所述第二节点发送待验证关键字对应的待验证映射值,指示所述第二节点反馈与所述待验证映射值对应的随机关键词,所述待验证关键字为所述N个随机关键字任意一个或多个组合;
验证单元,用于接收所述第二节点基于所述待验证映射值反馈的验证信息,基于所述待验证关键字,对所述验证信息进行验证,以确认所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量是否一致;
所述验证单元包括:
第一验证模块,用于如果所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过,表明所述第二节点实际闲置存储空间的存储量与所述存储空间信息指示的存储量一致。
13.如权利要求12所述的装置,其特征在于,所述确定单元包括:
第一确定模块,用于确定随机关键字的长度为第二预设长度以及所述预设单向函数生成的映射值为所述第一预设长度;
第二确定模块,用于确定所述闲置存储空间信息指示的闲置存储空间的存储量;
第一获取模块,用于获得所述存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N;
第一生成模块,用于按预设规则生成N个随机关键字。
14.如权利要求13所述的装置,其特征在于,所述第一生成模块包括:
获取子模块,用于获得所述第二节点的标识信息;
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第一确定子模块,用于确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
15.如权利要求13所述的装置,其特征在于,所述第一生成模块包括:
第一生成子模块,用于生成N个随机值,所述N个随机值互不相同;
第二确定子模块,用于确定N个随机值为N个随机关键字。
16.如权利要求15所述的装置,其特征在于,所述控制信息还包括预设字符串,所述控制信息用于指示所述第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
17.如权利要求14所述的装置,其特征在于,所述第二发送单元包括:
第二生成模块,用于通过所述预设单向函数生成所述待验证关键字的待验证映射值;
第一发送模块,用于向所述第二节点发送所述待验证映射值。
18.如权利要求16所述的装置,其特征在于,所述第二发送单元包括:
第三确定模块,用于基于所述待验证关键字、所述预设字符串以及所述第二节点的标识信息确定待验证组合关键字,所述待验证组合关键字包括所述第二节点的标识信息、所述待验证关键字与所述预设字符串;
第三生成模块,用于通过所述预设单向函数生成所述待验证组合关键字的待验证映射值;
第二发送模块,用于向所述第二节点发送所述待验证映射值。
19.如权利要求12所述的装置,其特征在于,所述第一验证模块包括:
确认子模块,用于确认所述验证信息对应的反馈时长;
验证子模块,用于如果所述反馈时长小于预设时长且所述验证信息中包括的随机关键词与所述待验证关键字一致,确认验证通过。
20.如权利要求12所述的装置,其特征在于,所述验证单元包括:
第二验证模块,用于如果向所述第二节点发送M个待验证关键字一一对应的M个待验证映射值,所述验证信息中包括的M个随机关键词与所述M个待验证关键字一致,确认验证通过,M为大于1的整数。
21.如权利要求12-20中任一权利要求所述的装置,其特征在于,所述预设单向函数为哈希函数,所述哈希函数能生成所述第一预设长度的哈希值,所述映射值为所述哈希值。
22.如权利要求12-20中任一权利要求所述的装置,其特征在于,所述第一节点与所述第二节点为区块链中的节点。
23.一种闲置存储空间确认装置,应用于第一节点,其特征在于,包括:
存储器,所述存储器用于存储执行权利要求1至11任一项所述方法的程序;
处理器,与所述存储器连接,所述处理器被配置为用于执行所述存储器中存储的程序。
24.一种计算机存储介质,其特征在于,用于储存为上述闲置存储空间确认装置所用的计算机软件指令,其包含用于执行上述方面为闲置存储空间确认装置所设计的程序。
CN201810449905.5A 2018-05-11 2018-05-11 一种闲置存储空间确认方法、装置及计算机存储介质 Active CN108733788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810449905.5A CN108733788B (zh) 2018-05-11 2018-05-11 一种闲置存储空间确认方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810449905.5A CN108733788B (zh) 2018-05-11 2018-05-11 一种闲置存储空间确认方法、装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN108733788A CN108733788A (zh) 2018-11-02
CN108733788B true CN108733788B (zh) 2021-06-04

Family

ID=63937319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810449905.5A Active CN108733788B (zh) 2018-05-11 2018-05-11 一种闲置存储空间确认方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN108733788B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
CN105930500A (zh) * 2016-05-06 2016-09-07 华为技术有限公司 数据库系统中事务恢复的方法与数据库管理系统
CN106027647B (zh) * 2016-05-20 2019-07-09 云南云电同方科技有限公司 Lxpfs集群分布式文件存储系统
US11182851B2 (en) * 2016-10-20 2021-11-23 International Business Machines Corporation Inter-ledger messaging in a blockchain
GB2557577A (en) * 2016-10-21 2018-06-27 Cygnetise Ltd Methods and apparatus for recording a change of authorisation state of one or more authorisation agents
CN107203345B (zh) * 2017-06-01 2019-10-01 深圳市云舒网络技术有限公司 一种多副本存储快速校验一致性方法及其装置
CN107995270A (zh) * 2017-11-24 2018-05-04 成都赤乌软件技术有限公司 一种基于区块链实现分布式文件存储的方法
CN107911461B (zh) * 2017-11-24 2021-05-07 网宿科技股份有限公司 云存储系统中的对象处理方法、存储服务器及云存储系统

Also Published As

Publication number Publication date
CN108733788A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN109067728B (zh) 应用程序接口的访问控制方法、装置、服务器及存储介质
US20160358135A1 (en) Digital currency management method and digital currency node apparatus
CN111008863B (zh) 一种基于区块链的抽奖方法及系统
CN110909356B (zh) 安全多方计算方法、装置、设备及计算机可读介质
CN109299149A (zh) 数据查询方法、计算设备以及系统
CN110113326B (zh) 一种基于区块链的竞争排名方法及装置
CN109493054B (zh) 多链信息管理方法、装置、存储介质和区块链身份解析器
EP3479540A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
WO2020102974A1 (zh) 一种数据访问方法、数据访问装置及移动终端
CN109299619A (zh) 数据查询方法、计算设备以及系统
CN111934873A (zh) 一种投标文件加解密方法及装置
CN113783708A (zh) 一种基于可靠广播的可再投票二元共识方法及装置
CN113810465A (zh) 一种异步二元共识方法及装置
CN112787812A (zh) 基于区块链的计算作业处理方法、装置及系统
CN112801301A (zh) 异步计算方法、装置、设备、存储介质及程序产品
CN111181944B (zh) 通信系统及信息发布方法、装置、介质、设备
CN113079139A (zh) 基于区块链的共识组主节点确定方法、装置及系统
CN110990790B (zh) 一种数据处理方法及设备
CN108733788B (zh) 一种闲置存储空间确认方法、装置及计算机存储介质
CN113988831A (zh) 一种基于联盟链的转账方法
CN113542405A (zh) 基于区块链的网络通信系统、方法、设备及存储介质
CN112994891B (zh) 一种基于门限签名的交易请求共识方法和系统
CN111899104B (zh) 一种业务执行方法及装置
CN110909314A (zh) 基于区块链的数据共享方法、装置、设备及可读存储介质
CN114398618B (zh) 一种设备身份的认证方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant