一种基于区块链与IPFS的节点区域管理方法及设备技术

技术编号:32470692 阅读:38 留言:0更新日期:2022-03-02 09:30
本申请公开了一种基于区块链与IPFS的节点区域管理方法及设备,包括:节点在启动后,向所述区块链系统中的节点区域管理智能合约注册区域信息;所述节点区域管理智能合约通过预先建立的节点区域信息库保存所有节点的区域信息,其中,所述区域信息包括节点所属区域;节点从所述节点区域管理智能合约处获得所述节点区域信息库,以便管理文件系统中节点所属区域。本说明书实施例的各个节点可以主动把本节点的区域信息注册到节点区域管理智能合约,各个节点从节点区域管理智能合约处获得本节点的区域信息以及其他所有节点的区域信息,从而达到从全局划分维护节点所属区域的目标。达到从全局划分维护节点所属区域的目标。达到从全局划分维护节点所属区域的目标。

【技术实现步骤摘要】
一种基于区块链与IPFS的节点区域管理方法及设备


[0001]本申请涉及计算机
,尤其涉及一种基于区块链与IPFS的节点区域管理方法及设备。

技术介绍

[0002]星际文件系统(IPFS,InterPlanetary File System)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。IPFS是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个对等的分布式文件系统,可以将所有计算设备连接同一个文件系统。IPFS提供了一个高吞吐量、按内容寻址的块存储模型,以及与内容相关的超链接。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,并防止HTTP方案可能遇到的DDoS攻击。需要说的是,用户可以通过多种方式访问IPFS,包括FUSE与HTTP,以便将本地文件添加到IPFS文件系统可使其面向全世界可用。
[0003]IPFS的特性是热门文件资源永不丢失,符合用进废退的法则,经常访问的文件资源永不消失,使用频率低的文件因为资源的限制最终慢慢消失。因此IPFS更适合于实时的公共资源管理。IPFS通过激励机制鼓励矿工提供更大的存储空间长久的储存文件,然而这种方式并不是很高效,竞争机制本身也是一种耗能的行为。
[0004]IPFS的问题在于没有对全局进行合理有序规划,而是完全依靠激励机制、竞争机制实现资源的存储。完全自由的市场竞争机制具有一定的盲目竞争性,不能高效合理的配置资源。

技术实现思路

[0005]有鉴于此,本申请实施例提供了一种基于区块链与IPFS的节点区域管理方法及设备,用于解决现有技术中IPFS没有对全局进行合理有序规划的问题。
[0006]本申请实施例采用下述技术方案:
[0007]本申请实施例提供一种基于区块链与IPFS的节点区域管理方法,所述方法包括:
[0008]节点在启动后,向所述区块链系统中的节点区域管理智能合约注册区域信息;
[0009]所述节点区域管理智能合约通过预先建立的节点区域信息库保存所有节点的区域信息,其中,所述区域信息包括节点所属区域;
[0010]节点从所述节点区域管理智能合约处获得所述节点区域信息库,以便管理文件系统中节点所属区域。
[0011]需要说明的是,本说明书实施例的各个节点可以主动把本节点的区域信息注册到节点区域管理智能合约,各个节点从节点区域管理智能合约处获得本节点的区域信息以及其他所有节点的区域信息,从而达到从全局划分维护节点所属区域的目标。并且,可以从全局视角观察审视整个系统的区域规划情况,有利于从宏观层面掌控整个系统的存储资源,有利于更加合理地管理系统存储空间。
[0012]进一步的,所述向所述区块链系统中的节点区域管理智能合约注册区域信息之
前,所述方法还包括:
[0013]读取配置文件中区域信息注册状态,若区域信息注册状态为未注册,执行所述向所述区块链系统中的节点区域管理智能合约注册节点的区域信息的步骤。
[0014]需要说明的是,通过上述步骤可以对各节点的区域信息注册状态进行判断,只有判断出节点的区域信息注册状态为未注册时,才会后续的区域信息注册。
[0015]进一步的,所述向所述区块链系统中的节点区域管理智能合约注册节点的区域信息,具体包括:
[0016]节点生成SM9标识密码算法的签名主公钥与签名主私钥,然后节点从配置文件中读取本节点的节点标识,将签名主私钥与节点标识作为参数,使用SM9标识密码算法生成用于数字签名的签名公钥及签名私钥,并将所述签名主公钥与签名私钥保存在配置文件中;
[0017]节点从配置文件中读取节点的标识、签名主公钥、所属区域,并获取第一时间戳;
[0018]节点将节点的标识、签名主公钥、所属区域、第一时间戳通过连字符连接成字符串,并计算所述字符串的哈希值,得到字符串的第一哈希值;
[0019]节点从配置文件中读取节点的签名主公钥与签名私钥,并将节点的签名主公钥与签名私钥作为参数,使用SM9签名算法对所述字符串的第一哈希值进行签名,得到字符串的第一哈希值的签名;
[0020]节点将所述字符串、所述字符串的第一哈希值与所述字符串的第一哈希值的签名发送到节点区域管理智能合约;
[0021]节点区域管理智能合约计算所述字符串的哈希值,得到字符串的第二哈希值;
[0022]节点区域管理智能合约若判断出字符串的第一哈希值与所述字符串的第二哈希值相同时,从所述字符串中解析出节点的标识、签名主公钥、所属区域、第一时间戳;
[0023]节点区域管理智能合约以节点的标识、签名主公钥、字符串的第一哈希值及字符串的第一哈希值的签名作为参数,使用SM9验证签名算法,验证字符串的第一哈希值的签名是否合法;
[0024]如果所述字符串的第一哈希值的签名验证通过,将配置文件中的区域信息注册状态修改为已注册。
[0025]需要说明的是,结合SM9验证签名算法与区块链技术,注册节点的区域信息,其中,可读、可写、容易识别的SM9节点标识,有利于形象直观的观察每一个节点情况;区块链技术可以保障操作行为具有不可篡改、不可抵赖性,促进文件系统各参与方之间的相互信任。
[0026]进一步的,所述将配置文件中的区域信息注册状态修改为已注册之前,所述方法还包括:
[0027]节点区域管理智能合约以节点的标识作为检索条件,从节点区域信息库查找相应的节点区域信息;
[0028]如果没有找到相应的结果数据,则判定节点为首次注册,然后将节点的标识、签名主公钥、所属区域及版本号保存到节点区域信息库中,并向节点返回注册成功的消息;
[0029]节点收到来自节点区域管理智能合约的注册成功消息之后,执行所述将配置文件中的区域信息注册状态修改为已注册的步骤。
[0030]进一步的,若需要更改节点的所属区域,所述方法还包括:
[0031]管理节点从节点区域管理客户端发起变更节点区域的请求;
[0032]管理节点对节点的标识、变更的所属区域以及第二时间戳进行签名,得到变更区域签名,并将管理节点ID、节点的标识、变更的所属区域、第二时间戳与变更区域签名发送至所述节点区域管理智能合约;
[0033]所述节点区域管理智能合约根据管理节点ID,从所述区块链系统中的管理节点智能合约处获得管理节点信息;
[0034]如果不能获得管理节点信息,则判断为非法管理节点,返回错误;
[0035]如果能获得管理节点信息,则判断为有效管理节点,节点区域管理智能合约使用管理节点信息的公钥解密所述变更区域签名,得到节点的标识、变更的所属区域、第二时间戳;
[0036]比较节点的标识与从所述变更区域签名中解密出来的节点的标识是否相同;
[0037]如果节点的标识与从所述变更区域签名中解密出来的节点的标识相同,节点区域管理智能合约根据节点的标识从节点区域信息库中查找节点的所属区域;
[0038]节点区域管理智能合约使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链与IPFS的节点区域管理方法,其特征在于,所述方法包括:节点在启动后,向所述区块链系统中的节点区域管理智能合约注册区域信息;所述节点区域管理智能合约通过预先建立的节点区域信息库保存所有节点的区域信息,其中,所述区域信息包括节点所属区域;节点从所述节点区域管理智能合约处获得所述节点区域信息库,以便管理文件系统中节点所属区域。2.根据权利要求1所述的基于区块链与IPFS的节点区域管理方法,其特征在于,所述向所述区块链系统中的节点区域管理智能合约注册区域信息之前,所述方法还包括:读取配置文件中区域信息注册状态,若区域信息注册状态为未注册,执行所述向所述区块链系统中的节点区域管理智能合约注册节点的区域信息的步骤。3.根据权利要求2所述的基于区块链与IPFS的节点区域管理方法,其特征在于,所述向所述区块链系统中的节点区域管理智能合约注册节点的区域信息,具体包括:节点生成SM9标识密码算法的签名主公钥与签名主私钥,然后节点从配置文件中读取本节点的节点标识,将签名主私钥与节点标识作为参数,使用SM9标识密码算法生成用于数字签名的签名公钥及签名私钥,并将所述签名主公钥与签名私钥保存在配置文件中;节点从配置文件中读取节点的标识、签名主公钥、所属区域,并获取第一时间戳;节点将节点的标识、签名主公钥、所属区域、第一时间戳通过连字符连接成字符串,并计算所述字符串的哈希值,得到字符串的第一哈希值;节点从配置文件中读取节点的签名主公钥与签名私钥,并将节点的签名主公钥与签名私钥作为参数,使用SM9签名算法对所述字符串的第一哈希值进行签名,得到字符串的第一哈希值的签名;节点将所述字符串、所述字符串的第一哈希值与所述字符串的第一哈希值的签名发送到节点区域管理智能合约;节点区域管理智能合约计算所述字符串的哈希值,得到字符串的第二哈希值;节点区域管理智能合约若判断出字符串的第一哈希值与所述字符串的第二哈希值相同时,从所述字符串中解析出节点的标识、签名主公钥、所属区域、第一时间戳;节点区域管理智能合约以节点的标识、签名主公钥、字符串的第一哈希值及字符串的第一哈希值的签名作为参数,使用SM9验证签名算法,验证字符串的第一哈希值的签名是否合法;如果所述字符串的第一哈希值的签名验证通过,将配置文件中的区域信息注册状态修改为已注册。4.根据权利要求3所述的基于区块链与IPFS的节点区域管理方法,其特征在于,所述将配置文件中的区域信息注册状态修改为已注册之前,所述方法还包括:节点区域管理智能合约以节点的标识作为检索条件,从节点区域信息库查找相应的节点区域信息;如果没有找到相应的结果数据,则判定节点为首次注册,然后将节点的标识、签名主公钥、所属区域及版本号保存到节点区域信息库中,并向节点返回注册成功的消息;节点收到来自节点区域管理智能合约的注册成功消息之后,执行所述将配置文件中的区域信息注册状态修改为已注册的步骤。
5.根据权利要求1所述的基于区块链与IPFS的节点区域管理方法,其特征在于,若需要更改节点的所属区域,所述方法还包括:管理节点从节点区域管理客户端发起变更节点区域的请求;管理节点对节点的标识、变更的所属区域以及第二时间戳进行签名,得到变更区域签名,并将管理节点ID、节点的标识、变更的所属区域、第二时间戳与变更区域签名发送至所述节点区域管理智能合约;所述节点区域管理智能合约根据管理节点ID,从所述区块链系统中的管理节点智能合约处获得管理节点信息;如果不能获得管理节点信息,则判断为非法管理节点,返回错误;如果能获得管理节点信息,则判断为有效管理节点,节点区域管理智能合约使用管理节点信息的公钥解密所述变更区域签名,得到节点的标识、变更的所属区域、第二时间戳;比较节点的标识与从所述变更区域签名中解密出来的节点的标识是否相同;如果节点的标识与从所述变更区域签名中解密出来的节点的标识相同,节点区域管理智能合约根据节点的标识从节点区域信息库中查找节点的所属区域;节点区域管理智能合约使用变更的所属区域替换所述节点区域信息...

【专利技术属性】
技术研发人员:孙长杰李照川王伟兵赵子墨申传旺肖守明
申请(专利权)人:山东爱城市网信息技术有限公司
类型:发明
国别省市:

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

1