首页> 中国专利> 区块链节点资源备份及离线节点资源转移方法及存储介质

区块链节点资源备份及离线节点资源转移方法及存储介质

摘要

本发明属于区块链试技术领域,具体涉及区块链节点资源备份及离线节点资源转移方法及存储介质,所述方法执行以下步骤:步骤1:基于原区块链构建一个镜像区块链;所述原区块链中的每个节点通过一个设定的函数映射与镜像区块链节点中每个节点一一对应;镜像区块链中的每个节点之间彼此通过哈希映射建立关联;步骤2:原区块链中的节点资源在进行资源备份时,首先将需要备份的节点资源随机划分成多份,再将每一份节点资源都发送到镜像区块链中对应的节点;镜像区块链中的节点接收到需要所有的节点资源后。其通过构建镜像区块链来实现区块链节点资源的备份,在节点资源备份过程中,又将节点资源分成多份以提高节点资源的安全性。

著录项

  • 公开/公告号CN113821381A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 深圳电通信息技术有限公司;

    申请/专利号CN202111372770.5

  • 发明设计人 徐杨;

    申请日2021-11-18

  • 分类号G06F11/14(20060101);G06F21/60(20130101);G06F7/58(20060101);

  • 代理机构44814 深圳市江凌专利代理事务所(普通合伙);

  • 代理人陈晓霞

  • 地址 518000 广东省深圳市罗湖区南湖街道新南社区深南东路2105号中建大厦403-404室B3房

  • 入库时间 2023-06-19 13:46:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-08

    授权

    发明专利权授予

说明书

技术领域

本发明属于区块链技术领域,具体涉及区块链节点资源备份及离线节点资源转移方法及存储介质。

背景技术

区块链(英语:blockchain或block chain)是借由密码学串接并保护内容的串连文字记录(又称区块)。

每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易资料(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效纪录交易,且可永久查验此交易。

目前区块链技术最大的应用是数字货币,例如比特币的发明。因为支付的本质是“将账户A中减少的金额增加到账户B中”。如果人们有一本公共账簿,记录了所有的账户至今为止的所有交易,那么对于任何一个账户,人们都可以计算出它当前拥有的金额数量。而区块链恰恰是用于实现这个目的的公共账簿,其保存了全部交易记录。在比特币体系中,比特币地址相当于账户,比特币数量相当于金额。

一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。

发明内容

本发明的主要目的在于提供区块链节点资源备份及离线节点资源转移方法及存储介质,其通过构建镜像区块链来实现区块链节点资源的备份,在节点资源备份过程中,又将节点资源分成多份以提高节点资源的安全性,又通过哈希映射来关联镜像区块链中的节点,保证了节点资源备份的效率,同时,另一方面,在离线资源获取时,又通过链加密的方法对节点资源进行加密,以确保节点资源的安全性。

为达到上述目的,本发明的技术方案是这样实现的:

区块链节点资源备份及离线节点资源转移方法,所述方法执行以下步骤:

步骤1:基于原区块链构建一个镜像区块链;所述原区块链中的每个节点通过一个设定的函数映射与镜像区块链节点中每个节点一一对应;镜像区块链中的每个节点之间彼此通过哈希映射建立关联;

步骤2:原区块链中的节点资源在进行资源备份时,首先将需要备份的节点资源随机划分成多份,再将每一份节点资源都发送到镜像区块链中对应的节点;镜像区块链中的节点接收到需要所有的节点资源后,将本节点作为根节点,然后把每一份节点资源都通过哈希映射表发送出去,哈希映射表中的每个其他节点均存储一份节点资源;根节点将本次节点资源备份时的通过哈希映射表建立的节点连接关系和节点映射关系进行记录,作为节点资源备份链;

步骤3:在离线状态下,节点资源转移的接收方连接进入镜像区块链中,发送节点资源转移请求至镜像区块链中,镜像区块链接收到该请求后,首先将镜像区块链中所有节点的节点资源进行链加密,然后将链加密后的节点资源按照镜像区块链中原本的存储位置和映射关系,转移至节点资源接收方。

进一步的,所述步骤3中进行链加密的方法执行以下步骤:将镜像区块链中的每个节点按照哈希映射的关系,构建一个加密链;每个节点都将作为加密链中的一个加密节点;从任意加密节点开始,对节点中的节点资源进行时间复杂度为N秒和加密复杂度为Q1的随机加密;加密完成后,再对下一个节点进行时间复杂度为N-1秒和加密复杂度为Q2的随机加密;以此类推,完成所有的节点中的节点资源的加密后,完成链加密的过程。

进一步的,所述随机加密的过程包括:预存预设个数的加密密钥和预设个数的加密算法,并对各所述加密密钥和加密算法进行序号;根据加密的时间复杂度和加密复杂度,生成位数值小于或等于预设个数的值的随机数;随机数的位数值是指随机数的位数的值,随机数的位数小于或等于加密密钥或加密算法的个数;将所述随机数按照预设运算规则进行运算处理,将运算结果设为各加密密钥的序号和加密算法的序号,根据加密密钥的序号和加密算法的序号确定节点资源每个字节对应的加密密钥和加密算法;根据节点资源每个字节对应的加密密钥和加密算法对每个字节进行加密获得密文;获取随机数的加密密钥和加密算法,对随机数进行加密获得所述密文对应的加密因子。

进一步的,所述生成位数值小于或等于预设个数的值的随机数的方法包括:随机数=时间复杂度*加密复杂度。

进一步的,所述将所述随机数按照预设运算规则进行运算处理,将运算结果设为各加密密钥的序号和加密算法的序号,根据加密密钥的序号和加密算法的序号确定节点资源每个字节对应的加密密钥和加密算法步骤,包括:将随机数的高位异或i,再除以k取余,将取余获得的余数确定为加密密钥的序号,并根据序号确定加密密钥,将所述加密密钥确定为节点资源第i字节对应的加密密钥;将随机数的低位异或i,再除以k取余,将取余获得的余数确定为加密算法的序号,并根据序号确定加密算法,将所述加密算法确定为节点资源第i字节对应的加密算法;其中,k表示随机数的位数值。

进一步的,所述将所述随机数按照预设运算规则进行运算处理,将运算结果设为各加密密钥的序号和加密算法的序号,根据加密密钥的序号和加密算法的序号确定节点资源每个字节对应的加密密钥和加密算法步骤,包括:将随机数的高位加i,再除以k取余,将取余获得的余数确定为加密密钥的序号,并根据序号确定加密密钥,将所述加密密钥确定为节点资源第i字节对应的密钥;将随机数的低位加i,再除以k取余,将取余获得的余数确定为加密算法的序号,并根据序号确定加密算法,将所述加密算法确定为节点资源第i字节对应的加密算法;其中,k表示随机数的位数值。

进一步的,所述原区块链中的每个节点通过一个设定的函数映射与镜像区块链节点中每个节点一一对应的方法包括:将原区块链中的每个节点进行编号,编号作为原区块链节点中每个节点的地址;将镜像区块链中的每个节点也进行编号,编号作为镜像区块链中每个节点的地址;将原区块链中每个节点的地址代入设定的函数中,得到新的地址;将新的地址与镜像区块链中的每个节点的地址进行作差运算,得到的差值的绝对值最小时,该该镜像区块链中的节点作为原区块链中的节点的一一对应的节点。

进一步的,所述设定的函数使用如下公式表示:

进一步的,所述原区块链的节点在进行节点资源备份时,首先对节点资源进行复制,复制得到两份节点资源,其中一份发送给镜像区块链。

一种区块链节点资源备份及离线节点资源转移存储介质。

本发明的区块链节点资源备份及离线节点资源转移方法及存储介质,具有如下有益效果:其通过构建镜像区块链来实现区块链节点资源的备份,在节点资源备份过程中,又将节点资源分成多份以提高节点资源的安全性,又通过哈希映射来关联镜像区块链中的节点,保证了节点资源备份的效率,同时,另一方面,在离线资源获取时,又通过链加密的方法对节点资源进行加密,以确保节点资源的安全性。主要通过以下过程实现:1.镜像区块链的构建:本发明通过构建镜像区块链来对区块链中的资源进行备份,通过镜像区块链,一方面既可以实现节点资源的备份,还可以保证原区块链中的节点资源的安全,同时,镜像区块链中的节点资源还通过分割后进行备份,使得资源更加分散,即便被盗用,也无法获得完整的节点资源,进一步提升了安全性;2.节点资源备份后的关联:本发明对节点资源进行备份后,又通过哈希映射的方式将镜像区块链中的各个节点关联起来,使得在获取节点资源时,一方面通过分散资源确保资源的安全性,另一方面通过关联以提升节点资源利用的效率;3.离线资源转移的加密:本发明在离线资源转移时,通过对离线资源进行加密,保证即便节点资源被盗用,也无法完整破解节点资源,提升了节点资源的安全性。

附图说明

图1为本发明的实施例提供的区块链节点资源备份及离线节点资源转移方法的方法流程示意图;

图2为本发明的实施例提供的区块链节点资源备份及离线节点资源转移方法及存储介质的哈希映射的原理示意图;

图3为本发明的实施例提供的区块链节点资源备份及离线节点资源转移方法及存储介质的链加密的原理示意图;

图4为本发明的实施例提供的基区块链节点资源备份及离线节点资源转移方法的节点资源被破解率随着实验次数变化的曲线示意图与现有技术的对比实验效果示意图。

具体实施方式

以下结合具体实施方式和附图对本发明的技术方案作进一步详细描述:

实施例1

如图1所示,区块链节点资源备份及离线节点资源转移方法,所述方法执行以下步骤:

步骤1:基于原区块链构建一个镜像区块链;所述原区块链中的每个节点通过一个设定的函数映射与镜像区块链节点中每个节点一一对应;镜像区块链中的每个节点之间彼此通过哈希映射建立关联;

步骤2:原区块链中的节点资源在进行资源备份时,首先将需要备份的节点资源随机划分成多份,再将每一份节点资源都发送到镜像区块链中对应的节点;镜像区块链中的节点接收到需要所有的节点资源后,将本节点作为根节点,然后把每一份节点资源都通过哈希映射表发送出去,哈希映射表中的每个其他节点均存储一份节点资源;根节点将本次节点资源备份时的通过哈希映射表建立的节点连接关系和节点映射关系进行记录,作为节点资源备份链;

步骤3:在离线状态下,节点资源转移的接收方连接进入镜像区块链中,发送节点资源转移请求至镜像区块链中,镜像区块链接收到该请求后,首先将镜像区块链中所有节点的节点资源进行链加密,然后将链加密后的节点资源按照镜像区块链中原本的存储位置和映射关系,转移至节点资源接收方。

本发明通过构建镜像区块链来实现区块链节点资源的备份,在节点资源备份过程中,又将节点资源分成多份以提高节点资源的安全性,又通过哈希映射来关联镜像区块链中的节点,保证了节点资源备份的效率,同时,另一方面,在离线资源获取时,又通过链加密的方法对节点资源进行加密,以确保节点资源的安全性;主要通过以下过程实现:1.镜像区块链的构建:本发明通过构建镜像区块链来对区块链中的资源进行备份,通过镜像区块链,一方面既可以实现节点资源的备份,还可以保证原区块链中的节点资源的安全,同时,镜像区块链中的节点资源还通过分割后进行备份,使得资源更加分散,即便被盗用,也无法获得完整的节点资源,进一步提升了安全性;2.节点资源备份后的关联:本发明对节点资源进行备份后,又通过哈希映射的方式将镜像区块链中的各个节点关联起来,使得在获取节点资源时,一方面通过分散资源确保资源的安全性,另一方面通过关联以提升节点资源利用的效率;3.离线资源转移的加密:本发明在离线资源转移时,通过对离线资源进行加密,保证即便节点资源被盗用,也无法完整破解节点资源,提升了节点资源的安全性。

实施例2

在上一实施例的基础上,所述步骤3中进行链加密的方法执行以下步骤:将镜像区块链中的每个节点按照哈希映射的关系,构建一个加密链;每个节点都将作为加密链中的一个加密节点;从任意加密节点开始,对节点中的节点资源进行时间复杂度为N秒和加密复杂度为Q1的随机加密;加密完成后,再对下一个节点进行时间复杂度为N-1秒和加密复杂度为Q2的随机加密;以此类推,完成所有的节点中的节点资源的加密后,完成链加密的过程。

参考图3,图3中的U0~U6均代表一个节点,Q0~Q6代表复杂度,每个节点完成加密后,到另一个节点进行加密之间的时间为加密时间。

具体的,散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。

实施例3

在上一实施例的基础上,所述随机加密的过程包括:预存预设个数的加密密钥和预设个数的加密算法,并对各所述加密密钥和加密算法进行序号;根据加密的时间复杂度和加密复杂度,生成位数值小于或等于预设个数的值的随机数;随机数的位数值是指随机数的位数的值,随机数的位数小于或等于加密密钥或加密算法的个数;将所述随机数按照预设运算规则进行运算处理,将运算结果设为各加密密钥的序号和加密算法的序号,根据加密密钥的序号和加密算法的序号确定节点资源每个字节对应的加密密钥和加密算法;根据节点资源每个字节对应的加密密钥和加密算法对每个字节进行加密获得密文;获取随机数的加密密钥和加密算法,对随机数进行加密获得所述密文对应的加密因子。

具体的,若关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列表。

对不同的关键字可能得到同一散列地址,即k1≠k2,而f(k1)=f(k2),这种现象称为冲突(英语:Collision)。具有相同函数值的关键字对该散列函数来说称做同义词。综上所述,根据散列函数f(k)和处理冲突的方法将一组关键字映射到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“像”作为记录在表中的存储位置,这种表便称为散列表,这一映射过程称为散列造表或散列,所得的存储位置称散列地址。

若对于关键字集合中的任一个关键字,经散列函数映象到地址集合中任何一个地址的概率是相等的,则称此类散列函数为均匀散列函数(Uniform Hash function),这就是使关键字经过散列函数得到一个“随机的地址”,从而减少冲突。

实施例4

在上一实施例的基础上,所述生成位数值小于或等于预设个数的值的随机数的方法包括:随机数=时间复杂度*加密复杂度。

具体的,一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。算法的时间复杂度是指执行算法所需要的计算工作量。

实施例5

在上一实施例的基础上,所述将所述随机数按照预设运算规则进行运算处理,将运算结果设为各加密密钥的序号和加密算法的序号,根据加密密钥的序号和加密算法的序号确定节点资源每个字节对应的加密密钥和加密算法步骤,包括:将随机数的高位异或i,再除以k取余,将取余获得的余数确定为加密密钥的序号,并根据序号确定加密密钥,将所述加密密钥确定为节点资源第i字节对应的加密密钥;将随机数的低位异或i,再除以k取余,将取余获得的余数确定为加密算法的序号,并根据序号确定加密算法,将所述加密算法确定为节点资源第i字节对应的加密算法;其中,k表示随机数的位数值。

具体的,密钥加密是发送和接收数据的双方,使用相同的或对称的密钥对明文进行加密解密运算的加密方法。

若加密算法是公开的,那么真正的秘密就在于密钥了,密钥必须是保密的,它通常是一个字符串,并且可以按需频繁更换。因此,密钥的长度很重要,因为一旦找到解密密钥也就破译了密码,而密钥的长度越长,密钥空间就越大,遍历密钥空间所花费的时间就越长,破译的可能性也就越小。

实施例6

在上一实施例的基础上,所述将所述随机数按照预设运算规则进行运算处理,将运算结果设为各加密密钥的序号和加密算法的序号,根据加密密钥的序号和加密算法的序号确定节点资源每个字节对应的加密密钥和加密算法步骤,包括:将随机数的高位加i,再除以k取余,将取余获得的余数确定为加密密钥的序号,并根据序号确定加密密钥,将所述加密密钥确定为节点资源第i字节对应的密钥;将随机数的低位加i,再除以k取余,将取余获得的余数确定为加密算法的序号,并根据序号确定加密算法,将所述加密算法确定为节点资源第i字节对应的加密算法;其中,k表示随机数的位数值。

实施例7

在上一实施例的基础上,所述原区块链中的每个节点通过一个设定的函数映射与镜像区块链节点中每个节点一一对应的方法包括:将原区块链中的每个节点进行编号,编号作为原区块链节点中每个节点的地址;将镜像区块链中的每个节点也进行编号,编号作为镜像区块链中每个节点的地址;将原区块链中每个节点的地址代入设定的函数中,得到新的地址;将新的地址与镜像区块链中的每个节点的地址进行作差运算,得到的差值的绝对值最小时,该该镜像区块链中的节点作为原区块链中的节点的一一对应的节点。

实施例8

在上一实施例的基础上,所述设定的函数使用如下公式表示:

实施例9

在上一实施例的基础上,所述原区块链的节点在进行节点资源备份时,首先对节点资源进行复制,复制得到两份节点资源,其中一份发送给镜像区块链。

实施例10

一种区块链节点资源备份及离线节点资源转移存储介质。

以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,上述实施例提供的系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。

术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号