CN109801066A - 远程存储服务的实现方法及装置 - Google Patents
远程存储服务的实现方法及装置 Download PDFInfo
- Publication number
- CN109801066A CN109801066A CN201811524436.5A CN201811524436A CN109801066A CN 109801066 A CN109801066 A CN 109801066A CN 201811524436 A CN201811524436 A CN 201811524436A CN 109801066 A CN109801066 A CN 109801066A
- Authority
- CN
- China
- Prior art keywords
- storage service
- data
- certificate
- verified
- hash value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 4
- 238000013496 data integrity verification Methods 0.000 claims description 56
- 238000012795 verification Methods 0.000 claims description 31
- 238000007781 pre-processing Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 abstract 3
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例提供一种远程存储服务的实现方法及装置,所述方法包括:对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。本发明实施例使得存储服务需求者不需要承担额外的存储或计算任务,数据完整性验证较便捷。
Description
技术领域
本发明实施例涉及区块链技术和密码学领域,更具体地,涉及一种远程存储服务的实现方法及装置。
背景技术
随着云计算的发展,云服务种类越来越多,存储技术发展导致个人电脑拥有越来越多的空余存储资源,而如何整合这些空余存储资源并转换成经济效益成为有价值的问题,近年来随着区块链技术的兴起,电子货币或许可以为解决这一问题提供工具。
分布式存储系统是p2p系统的一个重要研究领域,区块链技术网络采用p2p的组网方式,同时区块链技术具有不可篡改、不可伪造、隐私保护、自动执行的智能合约特点。利用这些特点,研究者们提出了利用区块链技术完成分布式存储系统,可以充分利用用户的空闲存储资源。
目前基于区块链计算实现的分布式存储系统,用户进行数据完整性验证时验证较复杂,需要进行很多计算任务,不够便捷。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的远程存储服务的实现方法及装置。
第一方面,本发明实施例提供一种远程存储服务的实现方法,包括:
对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;
将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;
根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;
根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
第二方面,本发明实施例提供一种远程存储服务的实现方法,包括:
接收存储服务需求端发送的待进行远程存储的目标数据,将所述目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道;
接收所述存储服务需求端发送的挑战消息,根据所述挑战信息生成待验证的哈希值,并将所述待验证的哈希值发送给存储服务需求端,以供存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
第三方面,本发明实施例提供一种远程存储服务需求装置,包括:
预处理模块,用于对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;
数据传输模块,用于将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;
验证请求模块,用于根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;
验证模块,用于根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
第四方面,本发明实施例提供一种远程存储服务提供装置,包括:
存储模块,用于接收存储服务需求端发送的待进行远程存储的目标数据,将所述目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道;
验证响应模块,用于接收所述存储服务需求端发送的挑战消息,根据所述挑战信息生成待验证的哈希值,并将所述待验证的哈希值发送给存储服务需求端,以供存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所提供的方法的步骤。
第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面所提供的方法的步骤。
本发明实施例提供的远程存储服务的实现方法及装置,存储服务需求者仅需要存储远小于原始数据的凭证,就可以实现远程数据存储和数据完整性验证,不需要承担额外的存储或计算任务,数据完整性验证较便捷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的远程存储服务的实现方法的流程示意图;
图2为本发明实施例提供的从所述多个数据块中提取n组预设数量的数据块组成n个虚拟数据,利用SHA256算法分别计算所述n个虚拟数据的哈希值的步骤的流程示意图;
图3为本发明实施例提供的远程存储服务的实现方法的流程示意图;
图4为本发明实施例提供的远程存储服务需求装置的结构示意图;
图5为本发明实施例提供的远程存储服务提供装置的结构示意图;
图6为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例提供了一种远程存储服务的实现方法及装置,在本发明实施例中,包含两种执行主体:存储服务提供端和存储服务需求端。其中,存储服务提供端提供自身的空闲存储资源,存储服务需求端提供需要进行远程存储的目标数据,并在远程存储服务期间,进行数据完整性验证。
图1为根据本发明实施例提供的远程存储服务的实现方法的流程示意图,该方法的执行主体为存储服务需求端,也即需要远程存储服务的一方,如图所示,包括:
步骤100、对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;
本发明实施例中,存储服务需求端首先对待进行远程存储的目标数据进行预处理,预处理包括进行数据分块,每个数据分块的大小是固定的。然后,选定一个起始数值生成关于目标数据的混沌序列,通过产生混沌序列生成用于进行数据完整性验证的凭证,并将所述凭证存储在存储服务需求端本地。
当存储服务需求端需要进行数据完整性验证,即确认存储服务提供端仍然存储有数据且数据是完整时,存储服务需求端会利用该凭证进行验证。
存储服务需求端只需存储远小于原数据大小的凭证就能够实现对数据完整性的验证。
步骤101、将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;
在对所述目标数据进行预处理,获取和存储凭证后,本发明实施例将所述目标数据传输给存储服务提供端,存储服务提供端将提供自身的空闲存储资源对所述目标数据进行存储。同时,存储服务提供端在接收所述目标数据后,构建微支付通道,通过该微支付通道,存储服务需求端向存储服务提供端支付数据存储的费用。
在本发明实施例中,可以采用现有技术的方式构建微支付通道。
步骤102、根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;
在需要进行数据完整性验证时,存储服务需求端根据本地存储的凭证生成挑战信息并发送至存储服务提供端,其中,挑战信息是一组下标信息,当存储服务提供端接收到挑战信息时,将所述挑战信息对应的目标数据的数据块提取出来,组成一个待验证的虚拟数据,并生成该虚拟数据对应的哈希值,即待验证的哈希值。
步骤103、根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
具体地,存储服务需求端根据接收到的所述待验证的哈希值和本地存储的凭证进行数据完整性验证,本地存储的凭证中存储有所述目标数据对应的多个哈希值,通过将两种哈希值进行比对,可以获知存储服务提供端仍然存储有目标数据且目标数据是完整的,存储服务需求端在数据完整性验证通过后通过微支付通道向所述存储服务提供端支付电子货币,完成当前阶段的存储服务交易。
值得说明的是,存储服务需求端可以根据实际需求进行多次数据性完整性验证。
本发明实施例提供的远程存储服务的实现方法,存储服务需求者仅需要存储远小于原始数据的凭证,就可以实现远程数据存储和数据完整性验证,不需要承担额外的存储或计算任务,数据完整性验证较便捷。
基于上述实施例的内容,所述对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地的步骤,具体为:
将待进行远程存储的目标数据按照固定大小分成多个数据块;
从所述多个数据块中提取n组预设数量的数据块组成n个虚拟数据,利用SHA256算法分别计算所述n个虚拟数据的哈希值;
将所述预设数量和所述n个虚拟数据的哈希值进行组合,生成用于进行数据完整性验证的凭证,并将所述凭证存储在本地;
其中,n为存储服务需求端期望进行数据完整性验证的次数。
在本发明实施例中,存储服务提供端将待进行远程存储的目标数据按照固定大小分成多个数据块,并确定所述目标数据的分块数量k;
存服务需求端根据所述分块数量k和期望的数据损毁块数来确定预设数量k',然后从所述多个数据块中提取n组预设数量k'的数据块,将每一组数据块组成一个虚拟数据,从而可以获得n个虚拟数据。
具体地,确定预设数量k'的方法为:
假设期望文件不要损坏的块数超过t则,保证即可。
利用SHA256算法计算每个虚拟数据的哈希值。SHA256算法是SHA-2下细分出的一种算法。SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,是一种密码散列函数算法标准,由美国国家安全局研发,属于SHA算法之一。哈希函数,又称散列算法,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小。
获得n个哈希值之后,存储服务需求端将所述预设数量k'和所述n个虚拟数据的哈希值进行组合,生成用于进行数据完整性验证的凭证,并将所述凭证存储在本地。
在本发明实施例中,n为存储服务需求端期望进行数据完整性验证的次数,存储服务提供方是构建的微支付通道中的总金额为n*mu,mu为每一阶段协商支付的存储费用。也即存储服务需求端根据自身的存储时长需求将存储服务分为n个阶段,在每个阶段中,对存储服务提供端存储的数据进行完整性验证,并在验证通过后支付该阶段的存储费用。
如图2所示,为本发明实施例提供的所述从所述多个数据块中提取n组预设数量的数据块组成n个虚拟数据,利用SHA256算法分别计算所述n个虚拟数据的哈希值的步骤的流程示意图,具体包括:
步骤200、随机产生起始数值α0、第一密钥p1和第二密钥p2,并确定所述目标数据的分块数量k;
步骤201、根据所述分块数量k和期望的数据损毁块数确定预设数量k';
步骤203、迭代执行以下步骤,直至获得n个哈希值:
对于第j次迭代过程,根据所述分块数量k、当前迭代数值αj和第一密钥p1迭代计算k'个数据块下标vi,1≤i≤k',其中,v0=αj, 表示基于第一密钥p1将当前下标vi映射为下标vi+1的散列函数,为基于第二密钥p2将当前迭代数值αj映射为下一迭代数值αj+1的散列函数;
从所述多个数据块中提取所述k'数据块下标vi,1≤i≤k'对应的k'个数据块;
将所述k'个数据块重新组合成一个虚拟数据M',并计算所述虚拟数据M'的哈希值;
根据当前迭代数值αj和所述第二密钥p2计算下一迭代数值αj+1,
值得说明的是,迭代次数j的取值为从1到n,第一次迭代时,v0=α0。
相应地,所述将所述预设数量和所述n个虚拟数据的哈希值进行组合,生成用于进行数据完整性验证的凭证,并将所述凭证存储在本地的步骤,具体为:
将所述起始数值α0、第一密钥p1、第二密钥p2、预设数量k'以及计算获得的所述n个哈希值组合为标签tag,将所述标签tag作为凭证存储在本地。
基于上述各实施例的内容,所述根据所述凭证生成挑战信息的步骤,具体为:
根据所述凭证中的起始数值α0、第一密钥p1、第二密钥p2和预设数量k',生成挑战信息(v1,v2,...,vk')。
在本发明实施例中,存储服务需求端进行数据完整性验证时,总是根据凭证中的起始数值α0、第一密钥p1、第二密钥p2和预设数量k'计算数据块小标vi,1≤i≤k',其中,v0=αj, 表示基于第一密钥p1将当前下标vi映射为下标vi+1的散列函数,为基于第二密钥p2将当前迭代数值αj映射为下一迭代数值αj+1的散列函数;
将所生成的k'数据块小标组成向量,即得到挑战信息(v1,v2,...,vk')。
基于上述各实施例的内容,所述根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币的步骤,具体为:
将所述待验证的哈希值与所述凭证中的第一个哈希值h1进行比对,若相同,则获知数据未损坏且存储服务提供端仍存储数据;
利用公式更新当前所述凭证中的初始数值α0,并删除当前所述凭证中的第一个哈希值h1;
通过所述微支付通道向所述存储服务提供端支付协商好的每一阶段的存储费用。
具体地,在每次进行数据完整性验证时,存储服务需求端总是将存储服务提供端发送的待验证的哈希值与本地存储的凭证中的第一哈希值h1进行比对,若哈希值相同,则存储服务需求端获知数据未损坏且存储服务提供端仍存储数据;
然后,利用公式更新当前所述凭证中的初始数值α0,并删除当前所述凭证中的第一个哈希值h1,意味着,原本的h2变为新的第一个哈希值h1,原本的hj+1变为新的hj;
验证完成后,存储服务需求端通过所述微支付通道向所述存储服务提供端支付协商好的每一阶段的存储费用。
如图3所示,为本发明实施例提供的远程存储服务的实现方法的流程示意图,该方法的执行主体为存储服务提供端,如图所述,该方法包括:
步骤301、接收存储服务需求端发送的待进行远程存储的目标数据,将所述目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道;
具体地,存储服务提供端接收存储服务需求端发送的目标数据,然后将该目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道。
微支付通道的初始化过程如下:交易双方首先向初始交易融资单进行转账,将资金注入资金池,本发明实施例中,交易双方指存储服务需求端和存储服务提供端。交易双方将初始交易融资单的输出按照注资比例发往各自地址。初始交易单是一个“2/2”的多重签名。此时初始交易单不签名,且不广播。交易双方同时构建承诺交易单:C1a、RD1a、C1b和RD1b。其中,C1a、C1b的第一个输出为多重签名地址,为创建人的另一把私钥和交易对方的“2/2”的多重签名,第二个输出为对方。RD1a和RD1b分别为C1a和C1b的第一个输出的花费交易,输出为创建人。但此类型交易带有交易序列,交易序列的作用是阻止当前交易立即写入区块链中,需要经过交易序列个节点确认才能写入区块链。C1a、RD1a、C1b和RD1b创建完后分别交给对方签名。双方对交易承诺单签名并交换完成后,双方对初始交易融资单进行签名并交换。此时,初始交易融资单是一个完整的交易,交易双方向全网广播。
步骤302、接收所述存储服务需求端发送的挑战消息,根据所述挑战信息生成待验证的哈希值,并将所述待验证的哈希值发送给存储服务需求端,以供存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
具体地,存储服务提供端接收到存储服务需求端发送的挑战消息,挑战消息为一组下标信息(v1,v2,...,vk'),从本地存储的目标数据中按照(v1,v2,...,vk')提取出相应的数据块,从而组成一个待验证的虚拟数据,并利用SHA256算法生成该虚拟数据的哈希值,即获得了待验证的哈希值。
存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
本发明实施例提供的远程存储服务的实现方法,存储服务需求者仅需要存储远小于原始数据的凭证,就可以实现远程数据存储和数据完整性验证,不需要承担额外的存储或计算任务,数据完整性验证较便捷。
如图4所示,为本发明实施例提供的远程存储服务需求装置的结构示意图,包括:预处理模块410、数据传输模块420、验证请求模块430和验证模块440,其中,
预处理模块410,用于对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;
数据传输模块420,用于将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;
验证请求模块430,用于根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;
验证模块440,用于根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
该装置用于实现前述各实施例中所述的远程存储服务的实现方法。因此,在前述各实施例中所述的远程存储服务的实现方法的描述和定义,可以用于本发明实施例中各个执行模块的理解,在此不再赘述。
如图5所示,为本发明实施例提供的远程存储服务提供装置的结构示意图,包括:存储模块510和验证响应模块520,其中,
存储模块510,用于接收存储服务需求端发送的待进行远程存储的目标数据,将所述目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道;
验证响应模块520,用于接收所述存储服务需求端发送的挑战消息,根据所述挑战信息生成待验证的哈希值,并将所述待验证的哈希值发送给存储服务需求端,以供存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
该装置用于实现前述各实施例中所述的远程存储服务的实现方法。因此,在前述各实施例中所述的远程存储服务的实现方法的描述和定义,可以用于本发明实施例中各个执行模块的理解,在此不再赘述。
图6为本发明实施例提供的电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储在存储器630上并可在处理器610上运行的计算机程序,以执行上述各实施例提供的远程存储服务的实现方法,例如包括:对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的远程存储服务的实现方法,例如包括:对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种远程存储服务的实现方法,其特征在于,包括:
对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;
将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;
根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;
根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
2.根据权利要求1所述的方法,其特征在于,所述对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地的步骤,具体为:
将待进行远程存储的目标数据按照固定大小分成多个数据块;
从所述多个数据块中提取n组预设数量的数据块组成n个虚拟数据,利用SHA256算法分别计算所述n个虚拟数据的哈希值;
将所述预设数量和所述n个虚拟数据的哈希值进行组合,生成用于进行数据完整性验证的凭证,并将所述凭证存储在本地;
其中,n为存储服务需求端期望进行数据完整性验证的次数。
3.根据权利要求2所述的方法,其特征在于,所述从所述多个数据块中提取n组预设数量的数据块组成n个虚拟数据,利用SHA256算法分别计算所述n个虚拟数据的哈希值的步骤,具体为:
随机产生起始数值α0、第一密钥p1和第二密钥p2,并确定所述目标数据的分块数量k;
根据所述分块数量k和期望的数据损毁块数确定预设数量k';
迭代执行以下步骤,直至获得n个哈希值:对于第j次迭代过程,根据所述分块数量k、当前迭代数值αj和第一密钥p1迭代计算k'个数据块下标vi,1≤i≤k',并从所述多个数据块中提取所述k'数据块下标vi,1≤i≤k'对应的k'个数据块;将所述k'个数据块重新组合成一个虚拟数据M',并计算所述虚拟数据M'的哈希值;根据当前迭代数值αj和所述第二密钥p2计算下一迭代数值αj+1;
其中, 表示基于第一密钥p1将当前下标vi映射为下标vi+1的散列函数,为基于第二密钥p2将当前迭代数值αj映射为下一迭代数值αj+1的散列函数;
相应地,所述将所述预设数量和所述n个虚拟数据的哈希值进行组合,生成用于进行数据完整性验证的凭证,并将所述凭证存储在本地的步骤,具体为:
将所述起始数值α0、第一密钥p1、第二密钥p2、预设数量k'以及所述n个哈希值组合为标签tag,将所述标签tag作为凭证存储在本地。
4.根据权利要求3所述的方法,其特征在于,所述根据所述凭证生成挑战信息的步骤,具体为:
根据所述凭证中的起始数值α0、第一密钥p1、第二密钥p2和预设数量k',生成挑战信息(v1,v2,...,vk')。
5.根据权利要求3所述的方法,其特征在于,所述根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币的步骤,具体为:
将所述待验证的哈希值与所述凭证中的第一个哈希值h1进行比对,若相同,则获知数据未损坏且存储服务提供端仍存储数据;
利用公式更新当前所述凭证中的初始数值α0,并删除当前所述凭证中的第一个哈希值h1;
通过所述微支付通道向所述存储服务提供端支付协商好的每一阶段的存储费用。
6.一种远程存储服务的实现方法,其特征在于,包括:
接收存储服务需求端发送的待进行远程存储的目标数据,将所述目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道;
接收所述存储服务需求端发送的挑战消息,根据所述挑战信息生成待验证的哈希值,并将所述待验证的哈希值发送给存储服务需求端,以供存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
7.一种远程存储服务需求装置,其特征在于,包括:
预处理模块,用于对待进行远程存储的目标数据进行预处理,并获取用于进行数据完整性验证的凭证,将所述凭证存储在本地;
数据传输模块,用于将所述目标数据传输给存储服务提供端,以供所述存储服务提供端将所述目标数据存储至空闲存储空间并构建微支付通道;
验证请求模块,用于根据所述凭证生成挑战信息,并将所述挑战信息发送给所述存储服务提供端,以供所述存储服务提供端根据所述挑战信息生成待验证的哈希值;
验证模块,用于根据接收到的所述待验证的哈希值和所述凭证进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
8.一种远程存储服务提供装置,其特征在于,包括:
存储模块,用于接收存储服务需求端发送的待进行远程存储的目标数据,将所述目标数据存储至空闲存储空间,并基于区块链的闪电网络链下扩容技术构建离链的微支付通道;
验证响应模块,用于接收所述存储服务需求端发送的挑战消息,根据所述挑战信息生成待验证的哈希值,并将所述待验证的哈希值发送给存储服务需求端,以供存储服务需求端根据所述待验证的哈希值进行数据完整性验证,并在验证通过后通过所述微支付通道支付电子货币。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811524436.5A CN109801066B (zh) | 2018-12-13 | 2018-12-13 | 远程存储服务的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811524436.5A CN109801066B (zh) | 2018-12-13 | 2018-12-13 | 远程存储服务的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109801066A true CN109801066A (zh) | 2019-05-24 |
CN109801066B CN109801066B (zh) | 2021-06-29 |
Family
ID=66556699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811524436.5A Expired - Fee Related CN109801066B (zh) | 2018-12-13 | 2018-12-13 | 远程存储服务的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109801066B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200313859A1 (en) * | 2019-03-29 | 2020-10-01 | Accenture Global Solutions Limited | Cryptologic Blockchain-Based Off-Chain Storage Verification |
CN113157735A (zh) * | 2021-04-20 | 2021-07-23 | 清华大学 | 一种区块链存储数据的查询方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218574A (zh) * | 2013-04-09 | 2013-07-24 | 电子科技大学 | 一种基于哈希树的数据动态操作可验证性方法 |
CN105072086A (zh) * | 2015-07-06 | 2015-11-18 | 武汉科技大学 | 一种基于MapReduce的云存储批量审计方法 |
KR20180014537A (ko) * | 2016-08-01 | 2018-02-09 | 주식회사 케이티 | 분산 스토리지 환경에서 데이터 무결성 검증을 위한 장치 및 방법 |
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
-
2018
- 2018-12-13 CN CN201811524436.5A patent/CN109801066B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218574A (zh) * | 2013-04-09 | 2013-07-24 | 电子科技大学 | 一种基于哈希树的数据动态操作可验证性方法 |
CN105072086A (zh) * | 2015-07-06 | 2015-11-18 | 武汉科技大学 | 一种基于MapReduce的云存储批量审计方法 |
KR20180014537A (ko) * | 2016-08-01 | 2018-02-09 | 주식회사 케이티 | 분산 스토리지 환경에서 데이터 무결성 검증을 위한 장치 및 방법 |
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200313859A1 (en) * | 2019-03-29 | 2020-10-01 | Accenture Global Solutions Limited | Cryptologic Blockchain-Based Off-Chain Storage Verification |
US12058234B2 (en) * | 2019-03-29 | 2024-08-06 | Accenture Global Solutions Limited | Cryptologic blockchain-based off-chain storage verification |
CN113157735A (zh) * | 2021-04-20 | 2021-07-23 | 清华大学 | 一种区块链存储数据的查询方法及装置 |
CN113157735B (zh) * | 2021-04-20 | 2024-10-08 | 清华大学 | 一种区块链存储数据的查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109801066B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4221077B1 (en) | Computer-implemented system and method for exchange of data | |
US20220138737A1 (en) | Computer-implemented systems and methods for implementing transfers over a blockchain network | |
CN107464106B (zh) | 区块链主链与侧链间交易的方法及系统 | |
KR102050129B1 (ko) | 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인 | |
EP3594884A1 (en) | Electronic bill management method, device, and storage medium | |
WO2020134653A1 (zh) | 一种电子凭证上传的方法及装置 | |
CN116561789B (zh) | 隐私数据的处理方法、装置、电子设备及可读存储介质 | |
CN112163950B (zh) | 一种方便扩展、节点资源复用的区块链链网构建方法、系统及终端设备 | |
CN109615351A (zh) | Sim卡、终端机和数字货币管理系统 | |
JP2020500458A (ja) | 情報保護用のシステム及び方法 | |
CN110070357B (zh) | 数据处理方法、装置和系统 | |
CN110874742A (zh) | 一种基于区块链和智能合约的支付方法及装置 | |
CN113052599B (zh) | 交易凭证的生成、验证及存储方法、装置、设备和系统 | |
CN109801066B (zh) | 远程存储服务的实现方法及装置 | |
CN114567643A (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN116595094A (zh) | 基于区块链的联邦学习激励方法、装置、设备和存储介质 | |
CN110599272B (zh) | 一种开具电子发票的方法和相关产品 | |
CN112184245A (zh) | 一种跨区块链的交易身份确认方法及装置 | |
CN110598479B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN111768199A (zh) | 数字货币交易方法和本地钱包系统 | |
CN111681141A (zh) | 文件认证方法、文件认证装置及终端设备 | |
CN112751667B (zh) | 密钥生成方法、签名和验签方法、装置、设备和介质 | |
CN113362064B (zh) | 多重签名方法、计算机设备和存储介质 | |
CN114362969A (zh) | 一种基于区块链的数据验证方法、装置、设备及存储介质 | |
US20240089091A1 (en) | Secure cryptographic transfer using multiparty computation |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210629 Termination date: 20211213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |