当前位置: 首页 > 专利查询>苏州大学专利>正文

一种基于线性编码的区块链存储方法技术

技术编号:39062758 阅读:16 留言:0更新日期:2023-10-12 19:55
本发明专利技术涉及数据存储技术领域,尤其是指一种基于线性编码的区块链存储方法,具体步骤包括:用户将原始文件切分成多个体积均等的文件块,并对文件块进行线性编码得到文件编码块,对编码块进行数字签名,将数字签名和编码块打包上传至云端系统;云端系统对接收到的编码块和数字签名进行验证,验证成功后对编码块的数字签名再一次签名,得到云端签名,公布到区块链中;云端系统对编码块进行差错检测;云端系统收集所有存储的编码块,对原始文件进行修复;云端系统将检测为受损的编码块删除,并通知用户重新上传新的编码块。本发明专利技术实现了由云端系统对存储数据的完整性进行自检和修复。端系统对存储数据的完整性进行自检和修复。端系统对存储数据的完整性进行自检和修复。

【技术实现步骤摘要】
一种基于线性编码的区块链存储方法


[0001]本专利技术涉及数据存储
,尤其是指一种基于线性编码的区块链存储方法。

技术介绍

[0002]分布式云存储是指将数据存储在由专业网络服务商集中管理的服务器集群中的一种文件存储方案。为了提高数据的高可靠性和保证数据的持续可用性,在常规的备份方案中,原始文件被切分成多个文件块并由多个云服务器分别存储,云端中心服务器保存了文件块的索引,当需要下载文件时再从各个云服务器请求全部文件块数据。
[0003]区块链存储是区块链驱动的去中心化存储的简称,将数据存储在分布式节点上,不依赖于单个中心化实体,通过维护数据的去中心化的链式结构保障数据的不可篡改性。基于区块链的分布式云存储方法使用哈希算法和数字签名来确保存储在云端的数据不会损坏或者被篡改,从而保证了数据的完整性。
[0004]但是,根据分布式存储协议,文件可能存储在不同硬件条件和不同网络环境的异构云服务器中,而云服务器的硬盘在长期使用过程中,可能会受到物理损坏或磁化异常的影响发生硬件故障、磁道损坏的情况,难免会发生部分数据丢失或者损坏等情况。基于区块链存储的签名技术虽然能够在网络中的节点快速验证文件的完整性,但在现有技术中,检测到的受损编码块只能丢弃,不能重新替换新的编码块,且分布式云存储无法利用部分受损的数据参与解码,恢复数据。

技术实现思路

[0005]为此,本专利技术所要解决的技术问题在于克服现有技术中,异构云存储服务器易发生部分数据丢失且无法修复的问题。
[0006]为解决上述技术问题,本专利技术提供了一种基于线性编码的区块链存储方法,包括以下步骤:
[0007]S1、用户将原始文件切分成多个体积均等的文件块,并对文件块进行线性编码得到文件编码块,使用用户私钥对编码块的哈希值进行数字签名,将编码块和其对应哈希值的数字签名打包上传至云端系统;
[0008]S2、云端系统对接收到的编码块和其对应哈希值的数字签名进行验证,若验证成功,则云端系统将接收到的编码块存储在云端服务器,保存其存储地址并告知用户,然后使用云端私钥对编码块对应哈希值的数字签名再进行一次签名,得到云端签名,并公布到区块链中;
[0009]S3、云端系统使用用户公钥、云端公钥、编码块存储地址和云端签名对编码块进行差错检测;
[0010]S4、如果存在未通过差错检测的编码块,则云端系统收集所有存储的编码块,对原始文件进行修复;
[0011]若通过差错检测的编码块数量大于文件块数量k,则云端系统使用任意k个通过差
错检测的编码块参与解码,得到原始文件;
[0012]若通过差错检测的编码块数量小于等于文件块数量k,则云端系统抽取若干个未通过差错检测的编码块,使其与通过差错检测的编码块数量总数达到k+1个,然后使用解码检测函数判断所述k+1个编码块是否能够正确解码;若不能正确解码,则返回重新抽取未通过差错检测的编码块,再次进行解码检测;若能够正确解码,则使用所述k+1个编码块正确解码部分文件块;重复所述解码检测和解码过程,直到所有文件块都被正确解码,得到原始文件;
[0013]S5、原始文件被完全恢复,云端系统将未通过差错检测的编码块删除,并通知用户重新上传新的编码块。
[0014]在本专利技术的一个实施例中,S1中,所述对文件块进行线性编码得到文件编码块得到文件编码块,具体为:
[0015][0016]其中S
j
为编码块,j=1,2,

,n,x为编码自变量,对于每一个编码块,其中的编码自变量都是不同的,且用户可以生成任意多个编码块,其数量n由存储原始文件的云服务器个数决定;C
i
为切分后的文件块,k为切分后文件块的个数,有原始文件C={C1,C2,

,C
k
}。
[0017]在本专利技术的一个实施例中,在编码过程中添加相同维度的随机矩阵,增强编码的安全性。
[0018]在本专利技术的一个实施例中,S2中,所述云端系统对接收到的编码块和其对应哈希值的数字签名进行验证,具体方法为:
[0019]云端系统计算每一个编码块S
j
的哈希值hash(S
j
),并使用用户公钥pk
user
对每一个编码块S
j
对应哈希值的数字签名Ψ
j
进行解码,得到数字签名解码Ψ
d
(pk
user
,Ψ
j
),云端系统通过判断所述哈希值hash(S
j
)与数字签名解码Ψ
d
(pk
user
,Ψ
j
)的值是否一致来确定是否接受所述编码块和其对应哈希值的数字签名。
[0020]在本专利技术的一个实施例中,S3中,所述云端系统使用用户公钥、云端公钥、编码块存储地址对文件进行差错检测,具体方法为:
[0021]云端系统通过编码块存储地址得到所有编码块,计算每一个编码块S
j
的哈希值hash(S
j
),并使用云端公钥pk
cloud
和用户公钥pk
user
对每一个编码块S
j
的云端签名Ψ

j
进行解码,得到云端签名解码Ψ
d
(pk
user
,Ψ
d
(pk
cloud
,Ψ

j
));若编码块S
j
的哈希值hash(S
j
)与其对应的云端签名解码Ψ
d
(pk
user
,Ψ
d
(pk
cloud
,Ψ

j
))的值相同,则说明所述编码块S
j
通过差错检测。
[0022]在本专利技术的一个实施例中,S4中,所述使用解码检测函数判断所述k+1个编码块是否能够正确解码,解码检测函数为:
[0023][0024]其中V
‑1为V的逆矩阵,V为范德蒙德矩阵:
[0025][0026]矩阵D中的每一个值都由每一个对应的S
l
值决定,即:
[0027][0028]其中D
u,v
为矩阵D中的元素,若D
u,v
=0,则说明原始文件C中所对应的元素C
u,v
可由所述k+1个编码块正确解码。
[0029]在本专利技术的一个实施例中,S4中,所述使用k+1个编码块正确解码部分文件块的具体过程为:
[0030]从k+1个编码块中任选k个编码块参与解码,记为S

={S
′1,S
′2,

,S

k
},并构造线性方程如下:
[0031][0032]对所述线性方程求解得本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于线性编码的区块链存储方法,其特征在于,包括以下步骤:S1、用户将原始文件切分成多个体积均等的文件块,并对文件块进行线性编码得到文件编码块,使用用户私钥对编码块的哈希值进行数字签名,将编码块和其对应哈希值的数字签名打包上传至云端系统;S2、云端系统对接收到的编码块和其对应哈希值的数字签名进行验证,若验证成功,则云端系统将接收到的编码块存储在云端服务器,保存其存储地址并告知用户,然后使用云端私钥对编码块对应哈希值的数字签名再进行一次签名,得到云端签名,并公布到区块链中;S3、云端系统使用用户公钥、云端公钥、编码块存储地址和云端签名对编码块进行差错检测;S4、如果存在未通过差错检测的编码块,则云端系统收集所有存储的编码块,对原始文件进行修复;若通过差错检测的编码块数量大于文件块数量k,则云端系统使用任意k个通过差错检测的编码块参与解码,得到原始文件;若通过差错检测的编码块数量小于等于文件块数量k,则云端系统抽取若干个未通过差错检测的编码块,使其与通过差错检测的编码块数量总数达到k+1个,然后使用解码检测函数判断所述k+1个编码块是否能够正确解码;若不能正确解码,则返回重新抽取未通过差错检测的编码块,再次进行解码检测;若能够正确解码,则使用所述k+1个编码块正确解码部分文件块;重复所述解码检测和解码过程,直到所有文件块都被正确解码,得到原始文件;S5、原始文件被完全恢复,云端系统将未通过差错检测的编码块删除,并通知用户重新上传新的编码块。2.根据权利要求1所述的一种基于线性编码的区块链存储方法,其特征在于,S1中,所述对文件块进行线性编码得到文件编码块得到文件编码块,具体为:其中S
j
为编码块,j=1,2,

,n,x为编码自变量,对于每一个编码块,其中的编码自变量都是不同的,且用户可以生成任意多个编码块,其数量n由存储原始文件的云服务器个数决定;C
i
为切分后的文件块,k为切分后文件块的个数,有原始文件C={C1,C2,

,C
k
}。3.根据权利要求2所述的一种基于线性编码的区块链存储方法,其特征在于,在编码过程中添加相同维度的随机矩阵,增强编码的安全性。4.根据权利要求1所述的一种基于线性编码的区块链存储方法,其特征在于,S2中,所述云端系统对接收到的编码块和其对应哈希值的数字签名进行验证,具体方法为:云端系统计算每一个编码块S
j
的哈希值hash(S
j
),并使用用户公钥pk
user
对每一个编码块S
j
对应哈希值的数字签名Ψ
j
进行解码,得到数字签名解码Ψ
d
(pk
user

j
),云端系统通过判断所述哈希值hash(S
j
)与数字签名解码Ψ
d
(pk
user

【专利技术属性】
技术研发人员:王进蒋伟俞东阳李领治谷飞王恩澍
申请(专利权)人:苏州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1