CN114584578A - 一种基于智能合约以及纠删码编码的多云存储方法 - Google Patents

一种基于智能合约以及纠删码编码的多云存储方法 Download PDF

Info

Publication number
CN114584578A
CN114584578A CN202210457807.2A CN202210457807A CN114584578A CN 114584578 A CN114584578 A CN 114584578A CN 202210457807 A CN202210457807 A CN 202210457807A CN 114584578 A CN114584578 A CN 114584578A
Authority
CN
China
Prior art keywords
data
data block
block
cloud service
user
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.)
Pending
Application number
CN202210457807.2A
Other languages
English (en)
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.)
Hunan University of Technology
Original Assignee
Hunan University of Technology
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 Hunan University of Technology filed Critical Hunan University of Technology
Priority to CN202210457807.2A priority Critical patent/CN114584578A/zh
Publication of CN114584578A publication Critical patent/CN114584578A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5006Creating or negotiating SLA contracts, guarantees or penalties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于智能合约以及纠删码编码的多云存储方法,包括:初始化阶段,用户与云服务提供商之间制定服务级别协议,根据服务级别协议部署智能合约;数据存储阶段,用户将待存储数据划分为数据块,基于智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商;数据验证阶段,用户针对待验证数据块向云服务提供商发送验证请求,验证不通过,则用户申请进入仲裁和数据恢复阶段;仲裁和数据恢复阶段,对于不合规的云服务提供商进行数据块恢复处理,重建被损坏的数据块;将为恶意的用户以及不合规的云服务提供商作为违规者,根据服务级别协议对违规者进行处罚。该方法可以保证在相同可用性的情况下,节省大量存储空间。

Description

一种基于智能合约以及纠删码编码的多云存储方法
技术领域
本发明涉及云服务数据处理技术领域,具体涉及一种基于智能合约以及纠删码编码的多云存储方法。
背景技术
在过去的几年中,诸如云计算和透明计算之类的网络计算技术以其强大的存储和处理能力为无数用户带来了便利。但是,在源数据上使用网络计算服务可能会给用户带来一些安全风险。用户数据的所有权被转移到网络存储服务中的云服务提供商(CSP)。数据所有者和实际控制者的分离可能会导致一个问题,即数据的完整性和可用性完全取决于CSP。不幸的是,CSP并不总是足够可靠,它可能会不小心损坏用户的数据,甚至恶意删除数据以减轻存储负担,因此,许多用户选择使用多个网络存储服务来协作存储和维护他们的数据。尽管这种分布式网络存储策略在某种程度上降低了数据完整性的安全风险,但仍然缺乏有效的措施来说服用户确信外包数据在多云系统中时安全的。
因此,建议将服务级别协议(SLA)作为具有法律约束力的合同,以保证云服务质量。SLA通常会制定服务需要满足的性能指标以及在违反SLA的情况下的赔偿计划。使用云存储服务时,它为用户提供法律和经济利益;然而,在多云系统中实现SLA的实际挑战时如何检测SLA违规,在当前的SLA模型,CSP在计算能力和存储能力上显示出明显的优势,当违反SLA时,用户很难获得证据,这削弱了SLA的公平性和有效性。因此,迫切需要一种用于远程检查数据完整性以检测多云存储中的SLA违规的有效方法。
区块链技术的兴起使得解决数据审计方案的集中化问题称为可能,但当前采用区块链解决多云环境下数据问题主要存在一下缺陷:
1.目前的区块链数据审核方案虽然某种程度上解决了集中化问题,但在多云存储场景下还存在验证计算和通信开销过大的问题;
2.当前技术不能实现保证数据完整性的同时还能够确保数据的高可用性,且存储资源占用过高。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的缺陷,从而提供一种可以对多云存储的数据进行审核,确保数据安全,并且能够在部分数据被损坏的情况下进行数据恢复的多云存储方法,具体为一种基于智能合约以及纠删码编码的多云存储方法。
本发明提供了一种基于智能合约以及纠删码编码的多云存储方法,其包括:
初始化阶段:
S1:用户与云服务提供商之间制定服务级别协议,根据服务级别协议部署智能合约;
数据存储阶段:
S2:用户将待存储数据划分为数据块,并计算验证标签;将验证标签发布到区块链;
S3:云服务提供商根据服务级别协议接收数据块,并计算检验标签;当验证标签等于检验标签时,基于智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商;
数据验证阶段:
S4:用户针对待验证数据块向云服务提供商发送验证请求;云服务提供商向用户响应完整性证明,并回复第一哈希值;用户接收第一哈希值,并根据所述待验证数据块得到第二哈希值;当所述第一哈希值等于所述第二哈希值时,验证通过;否则验证不通过,用户申请进入仲裁和数据恢复阶段;
仲裁和数据恢复阶段:
S5:智能合约根据待验证数据块,得到第三哈希值;当第一哈希值等于第三哈希值时,判定用户得到的第二哈希值不真实,用户为恶意;否则判定云服务提供商不合规;当云服务提供商不合规时,将损坏数据块;
对于不合规的云服务提供商进行数据块恢复处理,重建被损坏的数据块;
将为恶意的用户以及不合规的云服务提供商作为违规者,并将仲裁结果发布至区块链,根据服务级别协议对违规者进行处罚。
优选的,服务级别协议包括服务质量协议、可用性协议以及责任协议;智能合约包括存储服务验证智能合约、仲裁智能合约、多云管理智能合约以及RS编码服务智能合约。
优选的,S2中,用户将待存储数据划分为n个数据块,n个数据块的集合记为:O={obj 1obj 2,…,obj n },obj n 表示第n个数据块;用户为每个数据块计算验证标签,验证标签计算公式为:
Figure 100002_DEST_PATH_IMAGE001
,其中,T(obj i )表示第i个数据块的验证标签,pq为两个大质数,
Figure 666713DEST_PATH_IMAGE002
表示第i个数据块,i为计数;用户通过仲裁智能合约将验证标签发布到区块链。
优选的,S3中,云服务提供商根据服务级别协议接收数据块,并计算检验标签,检验标签记为:Tobj i ');当验证标签等于检验标签时,即T(obj i )=Tobj i ')时,基于RS编码服务智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商;否则云服务提供商将停止提供对用户的存储服务。
优选的,基于RS编码服务智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商的过程为:
RS编码服务智能合约将数据块按照分布式存储系统集群的数量划分为多等份,并将每等分数据块发送给每个分布式存储系统集群;
在分布式存储系统集群中选择主进程对数据块进行编码计算,得到校验块,并将数据块和校验块均切分为多个分片,将切分为多个分片的数据块以及校验块均存储至云服务提供商。
优选的,将切分为多个分片的数据块以及校验块均存储至云服务提供商的过程为:
n个数据块与矩阵通过矩阵乘方式进行编码计算,得到n个数据块以及y个校验块,矩阵记为:
Figure 100002_DEST_PATH_IMAGE003
,编码计算的计算公式为:
Figure 100002_DEST_PATH_IMAGE005
其中,k n 表示单位矩阵中的一个行向量;1≤n≤n+y
Figure 227138DEST_PATH_IMAGE006
为单位矩阵,
Figure 100002_DEST_PATH_IMAGE007
为范德蒙矩阵,
Figure 578485DEST_PATH_IMAGE008
表示包含数据块obj 1至数据块obj n 的矩阵,
Figure 100002_DEST_PATH_IMAGE009
表示包含数据块
Figure 367187DEST_PATH_IMAGE010
至数据块
Figure 100002_DEST_PATH_IMAGE011
、校验块
Figure 247419DEST_PATH_IMAGE012
至校验块
Figure 100002_DEST_PATH_IMAGE013
的矩阵;
将数据块
Figure 623036DEST_PATH_IMAGE010
Figure 184599DEST_PATH_IMAGE011
、校验块
Figure 188327DEST_PATH_IMAGE012
Figure 944187DEST_PATH_IMAGE013
按序存储至所述云服务提供商。
优选的,对于不合规的云服务提供商进行数据块恢复处理的过程为:
对分布式存储集群进行判断,若分布式存储集群被损坏则数据块无法进行恢复处理;
否则,对剩余的数据块和校验块的集合进行判断,剩余的数据块和校验块的集合记为:
Figure 400576DEST_PATH_IMAGE014
={
Figure 100002_DEST_PATH_IMAGE015
,…,
Figure 562567DEST_PATH_IMAGE016
Figure 100002_DEST_PATH_IMAGE017
,…,
Figure 561747DEST_PATH_IMAGE018
},j表示剩余的数据块的数量,m表示剩余的校验块的数量,当j+m小于n时,数据块无法进行恢复处理;否则,分布式存储集群中的主进程随机删除数据块
Figure 111677DEST_PATH_IMAGE016
或校验块
Figure 930728DEST_PATH_IMAGE018
,使得j+m等于n,将剩余的数据块和校验块的集合所对应的矩阵,记为
Figure 100002_DEST_PATH_IMAGE019
Figure 129366DEST_PATH_IMAGE019
为可逆矩阵,其表达式为:
Figure 100002_DEST_PATH_IMAGE021
其中,
Figure 514211DEST_PATH_IMAGE022
表示数据块
Figure 100002_DEST_PATH_IMAGE023
或校验块
Figure 907146DEST_PATH_IMAGE018
在矩阵
Figure 72548DEST_PATH_IMAGE003
中对应的第n行向量;将剩余的数据块和校验块的矩阵与
Figure 310763DEST_PATH_IMAGE019
的逆矩阵相乘,计算公式为:
Figure 100002_DEST_PATH_IMAGE025
其中,
Figure 520421DEST_PATH_IMAGE026
表示剩余的数据块和校验块的矩阵,
Figure 100002_DEST_PATH_IMAGE027
表示
Figure 84257DEST_PATH_IMAGE019
的逆矩阵,
Figure 736955DEST_PATH_IMAGE008
表示数据块的矩阵;
将上式乘以k i ,恢复数据块,计算公式为:
Figure 100002_DEST_PATH_IMAGE029
其中,k i 表示第i行第i列为1的单位行向量;1≤n≤n+yobj i 表示第i个数据块,i为计数,obj n 表示第n个数据块,
Figure 513282DEST_PATH_IMAGE023
表示第j个剩余的数据块,
Figure 200615DEST_PATH_IMAGE018
表示第m个剩余的校验块。
优选的,S4中,云服务提供商接收验证请求,在规定时间内向用户响应完整性证明,并通过多云管理智能合约回复第一哈希值;若云服务提供商未在规定时间内向用户响应完整性证明,则判定云服务提供商不合规,进入仲裁和数据恢复阶段;
用户接收第一哈希值,并根据区块链得到待验证数据块的验证标签;用户根据待验证数据块的验证标签得到汇总值,进而根据汇总值得到第二哈希值;
当第一哈希值等于第二哈希值时,验证通过;否则验证不通过,用户通过仲裁智能合约申请进入仲裁和数据恢复阶段。
优选的,根据完整性证明得到第一哈希值。
优选的,S5中,仲裁智能合约根据汇总值重新计算,得到第三哈希值。
本发明技术方案,具有如下优点:将数据块进行编码计算,并将编码后的数据块存储至云服务提供商,可以保证在相同可用性的情况下,节省大量存储空间,从而大大的降低总体成本;对于部分云服务提供商损坏的数据块能够进行恢复,使得云服务提供商能够向用户响应正确的完整性证明;验证不通过时,针对错误进行仲裁,确定违规者,并处罚违规者。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施中一种基于智能合约以及纠删码编码的多云存储方法的流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
如图1所示,本实施例提供了一种基于智能合约以及纠删码编码的多云存储方法,该方法包括:
初始化阶段:
S1:用户与云服务提供商之间制定服务级别协议,根据服务级别协议部署智能合约;其中,服务级别协议包括服务质量协议、可用性协议以及责任协议;智能合约包括存储服务验证智能合约(SCs)、仲裁智能合约(SCa)、多云管理智能合约(SCm)以及RS编码服务智能合约(SCr)。在本实施例中,将不同的智能合约按照其不同的功能进行命名,如:RS编码服务智能合约(SCr)用于实现对数据块的编码和解码操作。
数据存储阶段:
S2:用户将待存储数据划分为数据块,并计算验证标签;将验证标签发布到区块链;
具体的,用户将待存储数据划分为n个数据块,在本实施例中数据块大小默认为4MB,n个数据块的集合记为:O={obj 1obj 2,…,obj n };用户为每个数据块计算验证标签,验证标签计算公式为:
Figure 404194DEST_PATH_IMAGE001
,其中,T(obj i )表示第i个数据块的验证标签,pq为两个大质数,
Figure 544189DEST_PATH_IMAGE002
表示第i个数据块,i为计数;用户通过仲裁智能合约将验证标签发布到区块链。
区块链可以看作是建立在P2P网络上的分布式共享分类帐,其中记录了表示系统中节点状态的交易信息。所有节点都通过共识机制同意区块链中的内容。因此,区块链具有很强的鲁棒性。少数实体的错误不会影响整个系统的正确操作。区块链根据存储交易数据的时间将通过哈希值连接的数据块连接到一条链中,并使用加密技术确保其不会被伪造或篡改。同时,通过分布式节点认证和共识机制解决了分布式信息系统中非信任节点之间的信任问题,从而确保了不信任分布式实体之间的信任,而无需传统的信任第三方。
智能合约是可以在区块链上运行的可执行程序代码。为了确保智能合约正确执行,所有区块链节点都运行相同的智能合约并通过共识机制就结果达成共识。区块链和智能合约推动了多个领域的发展,在分布式多云服务环境中具有广阔的应用前景。
S3:云服务提供商根据服务级别协议接收数据块,并计算检验标签;当验证标签等于检验标签时,基于智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商;
具体的,云服务提供商根据服务级别协议接收数据块,并计算检验标签,检验标签记为:Tobj i ');当验证标签等于检验标签时,即T(obj i )=Tobj i ')时,基于RS编码服务智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商;否则云服务提供商将停止提供对用户的存储服务,云服务提供商拒绝一切计算结果不一致的数据块。
基于RS编码服务智能合约对数据块进行编码,并将编码后的数据块存储至云服务提供商的过程为:
RS编码服务智能合约将数据块按照分布式存储系统集群的数量划分为多等份,并将每等分数据块发送给每个分布式存储系统集群;
在分布式存储系统集群中选择主进程对数据块进行编码计算,得到校验块,并将数据块和校验块均切分为多个分片,将切分为多个分片的数据块以及校验块均存储至云服务提供商。
将切分为多个分片的数据块以及校验块均存储至云服务提供商的过程为:
n个数据块与矩阵通过矩阵乘方式进行编码计算,得到n个数据块以及y个校验块,矩阵记为:
Figure 622741DEST_PATH_IMAGE003
,编码计算的计算公式为:
Figure 164581DEST_PATH_IMAGE005
其中,k n 表示单位矩阵中的一个行向量;1≤n≤n+y
Figure 398116DEST_PATH_IMAGE006
为单位矩阵,
Figure 166352DEST_PATH_IMAGE007
为范德蒙矩阵,
Figure 877956DEST_PATH_IMAGE008
表示包含数据块obj 1至数据块obj n 的矩阵,
Figure 415247DEST_PATH_IMAGE009
表示包含数据块
Figure 85263DEST_PATH_IMAGE010
至数据块
Figure 809637DEST_PATH_IMAGE011
、校验块
Figure 590511DEST_PATH_IMAGE012
至校验块
Figure 483774DEST_PATH_IMAGE013
的矩阵;
将数据块
Figure 59112DEST_PATH_IMAGE010
Figure 660994DEST_PATH_IMAGE011
、校验块
Figure 120926DEST_PATH_IMAGE012
Figure 226285DEST_PATH_IMAGE013
按序存储至云服务提供商。
分布式存储系统(Ceph) 是一个运行在通用硬件平台上的、拥有高度扩展能力的软件定义存储开源项目。分布式存储系统(Ceph)可以在单个软件平台上同时支持对象、块、文件系统,并具有自动管理、自动修复、无单点故障等特性。由于其高可扩展性的软件定义存储架构,分布式存储系统(Ceph)不仅成为了传统存储的理想替代品,而且是云计算环境中的对象、块存储的有力解决方案,分布式存储系统(Ceph)从 Firefly 版本(Ceph的0.80.5版本)开始支持纠删码,在云存储中,通常会使用副本的方式来保证系统的可用性。问题是当存储达到 PB (petabyte,1PB=1024TB)级别后要求的容量将会非常高。通过使用纠删码技术可以在保证相同可用性的情况下,节省大量存储空间,从而大大的降低总体成本(TCO)。
数据验证阶段:
S4:用户针对待验证数据块向云服务提供商发送验证请求;云服务提供商接收验证请求,在规定时间内向用户响应完整性证明(
Figure 113469DEST_PATH_IMAGE030
),其中,
Figure DEST_PATH_IMAGE031
表示完整性证明,i表示计数,a表示待验证数据块的数量,T(obj i )表示第i个数据块的验证标签;并通过多云管理智能合约回复第一哈希值(
Figure 202648DEST_PATH_IMAGE032
),根据完整性证明得到第一哈希值;若云服务提供商未在规定时间内向用户响应完整性证明,则判定云服务提供商不合规,进入仲裁和数据恢复阶段;
用户接收第一哈希值(
Figure 466270DEST_PATH_IMAGE032
),并根据区块链得到待验证数据块的验证标签;用户根据待验证数据块的验证标签得到汇总值(P ),汇总值(P )为指定的P i 的值集合,进而根据汇总值(P )得到第二哈希值(Hash(P ));
当第一哈希值等于第二哈希值时(
Figure DEST_PATH_IMAGE033
),验证通过;否则验证不通过,用户通过仲裁智能合约申请进入仲裁和数据恢复阶段;
仲裁和数据恢复阶段:
S5:为了防止用户欺骗仲裁智能合约,仲裁智能合约根据汇总值重新计算,得到第三哈希值;当第一哈希值等于第三哈希值时,判定用户得到的第二哈希值不真实,用户为恶意,认为云服务提供商做出了正确的响应;否则判定云服务提供商不合规,数据可能被损坏;
对于不合规的云服务提供商进行数据块恢复处理,重建被损坏的数据块;
将为恶意的用户以及不合规的云服务提供商作为违规者,并将仲裁结果发布至区块链,根据服务级别协议对违规者进行处罚。
具体的,对于不合规的云服务提供商进行数据块恢复处理的过程为:
对分布式存储集群进行判断,若分布式存储集群被损坏则数据块无法进行恢复处理;
否则,对剩余的数据块和校验块的集合进行判断,剩余的数据块和校验块的集合记为:
Figure 331196DEST_PATH_IMAGE014
={
Figure 248336DEST_PATH_IMAGE015
,…,
Figure 824811DEST_PATH_IMAGE016
Figure 360966DEST_PATH_IMAGE017
,…,
Figure 440917DEST_PATH_IMAGE018
},j表示剩余的数据块的数量,m表示剩余的校验块的数量,当j+m小于n时,数据块无法进行恢复处理;否则,分布式存储集群中的主进程随机删除数据块obj j 或校验块
Figure 935484DEST_PATH_IMAGE018
,使得j+m等于n,将剩余的数据块和校验块的集合所对应的矩阵,记为
Figure 468096DEST_PATH_IMAGE019
Figure 932576DEST_PATH_IMAGE019
为可逆矩阵,其表达式为:
Figure 742400DEST_PATH_IMAGE021
其中,
Figure 532501DEST_PATH_IMAGE022
表示数据块
Figure 940960DEST_PATH_IMAGE023
或校验块
Figure 474709DEST_PATH_IMAGE018
在矩阵
Figure 404619DEST_PATH_IMAGE003
中对应的第n行向量;将剩余的数据块和校验块的矩阵与
Figure 834463DEST_PATH_IMAGE019
的逆矩阵相乘,计算公式为:
Figure 607247DEST_PATH_IMAGE025
其中,
Figure 554475DEST_PATH_IMAGE026
表示剩余的数据块和校验块的矩阵,
Figure 197946DEST_PATH_IMAGE027
表示
Figure 205216DEST_PATH_IMAGE019
的逆矩阵,
Figure 199717DEST_PATH_IMAGE008
表示数据块的矩阵;
将上式乘以k i ,恢复数据块,计算公式为:
Figure 809690DEST_PATH_IMAGE029
其中,k i 表示第i行第i列为1的单位行向量;1≤n≤n+yobj i 表示第i个数据块,obj n 表示第n个数据块,
Figure 212727DEST_PATH_IMAGE023
表示第j个剩余的数据块,
Figure 984374DEST_PATH_IMAGE018
表示第m个剩余的校验块。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,包括:
初始化阶段:
S1:用户与云服务提供商之间制定服务级别协议,根据所述服务级别协议部署智能合约;
数据存储阶段:
S2:用户将待存储数据划分为数据块,并计算验证标签;将所述验证标签发布到区块链;
S3:所述云服务提供商根据所述服务级别协议接收所述数据块,并计算检验标签;当所述验证标签等于所述检验标签时,基于所述智能合约对所述数据块进行编码,并将编码后的所述数据块存储至所述云服务提供商;
数据验证阶段:
S4:用户针对待验证数据块向所述云服务提供商发送验证请求;云服务提供商向用户响应完整性证明,并回复第一哈希值;用户接收第一哈希值,并根据所述待验证数据块得到第二哈希值;当所述第一哈希值等于所述第二哈希值时,验证通过;否则验证不通过,用户申请进入仲裁和数据恢复阶段;
仲裁和数据恢复阶段:
S5:智能合约根据所述待验证数据块,得到第三哈希值;当所述第一哈希值等于所述第三哈希值时,判定用户得到的所述第二哈希值不真实,用户为恶意;否则判定所述云服务提供商不合规;当所述云服务提供商不合规时,将损坏数据块;
对于不合规的所述云服务提供商进行数据块恢复处理,重建被损坏的数据块;
将为恶意的所述用户以及不合规的所述云服务提供商作为违规者,并将仲裁结果发布至区块链,根据所述服务级别协议对所述违规者进行处罚。
2.根据权利要求1所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,所述服务级别协议包括服务质量协议、可用性协议以及责任协议;所述智能合约包括存储服务验证智能合约、仲裁智能合约、多云管理智能合约以及RS编码服务智能合约。
3.根据权利要求2所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,S2中,所述用户将待存储数据划分为n个数据块,n个所述数据块的集合记为:O={obj 1obj 2,…,obj n },obj n 表示第n个数据块;所述用户为每个所述数据块计算验证标签,所述验证标签计算公式为:
Figure DEST_PATH_IMAGE001
,其中,T(obj i )表示第i个数据块的验证标签,pq为两个大质数,
Figure 146004DEST_PATH_IMAGE002
表示第i个数据块,i为计数;所述用户通过所述仲裁智能合约将所述验证标签发布到所述区块链。
4.根据权利要求3所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,S3中,所述云服务提供商根据所述服务级别协议接收所述数据块,并计算检验标签,所述检验标签记为:Tobj i ');当所述验证标签等于所述检验标签时,即T(obj i )=Tobj i ')时,基于所述RS编码服务智能合约对所述数据块进行编码,并将编码后的所述数据块存储至所述云服务提供商;否则所述云服务提供商将停止提供对所述用户的存储服务。
5.根据权利要求4所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,基于所述RS编码服务智能合约对所述数据块进行编码,并将编码后的所述数据块存储至所述云服务提供商的过程为:
所述RS编码服务智能合约将所述数据块按照分布式存储系统集群的数量划分为多等份,并将每等分所述数据块发送给每个所述分布式存储系统集群;
在所述分布式存储系统集群中选择主进程对所述数据块进行编码计算,得到校验块,并将所述数据块和所述校验块均切分为多个分片,将切分为多个分片的所述数据块以及所述校验块均存储至所述云服务提供商。
6.根据权利要求5所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,将切分为多个分片的所述数据块以及所述校验块均存储至所述云服务提供商的过程为:
n个所述数据块与矩阵通过矩阵乘方式进行编码计算,得到n个所述数据块以及y个所述校验块,所述矩阵记为:
Figure DEST_PATH_IMAGE003
,编码计算的计算公式为:
Figure DEST_PATH_IMAGE005
其中,k n 表示单位矩阵中的一个行向量;1≤n≤n+y
Figure 707829DEST_PATH_IMAGE006
为单位矩阵,
Figure DEST_PATH_IMAGE007
为范德蒙矩阵,
Figure 74219DEST_PATH_IMAGE008
表示包含数据块obj 1至数据块obj n 的矩阵,
Figure DEST_PATH_IMAGE009
表示包含数据块
Figure 397884DEST_PATH_IMAGE010
至数据块
Figure DEST_PATH_IMAGE011
、校验块
Figure 380884DEST_PATH_IMAGE012
至校验块
Figure DEST_PATH_IMAGE013
的矩阵;
将数据块
Figure 946732DEST_PATH_IMAGE010
至数据块
Figure 26683DEST_PATH_IMAGE011
、校验块
Figure 380304DEST_PATH_IMAGE012
至校验块
Figure 53862DEST_PATH_IMAGE013
按序存储至所述云服务提供商。
7.根据权利要求6所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,对于不合规的所述云服务提供商进行数据块恢复处理的过程为:
对分布式存储集群进行判断,若分布式存储集群被损坏则数据块无法进行恢复处理;
否则,对剩余的数据块和校验块的集合进行判断,所述剩余的数据块和校验块的集合记为:
Figure 783921DEST_PATH_IMAGE014
={
Figure DEST_PATH_IMAGE015
,…,
Figure 859324DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
,…,
Figure 790371DEST_PATH_IMAGE018
},j表示剩余的数据块的数量,m表示剩余的校验块的数量,当j+m小于n时,数据块无法进行恢复处理;否则,分布式存储集群中的主进程随机删除数据块
Figure 75859DEST_PATH_IMAGE016
或校验块
Figure 45079DEST_PATH_IMAGE018
,使得j+m等于n,将剩余的数据块和校验块的集合所对应的矩阵,记为
Figure DEST_PATH_IMAGE019
Figure 240568DEST_PATH_IMAGE019
为可逆矩阵,其表达式为:
Figure DEST_PATH_IMAGE021
其中,
Figure 467150DEST_PATH_IMAGE022
表示数据块
Figure DEST_PATH_IMAGE023
或校验块
Figure 115300DEST_PATH_IMAGE018
在所述矩阵中对应的第n行向量;将剩余的数据块和校验块的矩阵与
Figure 62528DEST_PATH_IMAGE019
的逆矩阵相乘,计算公式为:
Figure DEST_PATH_IMAGE025
其中,
Figure 502736DEST_PATH_IMAGE026
表示剩余的数据块和校验块的矩阵,
Figure DEST_PATH_IMAGE027
表示
Figure 8542DEST_PATH_IMAGE019
的逆矩阵,
Figure 3043DEST_PATH_IMAGE008
表示数据块的矩阵;
将上式乘以k i ,恢复数据块,计算公式为:
Figure DEST_PATH_IMAGE029
其中,k i 表示第i行第i列为1的单位行向量;1≤n≤n+yobj i 表示第i个数据块,i为计数,obj n 表示第n个数据块,
Figure 19540DEST_PATH_IMAGE023
表示第j个剩余的数据块,
Figure 658463DEST_PATH_IMAGE018
表示第m个剩余的校验块。
8.根据权利要求2所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,S4中,所述云服务提供商接收所述验证请求,在规定时间内向用户响应完整性证明,并通过所述多云管理智能合约回复第一哈希值;若所述云服务提供商未在所述规定时间内向用户响应完整性证明,则判定所述云服务提供商不合规,进入仲裁和数据恢复阶段;
用户接收所述第一哈希值,并根据区块链得到待验证数据块的验证标签;用户根据待验证数据块的验证标签得到汇总值,进而根据汇总值得到第二哈希值;
当所述第一哈希值等于所述第二哈希值时,验证通过;否则验证不通过,用户通过所述仲裁智能合约申请进入仲裁和数据恢复阶段。
9.根据权利要求8所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,根据所述完整性证明得到所述第一哈希值。
10.根据权利要求2所述的一种基于智能合约以及纠删码编码的多云存储方法,其特征在于,S5中,所述仲裁智能合约根据所述汇总值重新计算,得到所述第三哈希值。
CN202210457807.2A 2022-04-28 2022-04-28 一种基于智能合约以及纠删码编码的多云存储方法 Pending CN114584578A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210457807.2A CN114584578A (zh) 2022-04-28 2022-04-28 一种基于智能合约以及纠删码编码的多云存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210457807.2A CN114584578A (zh) 2022-04-28 2022-04-28 一种基于智能合约以及纠删码编码的多云存储方法

Publications (1)

Publication Number Publication Date
CN114584578A true CN114584578A (zh) 2022-06-03

Family

ID=81785073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210457807.2A Pending CN114584578A (zh) 2022-04-28 2022-04-28 一种基于智能合约以及纠删码编码的多云存储方法

Country Status (1)

Country Link
CN (1) CN114584578A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3182318A1 (de) * 2015-12-16 2017-06-21 Bundesdruckerei GmbH Signaturgenerierung durch ein sicherheitstoken
CN109861829A (zh) * 2019-03-15 2019-06-07 上海海事大学 支持动态更新的云数据公正审计系统及其审计方法
CN109981736A (zh) * 2019-02-22 2019-07-05 南京理工大学 一种支持用户与云服务器相互信任的动态公开审计方法
CN111698278A (zh) * 2020-04-10 2020-09-22 湖南大学 一种基于区块链的多云数据存储方法
CN112416660A (zh) * 2021-01-21 2021-02-26 南京群顶科技有限公司 一种基于纠删技术的大文件分布式备份方法及装置
CN113556322A (zh) * 2021-06-23 2021-10-26 北京航空航天大学 一个基于区块链的云数据完整性验证方案

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3182318A1 (de) * 2015-12-16 2017-06-21 Bundesdruckerei GmbH Signaturgenerierung durch ein sicherheitstoken
CN109981736A (zh) * 2019-02-22 2019-07-05 南京理工大学 一种支持用户与云服务器相互信任的动态公开审计方法
CN109861829A (zh) * 2019-03-15 2019-06-07 上海海事大学 支持动态更新的云数据公正审计系统及其审计方法
CN111698278A (zh) * 2020-04-10 2020-09-22 湖南大学 一种基于区块链的多云数据存储方法
CN112416660A (zh) * 2021-01-21 2021-02-26 南京群顶科技有限公司 一种基于纠删技术的大文件分布式备份方法及装置
CN113556322A (zh) * 2021-06-23 2021-10-26 北京航空航天大学 一个基于区块链的云数据完整性验证方案

Similar Documents

Publication Publication Date Title
CN111951004B (zh) 用于世界状态完整性验证的方法和系统
CN111985003B (zh) 数据库恶意对等体识别
US10095581B2 (en) Transmission time refinement in a storage system
CN112084257B (zh) 有效的数据库机器学习验证
US11570002B2 (en) Reduced-step blockchain verification of media file
CN115210741B (zh) 部分有序的区块链
CN111464518B (zh) 一种跨链通信数据的发送、验证方法及装置
US11516000B2 (en) Approximate hash verification of unused blockchain output
US20190268138A1 (en) Meta block chain
US11243839B1 (en) Audit file generation in a dispersed storage network
CN111881109B (zh) 数据库可合并分类账
US11250141B2 (en) Securely storing data in an elastically scalable dispersed storage network
CN114240439B (zh) 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置
CN110245182B (zh) 用于处理分布式数据的方法、设备、装置和介质
CN111353172A (zh) 基于区块链的Hadoop集群大数据访问方法及系统
CN111385096A (zh) 一种区块链网络、签名处理方法、终端及存储介质
CN117473020B (zh) 数据存取方法、系统及计算机存储介质和终端设备
CN114239044B (zh) 一种去中心化的可追溯共享访问系统
CN114584578A (zh) 一种基于智能合约以及纠删码编码的多云存储方法
CN114760328B (zh) 一种数据存储方法、系统、电子设备和存储介质
CN112037062A (zh) 交易共识方法、装置、电子设备及可读存储介质
US20170315843A1 (en) Accessing data in accordance with an execution deadline
CN114785776B (zh) 基于区块链的清算系统以及基于区块链的清算方法
CN112948847A (zh) 基于区块链的数据共享系统及数据正确性验证方法
CN114679466B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220603

RJ01 Rejection of invention patent application after publication