基于DHT和IPFS的区块链存储方案制造技术

技术编号:38364792 阅读:12 留言:0更新日期:2023-08-05 17:32
本发明专利技术公开了一种基于DHT和IPFS的区块链存储方案,解决了区块链存储成本高、低效性和扩展性差的问题。设计了基于哈希链的CP

【技术实现步骤摘要】
基于DHT和IPFS的区块链存储方案


[0001]本专利技术涉及一个基于DHT和IPFS结合基于哈希链的CP

ABE加密算法的区块链存储方案。

技术介绍

[0002]由于区块链技术的不断发展和应用,其所面临的数据存储和传输问题也越来越突出。在传统的区块链存储方式中,由于数据的存储和传输都需要依赖于区块链网络,而区块链的性能和容量有限,导致数据存储和传输的效率低下,容易出现拥堵和延迟。为了解决这一问题,研究者们开始探索链下存储方案,即将数据存储在区块链之外的存储介质中。
[0003]分布式哈希表(distributed hash table,DHT)即分布式哈希表技术,是一种分布式的存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。主要思想如下:全网维护一个巨大的文件索引哈希表,这个哈希表的条目形如(Key,Value)。这里Key通常是文件的某个哈希算法下的哈希值,(当然也可以是文件名或者文件内容描述)而Value则是存储文件的IP地址。查询时,仅需要提供Key,就能从表中查询到存储到节点地址并返回给查询节点。DHT由与区块链网络无关的节点维护,这些节点履行经区块链网络批准的读写操作。数据在DHT网络中的节点位置足够随机,并且保持一定的重复率,从而确保了高效的可用率。
[0004]星际文件系统(inter planetary file system,IFPS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。从本质上讲,它允许文件以永久和分布式的方式存储,同时提供历史版本的文件,从而删除重复文件。文件存储到IPFS会得到一个IPFS hash,IPFS hash可以作为访问文件的索引,同时检验文件内容是否被篡改。
[0005]区块链(Blockchain)是按照时间顺序,将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链的核心技术如下:
[0006]P2P网络技术
[0007]P2P网络技术又称为对等互联网技术或点对点技术,是区块链系统连接各对等节点的组网技术,是与中心化连接网络相对应的一种构建在互联网上的连接网络。
[0008]分布式账本
[0009]分布式账本指的是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
[0010]非对称加密
[0011]非对称加密算法是一种基于密钥的信息加解密方法,需要两个密钥:公钥(Public Key)和私钥(Private Key)。由于加密和解密使用的是不同的密钥,因此这种加密算法被称之为非对称加密算法。
[0012]共识机制
[0013]共识机制就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
[0014]智能合约
[0015]智能合约存储在区块链上,是一种由事件触发的、具有状态的、自行验证和自动执行的计算机协议。用户通过发起交易提交智能合约到区块链网络,经旷工节点验证后存储在区块链特定的区块中,用户得到返回的合约地址及合约接口等信息后,可通过发起交易来调用合约。
[0016]传统的链下存储方案往往存在数据可靠性差、存储效率低等问题。因此,研究者们开始探索结合其他技术,提高链下存储方案的可靠性和效率。在数据的应用过程中,数据的隐私性、安全性和访问效率等问题也越来越受到关注。其中,数据隐私和安全是最为重要的问题,尤其是对于一些敏感数据,比如金融、医疗等行业的数据,更是需要高度保护。同时,对于这些敏感数据,数据访问的效率也是一个重要的问题,因为这些行业的数据往往需要快速的访问和处理。

技术实现思路

[0017]为了解决上述技术问题,本专利技术提供一种基于DHT和IPFS结合基于哈希链的CP

ABE算法的区块链存储方案。
[0018]本专利技术解决上述技术问题的技术方案是:基于哈希链的CP

ABE加密算法,包括以下步骤:
[0019](1)初始化:属性管理机构在初始化阶段负责定义访问策略并生成公钥、主密钥,负责哈希链构造;
[0020](2)密钥生成:属性管理机构根据满足访问策略要求的用户属性生成相应的私钥,并将私钥中的哈希链中的每个哈希值作为键,将对应的用户私钥作为值存储到索引结构中;
[0021](3)数据加密:数据拥有者选择一组属性来定义访问策略,并使用这些属性将数据加密,多次哈希运算被用来创建一个哈希值序列,将这个哈希值序列替换为访问策略对应的属性集合,最终得到加密后的密文;
[0022](4)数据解密:密文接收者使用私钥解密加密的数据。通过验证哈希链上的每个哈希值是否符合访问授权,确定许可要求是否得到满足;
[0023]上述基于哈希链的CP

ABE加密算法,所述步骤(1)中,初始化阶段是属性管理机构在系统中做的准备工作,引入哈希链;输入安全参数λ,输出系统公钥PK和系统主密钥MSK;迭代生成哈希链,假设哈希链的长度为l,链式哈希函数为H,随机选择n+1个随机数r0,r1,

,r
n
∈RZ
q
,第一个元素为随机数r,那么哈希链的生成过程如下:r0=r,r1=H(r0),r2=H(r1),

,r
l
=H(r
l
‑1)。
[0024]上述基于哈希链的CP

ABE加密算法,所述步骤(2)中密钥生成的具体过程为:
[0025]2‑
1)属性集合:S={attr1,attr2,...,attr
n
},对访问策略A进行哈希处理,得到h
j
=H(A),将每个节点属性attr
i
转换成哈希链H(attr
i
)=h0,h1,h2,...,h
n

[0026]2‑
2)使用主密钥MSK生成私钥SKattr
i
,对于每个属性attr
i
∈S,生成一个属性私钥SKattr
i

[0027]根据访问策略A生成相应的属性密钥,其中每个属性对应哈希链,将哈希链上的第i个值作为该属性的私钥,在密钥生成过程中,为每个用户生成一个私钥,并将私钥中的哈希链H中的每个哈希值h
i
作为键,将对应的用户私钥作为值存储到索引结构中。
[0028]上述基于哈希链的CP

ABE加密算法,所述步骤(3)中数据加密的具体过程为:
[0029]3‑
...

【技术保护点】

【技术特征摘要】
1.一种基于哈希链的CP

ABE数据加密算法,其特征在于,包括以下步骤:(1)初始化:属性管理机构在初始化阶段负责定义访问策略并生成公钥、主密钥,负责哈希链构造;(2)密钥生成:属性管理机构根据满足访问策略要求的用户属性生成相应的私钥,并将私钥中的哈希链中的每个哈希值作为键,将对应的用户私钥作为值存储到索引结构中;(3)数据加密:数据拥有者选择一组属性来定义访问策略,并使用这些属性将数据加密,多次哈希运算被用来创建一个哈希值序列,将这个哈希值序列替换为访问策略对应的属性集合,最终得到加密后的密文;(4)数据解密:密文接收者使用私钥解密加密的数据,通过验证哈希链上的每个哈希值是否符合访问授权,确定许可要求是否得到满足。2.根据权利要求1所述的基于哈希链的CP

ABE加密算法,其特征在于,所述步骤(1)中,初始化阶段是属性管理机构在系统中做的准备工作,引入哈希链;输入安全参数λ,输出系统公钥PK和系统主密钥MSK;迭代生成哈希链,假设哈希链的长度为l,链式哈希函数为H,随机选择n+1个随机数r0,r1,

,r
n
∈RZ
q
,第一个元素为随机数r,那么哈希链的生成过程如下:r0=r,r1=H(r0),r2=H(r1),

,r
l
=H(r
l
‑1)。3.根据权利要求2所述的基于哈希链的CP

ABE加密算法,其特征在于,所述步骤(2)中密钥生成的具体过程为:2

1)属性集合:S={attr1,attr2,...,attr
n
},对访问策略A进行哈希处理,得到h
j
=H(A),将每个节点属性attr
i
转换成哈希链H(attr
i
)=h0,h1,h2,...,h
n
;2

2)使用主密钥MSK生成私钥SKattr
i
,对于每个属性attr
i
∈S,生成一个属性私钥SKattr
i
;根据访问策略A生成相应的属性...

【专利技术属性】
技术研发人员:张世文张文任飞翔陈双梁伟
申请(专利权)人:湖南科技大学
类型:发明
国别省市:

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

1