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

一种基于秘密共享的区块链分布式存储方法技术

技术编号:20014426 阅读:24 留言:0更新日期:2019-01-05 22:34
本发明专利技术公开了一种基于秘密共享的区块链分布式存储方法,包括:1)网络按照相同的概率将每个区块的数据分配给网络中的节点,并记录这些节点的位置信息;2)为了防止恶意节点的攻击,对这些节点的位置信息用密钥加密,网络将这些加密后的节点的位置信息向全网中的各个节点广播;为了防止敌手破译密钥,运用Shamir门限方法来保护密钥;3)网络中的节点根据POW共识机制获得记账权,从而将这些加密后的节点的位置信息记录在区块链中;4)恢复某一区块数据时,先收集网络中节点的子秘密,根据拉格朗日插值公式恢复出密钥;用密钥对加密的节点位置信息进行解密,获得存储了该区块数据的节点的位置信息,只要找出任意一个节点就能够下载区块数据。

A Block Chain Distributed Storage Method Based on Secret Sharing

The invention discloses a block chain distributed storage method based on secret sharing, which includes: 1) the network distributes the data of each block to the nodes in the network according to the same probability, and records the location information of these nodes; 2) in order to prevent the attack of malicious nodes, the location information of these nodes is encrypted by key, and the network encrypts the location information of these encrypted nodes. Broadcasting to each node in the whole network; Shamir threshold method is used to protect the key in order to prevent the opponent from deciphering the key; 3) Nodes in the network acquire accounting rights according to POW consensus mechanism, so that the position information of these encrypted nodes can be recorded in the block chain; 4) When recovering a block of data, the sub-secrets of nodes in the network are collected first, and then the Lagrange interpolation formula is used. The key is recovered; the location information of the encrypted node is decrypted by the key, and the location information of the node storing the block data is obtained. As long as any node is found, the block data can be downloaded.

【技术实现步骤摘要】
一种基于秘密共享的区块链分布式存储方法
本专利技术涉及一种基于秘密共享的区块链分布式存储方法,属于数据存储

技术介绍
分布式存储技术是将数据分散存储在多个独立的设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储设备分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存储效率,还易于扩展。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。区块链技术作为一种分布式账本技术,在一定时间交易就会被打包产生一个新的区块,随着一次次的累加,形成的整个区块链数据是巨大的。网络中的节点需要不断存储这些数据,这将占用大量的存储空间。目前最著名的比特币,在2009年被启动之后,尤其是在2013年交易呈指数增长,目前累计的区块数据已经超过140G,加上索引文件已经突破了170G。这也就意味着每个矿工需要存储超过140G的数据,而这些数据还会不断地增加。因此,研究一种多个节点分散存储整个区块链数据,但可以根据需要任意恢复某个区块数据的方法尤为重要。
技术实现思路
本专利技术针对区块链中区块数据存储技术的空缺,提出了一种基于秘密共享的区块链分布式存储方法,该方法将区块链中原始区块的数据分散存储在不同的节点上,网络记录这些节点的位置信息并用密钥加密。然后,全网将该加密信息广播给各个节点,让网络中的节点把该位置信息记录到新的区块中。使用POW共识来选出产生新区块的节点,最终,只要根据目前区块中存储的节点的位置信息就可以找到相应的节点来获取区块数据。为达到以上目的,本专利技术采用如下技术方案:一种基于秘密共享的区块链分布式存储方法,具体操作步骤如下:1)网络按照相同的概率将每个区块的数据分配给网络中的8%-12%的节点,并记录这些节点的位置信息;2)为了防止恶意节点的攻击,对这些节点的位置信息用密钥S加密,网络将这些加密后的节点的位置信息向全网中的各个节点广播;为了防止敌手破译密钥,运用Shamir门限方法来保护密钥S,即将密钥S分割成t个子秘密分配给网络中的节点;3)网络中的节点根据POW共识机制获得记账权,从而将这些加密后的节点的位置信息记录在区块链中;4)恢复某一区块数据时,先收集网络中节点的t个子秘密,根据拉格朗日插值公式恢复出密钥S;用密钥S对加密的节点位置信息进行解密,获得存储了该区块数据的节点的位置信息,只要找出任意一个节点就能够下载区块数据。所述Shamir门限方法来保护密钥S,具体步骤如下:设t,n(t≤n)是正整数,如果在n个节点中每个节点分发一个秘密数si,则任何大于等于t个节点都能由si计算出密钥S,而其中任何小于等于t-1个节点都不能由si计算出密钥S,其中S为加密位置信息的密钥,si为每个节点持有的秘密份额,即子秘密或者密钥S的碎片,t为门限值,设t=5%×n:选取大素数P,使其比任何可能的密钥S和节点的个数n都大,所有的计算都会执行模的操作,在有限域GF(p)上构造一个t-1次多项式:f(x)=a0+a1x+a2x2+……+at-1xt-1modp(1)其中:秘密a0=S是域GF(p)上的一个数,其他系数a1……at-1是从GF(p)上随机选取的t-1个互异的数;关于密钥分割:对于n个节点P1,P2,……Pn,选取n个不同的整数x1<x2<……<xn,带入(1)式,计算出f(xi),那么(xi,f(xi))就是分割出的子秘密,将其分给每个节点Pi;关于密钥重构:如果已知多项式f(x)的t个值(xi,f(xi))(1≤i≤t),级由t个节点提供的子秘密,能够充当t个插值点,利用拉格朗日插值公式(2):求出多项式f(x),从而求出密钥S=a0=f(0)。与现有技术相比,本专利技术具有如下的优点:1)利用整个区块链中的节点进行分布式存储,即使有部分节点离线,仍然可以恢复出区块数据,增强了系统的容错性。2)对节点的位置信息进行加密,可以避免恶意节点的攻击。3)利用Shamir门限方案保护密钥,提高了密钥的安全性,防止了敌手破译密钥。附图说明图1为本专利技术基于秘密共享的区块链分布式存储方法的流程图。图2为本专利技术实施例中的区块的连接图。具体实施方式本专利技术优选实施例结合附图详述如下:假定整个区块链中有m个区块,n个节点,每个区块数据以相同的概率被分配给网络中10%的节点,假定节点个数为100个,每个区块的数据都被10个节点存储,全网记录下这些节点的位置信息,并用密钥加密该位置信息,网络将该信息公布给所有节点,让全网节点将该信息记录记录在区块链中。在对位置信息加密时,运用了Shamir秘密共享方案,实现全网只要大于5%的节点结合就可以恢复出密钥,那么只要网络中10个节点中的一个正常工作,就可以恢复出该区块的数据。如图1所示,一种基于秘密共享的区块链分布式存储方法,具体操作步骤如下:1)网络按照相同的概率将每个区块的数据分配给网络中的10%的节点,并记录这些节点的位置信息;2)为了防止恶意节点的攻击,对这些节点的位置信息用密钥S加密(假设全网节点数为100,则加密后的位置信息为Ek(ID1,ID2...ID10)),网络将这些加密后的节点的位置信息向全网中的各个节点广播;为了防止敌手破译密钥,运用Shamir门限方法来保护密钥S,即将密钥S分割成t个子秘密分配给网络中的节点;3)网络中的节点根据POW共识机制获得Ek(ID1,ID2...ID10)的记账权,从而将这些加密后的节点的位置信息记录在区块链中;4)恢复某一区块数据时,先收集网络中节点的t个子秘密,根据拉格朗日插值公式恢复出密钥S;用密钥S对加密的节点位置信息Ek(ID1,ID2...ID10)进行解密,获得存储了该区块数据的节点的位置信息ID1,ID2...ID10,只要找出任意一个节点就能够下载区块数据。本实施例中,一个完整的区块结构主要包括以下几个部分:神奇数、区块大小、区块头、加密后的节点位置信息和出块者的签名。其中,神奇数为区块间的分隔符,区块大小记录了当前区块的大小。区块头即图2中的区块头an,它由两个区块元数据组成,首先是一组引用父区块哈希值的数据,这组数据用于将该区块与区块链中前一区块相连接。第二组元数据,即难度,时间戳和nonce,与挖矿竞争有关。加密后的节点位置信息记录了被加密的存储该区块原始数据的节点的位置信息。如图2所示,第n个区块中的加密后的节点位置信息用En=Ek(ID″1,ID″2…ID″10)表示。在图2中,假定网络中有100个节点,则一个区块的数据同时被10个节点存储,故图中标注了10个节点的ID。出块者的签名为sig(h(an,En)),是出块者对区块头an和加密后的位置信息En哈希后的签名,用于标注身份,供其他节点验证。所述Shamir门限方法来保护密钥S,具体步骤如下:设t,n(t≤n)是正整数,如果在n个节点中每个节点分发一个秘密数si,则任何大于等于t个节点都能由si计算出密钥S,而其中任何小于等于t-1个节点都不能由si计算出密钥S,其中S为加密位置信息的密钥,si为每个节点持有的秘密份额,即子秘密或者密钥S的碎片,t为门限值,设t=5%×n:选取大素数P,使其比任何可能的密钥S和节点的个数n都本文档来自技高网...

【技术保护点】
1.一种基于秘密共享的区块链分布式存储方法,其特征在于,具体操作步骤如下:1)网络按照相同的概率将每个区块的数据分配给网络中的8%‑12%的节点,并记录这些节点的位置信息;2)为了防止恶意节点的攻击,对这些节点的位置信息用密钥S加密,网络将这些加密后的节点的位置信息向全网中的各个节点广播;为了防止敌手破译密钥,运用Shamir门限方法来保护密钥S,即将密钥S分割成t个子秘密分配给网络中的节点;3)网络中的节点根据POW共识机制获得记账权,从而将这些加密后的节点的位置信息记录在区块链中;4)恢复某一区块数据时,先收集网络中节点的t个子秘密,根据拉格朗日插值公式恢复出密钥S;用密钥S对加密的节点位置信息进行解密,获得存储了该区块数据的节点的位置信息,只要找出任意一个节点就能够下载区块数据。

【技术特征摘要】
1.一种基于秘密共享的区块链分布式存储方法,其特征在于,具体操作步骤如下:1)网络按照相同的概率将每个区块的数据分配给网络中的8%-12%的节点,并记录这些节点的位置信息;2)为了防止恶意节点的攻击,对这些节点的位置信息用密钥S加密,网络将这些加密后的节点的位置信息向全网中的各个节点广播;为了防止敌手破译密钥,运用Shamir门限方法来保护密钥S,即将密钥S分割成t个子秘密分配给网络中的节点;3)网络中的节点根据POW共识机制获得记账权,从而将这些加密后的节点的位置信息记录在区块链中;4)恢复某一区块数据时,先收集网络中节点的t个子秘密,根据拉格朗日插值公式恢复出密钥S;用密钥S对加密的节点位置信息进行解密,获得存储了该区块数据的节点的位置信息,只要找出任意一个节点就能够下载区块数据。2.根据权利要求1所述的基于秘密共享的区块链分布式存储方法,其特征在于,所述Shamir门限方法来保护密钥S,具体步骤如下:设t,n(t≤n)是正整数,如果在n个节点中每个节点分发一个秘密数si,则任何大于等于...

【专利技术属性】
技术研发人员:任艳丽李佩怡张新鹏
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

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

1