本公开涉及计算机,尤其涉及一种数据持续可用性验证方法、服务器、介质和系统。
背景技术:
1、区块链以其独特的分布式特性和安全机制,已经成为了一种高度可信赖的数据存储技术;但是区块链数据存储和处理成本相对较高,而且数据规模较大时会严重影响性能。因此,区块链链下数据可以采用云服务存储,通过将海量的链下数据外包给云存储服务器,以更低的存储成本提供高效和可扩展的存储服务。
2、相关技术中,将区块链链下数据进行云存储后,会使得数据所有者对数据失去实际控制权;为了保证云存储服务方通常可以通过保证数据的公开可验证特征以及提升数据传输效率等手段,以保证数据持续可用性,也即保证数据所有者可以对外包存储的数据有实际控制权。
3、但是,相关技术中提供的数据持续可用性的保障方案,通常针对的是原始数据,一旦原始数据被意外删除、硬件故障或人为损坏等,云存储服务方也将无法保证数据的持续可用,降低了数据外包存储的后数据持续可用性。
技术实现思路
1、本公开提供一种数据持续可用性验证方法、服务器、介质和系统,可以实现对副本数据的数据持续可用性验证,以提升数据外包存储的可靠性。本公开的技术方案如下:
2、根据本公开的第一方面,提供了一种数据持续可用性验证方法,所述方法应用于第一服务器,包括:
3、接收第二服务器发送的多个副本数据块和初始挑战,其中,所述多个副本数据块是所述第二服务器将待存储的目标数据分割为多个待存储数据块,并对每个待存储数据块进行加密得到的;
4、响应于所述初始挑战,基于可验证延迟函数和存储证明函数,确定多个副本数据块的数据持续可用性证明结果;
5、将所述数据持续可用性证明结果发送至所述第二服务器,其中,所述第二服务器在对所述数据持续可用性证明结果验证通过的情况下,确定所述第一服务器存储所述目标数据后,所述目标数据具备持续可用性。
6、根据本公开的第二方面,提供了一种数据持续可用性验证方法,所述方法应用于第二服务器,包括:
7、将待存储的目标数据分割为多个待存储数据块,并对每个待存储数据块进行加密,得到多个副本数据块;
8、将多个副本数据块和初始挑战发送至第一服务器,其中,所述第一服务器用于根据可验证延迟函数和存储证明函数,确定多个副本数据块的数据持续可用性证明结果,并将所述数据持续可用性证明结果返回所述第二服务器;
9、若对所述数据持续可用性证明结果验证通过,则确定所述第一服务器存储所述目标数据后,所述目标数据具备持续可用性。
10、根据本公开的第三方面,提供了一种第一服务器,包括:
11、处理器;以及
12、存储程序的存储器,
13、其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行如第一方面所述的方法。
14、根据本公开的第四方面,提供了一种第二服务器,包括:
15、处理器;以及
16、存储程序的存储器,
17、其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行如第二方面所述的方法。
18、根据本公开的第五方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如第一方面或第二方面所述的方法。
19、根据本公开的第六方面,提供了一种数据持续可用性验证系统,包括第一服务器和第二服务器,其中,
20、所述第二服务器,用于将待存储的目标数据分割为多个待存储数据块,并对每个待存储数据块进行加密,得到多个副本数据块,以及,将多个副本数据块和初始挑战发送至第一服务器;
21、所述第一服务器,用于接收第二服务器发送的多个副本数据块和初始挑战,并响应于所述初始挑战,基于可验证延迟函数和存储证明函数,确定多个副本数据块的数据持续可用性证明结果,以及,将所述数据持续可用性证明结果发送至所述第二服务器;
22、所述第二服务器,还用于在对所述数据持续可用性证明结果验证通过的情况下,确定所述第一服务器存储所述目标数据后,所述目标数据具备持续可用性。
23、本公开提供的数据持续可用性验证方法、服务器、介质和系统,一方面,可以结合用于证明副本数据持续性的可验证延迟函数,以及,用于证明副本数据可用性的存储证明,对副本的持续可用性进行证明,实现对副本数据的持续可用性证明,提升数据外包存储的可靠性;另一方面,在需要对数据进行外包存储时,数据外包存储服务方的第一服务器可以对的目标数据的副本数据进行存储,可以防止原始数据在由于意外丢失的情况下,第一服务器仍旧可以为数据所有者提服供数据服务,保证了外包数据的持续可用性。
1.一种数据持续可用性验证方法,其特征在于,所述方法应用于第一服务器,包括:
2.如权利要求1所述的数据持续可用性验证方法,其特征在于,所述基于可验证延迟函数和存储证明函数,确定多个副本数据块的数据持续可用性证明结果,包括:
3.如权利要求2所述的数据持续可用性验证方法,其特征在于,所述基于可验证延迟函数和存储证明函数,确定与子副本数据块组中每个子副本数据块的证明结果,包括:
4.如权利要求2所述的数据持续可用性验证方法,其特征在于,所述对子副本数据块组中每个子副本数据块的可验证延迟函数证明结果、存储证明函数证明结果,以及,子副本数据块组中每个子副本数据块的回应挑战构成的默克尔树进行验证,得到与每个副本数据块关联的每个子副本数据块组的证明结果,包括:
5.如权利要求2所述的数据持续可用性验证方法,其特征在于,在将每个副本数据块中的多个子副本数据块划分为至少两个子副本数据块组之后,包括:
6.一种数据持续可用性验证方法,其特征在于,所述方法应用于第二服务器,包括:
7.一种第一服务器,其特征在于,包括:
8.一种第二服务器,其特征在于,包括:
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如权利要求1-5或者权利要求6中任一项所述的方法。
10.一种数据持续可用性验证系统,其特征在于,包括第一服务器和第二服务器,其中,