[发明专利]一种基于门限秘密共享的区块链分片存储方法在审
申请号: | 201910584585.9 | 申请日: | 2019-07-01 |
公开(公告)号: | CN110297831A | 公开(公告)日: | 2019-10-01 |
发明(设计)人: | 张国潮;王瑞锦 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27;G06F21/64 |
代理公司: | 成都天汇致远知识产权代理事务所(普通合伙) 51264 | 代理人: | 陆岩 |
地址: | 610054 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 交易数据 门限 区块 分片存储 秘密共享 数字化 再利用 拉格朗日插值算法 数据存储过程 数据读取过程 隐私性保护 存储空间 分片数据 节点请求 数据存储 数据读取 数据分片 数据区块 拼接 分发 恢复 存储 改进 | ||
1.一种基于门限秘密共享的区块链分片存储方法,其特征在于,包括数据存储方法和数据读取方法;
所述数据存储方法包括以下步骤:首先将交易数据进行数字化分片得到数字分片,再利用改进Shamir门限构造k-1次多项式,并从中选取n个点作为n个分片数据,之后构造n个分片数据区块分发给其他的节点进行存储;
所述数据读取方法包括以下步骤:首先向其他节点请求k个分片数据区块,再利用拉格朗日插值算法依次恢复出数字分片,再将这些数字分片进行拼接并恢复出交易数据。
2.根据权利要求1所述的一种基于门限秘密共享的区块链分片存储方法,其特征在于,所述将交易数据进行数字化分片得到数字分片,包括以下步骤:
首个完成工作量证明的节点将交易数据T字符串化后,先将字符串转为二进制形式,再将二进制形式的字符串转为十进制数字T`;
根据门限参数(k,n)将十进制数字T`分成k-1份,即T`=d1|d2…|dk-1,其中,k表示要恢复出十进制数字T`所需的数据分片数量,n表示存储有数据分片的节点数量,di表示十进制数字T`的某一部分,即数字分片,1≤i≤k-1。
3.根据权利要求1所述的一种基于门限秘密共享的区块链分片存储方法,其特征在于,所述利用改进Shamir门限构造k-1次多项式,包括以下步骤:
首先选取素数p,且p>max(dmax,n),其中dmax=max(di),di表示数字分片,1≤i≤k-1,n表示存储有数据分片的节点数量;
在有限域GF(p)中随机选取一个数a并构造一次多项式F1(x)=ax+d1。在一次多项式F1(x)中选取两个点Ad11=F1(1)和Ad12=F1(2),将d2作为秘密值构造二次多项式F2(x)=Ad12*x2+Ad11*x1+d2,依次类推,直到构造出k-1次多项式Fk-1(x)=Adk-2k-1*xk-1+Adk-2k-2*xk-2+…+Adk-21*x1+dk-1。
4.根据权利要求1所述的一种基于门限秘密共享的区块链分片存储方法,其特征在于,所述从k-1次多项式中选取n个点,具体为:选取T1=[1,Fk-1(1)]、T2=[2,Fk-1(2)]、…、Tn=[n,Fk-1(n)],作为n个分片数据。
5.根据权利要求1所述的一种基于门限秘密共享的区块链分片存储方法,其特征在于,所述构造n个分片数据区块分发给其他的节点进行存储,包括以下步骤:
计算构造区块结构所需的相关参数值:版本号、区块索引、前一区块哈希值、时间戳、随机数解Nonce和Merkle树根,并选定此时区块链网络中存活的n个节点进行分片数据区块的分发;
根据n个数据分片数据以及所述相关参数构造n个分片数据区块;
将n个分片数据区块分发给选定的n个节点;
收到分片数据区块的n个节点对区块进行正确性检验,如果检验无误,则分发到分片数据区块的节点将该分片数据区块链接到区块链上;如果检验有误,则分发到分片数据区块的节点将该分片数据区块丢弃。
6.根据权利要求5所述的一种基于门限秘密共享的区块链分片存储方法,其特征在于,所述正确性检验包括:计算前一区块头的哈希值与该区块头中存放的哈希值是否一致;该区块的工作量证明是否正确;该区块的结构是否正确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910584585.9/1.html,转载请声明来源钻瓜专利网。