一种基于区块链技术的跨链安全存储的方法及装置
技术领域
本发明涉及区块链及信息存储技术领域,尤其涉及一种基于区块链技术的跨链安全存储的方法及装置。
背景技术
区块链技术是由互不相信的多方共同维护同一种全局状态的分布式分类账本,具有去中心化、冗余存储、防篡改以及可追溯等优点,主要涉及的内容包括链式结构、共识机制和非对称加密等相关算法。在没有第三方介入的情况下,互不相信的人可以通过区块链技术进行数据的分享。因此,区块链在金融、经济以及科技方面都有重要应用。
每个区块由区块头和区块体两部分组成,区块头存放了Version、Target_bits、Nonce、TimeStamp、PrevBlockHash和Merkle Root等字段,区块体存放着这个区块存储的数据Data。Version是指版本号,是用来标记交易版本的;Target_bits是指难度目标,是生成该区块的难度值;Nonce是指随机数,是令区块头部哈希小于难度目标的值;TimeStamp是指时间戳,记录该区块产生的近似时间。PrevBlockHash是指前块哈希,存放着前一区块的哈希,所有区块按照生成顺序,通过前块哈希连接在一起,因此区块链中的任一区块被修改,都会影响后面所有区块哈希的改变,从而可以保证区块链的安全性。Merkle Root是指Merkle树根,Merkle树是二叉哈系数,叶子节点是存储的数据,所有子节点值连接后进行哈希运算可以得到父节点,最终可以计算出根节点。区块内任何数据发生改变,Merkle树根都会改变,可以保证区块内数据的完整性。
具有点对点传输、去中心化计算、安全加密等特性的区块链技术,为互联网或者是物联网的敏感数据的安全交换提供了一种新的解决思路。但是,由不同组织或机构所构建的众多区块链,因受各个单链“信息孤岛”的限制,其有价值的敏感数据很难在链间交换。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明公开一种基于区块链技术的跨链安全存储的方法,所述方法包括如下步骤:
步骤1,在多个具有跨链交互需求的区块链之间设置中间服务平台,所述中间服务平台获区块链内的数据,并分析其对应的功能,若任意两条区块链之间的功能相似度大于第一预设值时,则判定这两条区块链之间为互相不信任区块链,则跳转至步骤2,若任意两条区块链之间的功能相似度小于第一预设值时,而功能相关度大于第二预设值,则判定这两条区块链之间为部分不信任区块链,跳转至步骤3;
步骤2,则所述中间服务平台作为连接互不信任区块之间的连接器,其作为中介成为双方共同信任的第三方,在所述中间服务平台中为所述两条区块链双方的账本系统创建资金托管,双方以公证人机制通过该中介相互进行数据的跨链存储;
步骤3,所述中间服务平台作为锚定中继链进行两条区块链的数据跨链存储,其中,设置锚定中继链,第一区块链和第二区块链与所述锚定中继链进行通信连接,在所述第一区块链与所述第二区块链通过锚定中继链依照许可区块链间连接通信协议进行通信,并在两个区块链的各自链上的主节点之间进行锚定,然后在所述的锚定中继链中创建各自主节点的映射节点,并同步各自原链上的链ID、节点ID、节点公钥信息;
步骤4,当区块链双方认为互相可信时,通过侧链技术直接在两条区块链中进行锚定,实现跨链数据的安全存储。
更进一步地,所述中间服务平台可作用于公有链与私有链之间,或多个私有链之间,或者设置于联盟链内多个子区块链之间。
更进一步地,区块链在中间服务平台中设置信任区间,区块链具有n个节点,当超过(3n+1)/4个节点投票对其他区块链信任时,则不进行中间服务平台的数据获取和分析功能,认定该区块链对其他区块链默认信任关系。
更进一步地,当需要跨链存储的数据为敏感数据时,所述中间服务平台对敏感数据进行封装,然后再进行跨链存储。
本发明还公开了一种基于区块链技术的跨链安全存储的装置,所述装置包括如下模块:
区块链关系判断模块,在多个具有跨链交互需求的区块链之间设置中间服务平台,所述中间服务平台获区块链内的数据,并分析其对应的功能,若任意两条区块链之间的功能相似度大于第一预设值时,则判定这两条区块链之间为互相不信任区块链,则跳转至非信任跨链处理模块,若任意两条区块链之间的功能相似度小于第一预设值时,而功能相关度大于第二预设值,则判定这两条区块链之间为部分不信任区块链,跳转至部分不信任处理模块;
非信任跨链处理模块,则所述中间服务平台作为连接互不信任区块之间的连接器,其作为中介成为双方共同信任的第三方,在所述中间服务平台中为所述两条区块链双方的账本系统创建资金托管,双方以公证人机制通过该中介相互进行数据的跨链存储;
部分不信任处理模块,所述中间服务平台作为锚定中继链进行两条区块链的数据跨链存储,其中,设置锚定中继链,第一区块链和第二区块链与所述锚定中继链进行通信连接,在所述第一区块链与所述第二区块链通过锚定中继链依照许可区块链间连接通信协议进行通信,并在两个区块链的各自链上的主节点之间进行锚定,然后在所述的锚定中继链中创建各自主节点的映射节点,并同步各自原链上的链ID、节点ID、节点公钥信息;
信任处理模块,当区块链双方认为互相可信时,通过侧链技术直接在两条区块链中进行锚定,实现跨链数据的安全存储。
更进一步地,所述中间服务平台可作用于公有链与私有链之间,或多个私有链之间,或者设置于联盟链内多个子区块链之间。
更进一步地,区块链在中间服务平台中设置信任区间,区块链具有n个节点,当超过(3n+1)/4个节点投票对其他区块链信任时,则不进行中间服务平台的数据获取和分析功能,认定该区块链对其他区块链默认信任关系。
更进一步地,当需要跨链存储的数据为敏感数据时,所述中间服务平台对敏感数据进行封装,然后再进行跨链存储。
本发明还公开了一种电子系统,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的区块链技术的跨链安全存储的方法中的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的区块链技术的跨链安全存储的方法中的步骤。
本发明与现有技术相比,本发明的有益效果是:不同的跨链存储技术具有不同的实现难度和开销,同时对跨链数据保护的能力也不相同,现有的跨链存储技术都是通过单一的跨链方式对其他区块链进行统一设定,而不会因为区块链数据的重要性、相关性的不同而区分设定,本发明根据不同区块链的数据内容,例如超过预定数量的数据为经济数据则判断该区块链为经济链,而相同的经济链是存在竞争关系的,因此本发明是根据不同的区块链的相关度判断可信程度,然后选择不同的跨链方案进行安全存储,以此实现低开销、分级保护跨链数据和降低实现难度。
附图说明
从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在图中,在不同的视图中,相同的附图标记指定对应的部分。
图1是本发明的一种基于区块链技术的跨链安全存储的方法的流程图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
如图1所示的一种基于区块链技术的跨链安全存储的方法,所述方法包括如下步骤:
步骤1,在多个具有跨链交互需求的区块链之间设置中间服务平台,所述中间服务平台获区块链内的数据,并分析其对应的功能,若任意两条区块链之间的功能相似度大于第一预设值时,则判定这两条区块链之间为互相不信任区块链,则跳转至步骤2,若任意两条区块链之间的功能相似度小于第一预设值时,而功能相关度大于第二预设值,则判定这两条区块链之间为部分不信任区块链,跳转至步骤3;
步骤2,则所述中间服务平台作为连接互不信任区块之间的连接器,其作为中介成为双方共同信任的第三方,在所述中间服务平台中为所述两条区块链双方的账本系统创建资金托管,双方以公证人机制通过该中介相互进行数据的跨链存储;
步骤3,所述中间服务平台作为锚定中继链进行两条区块链的数据跨链存储,其中,设置锚定中继链,第一区块链和第二区块链与所述锚定中继链进行通信连接,在所述第一区块链与所述第二区块链通过锚定中继链依照许可区块链间连接通信协议进行通信,并在两个区块链的各自链上的主节点之间进行锚定,然后在所述的锚定中继链中创建各自主节点的映射节点,并同步各自原链上的链ID、节点ID、节点公钥信息;
步骤4,当区块链双方认为互相可信时,通过侧链技术直接在两条区块链中进行锚定,实现跨链数据的安全存储。
更进一步地,所述中间服务平台可作用于公有链与私有链之间,或多个私有链之间,或者设置于联盟链内多个子区块链之间。
更进一步地,区块链在中间服务平台中设置信任区间,区块链具有n个节点,当超过(3n+1)/4个节点投票对其他区块链信任时,则不进行中间服务平台的数据获取和分析功能,认定该区块链对其他区块链默认信任关系。
更进一步地,当需要跨链存储的数据为敏感数据时,所述中间服务平台对敏感数据进行封装,然后再进行跨链存储。
本发明还公开了一种基于区块链技术的跨链安全存储的装置,所述装置包括如下模块:
区块链关系判断模块,在多个具有跨链交互需求的区块链之间设置中间服务平台,所述中间服务平台获区块链内的数据,并分析其对应的功能,若任意两条区块链之间的功能相似度大于第一预设值时,则判定这两条区块链之间为互相不信任区块链,则跳转至非信任跨链处理模块,若任意两条区块链之间的功能相似度小于第一预设值时,而功能相关度大于第二预设值,则判定这两条区块链之间为部分不信任区块链,跳转至部分不信任处理模块;
非信任跨链处理模块,则所述中间服务平台作为连接互不信任区块之间的连接器,其作为中介成为双方共同信任的第三方,在所述中间服务平台中为所述两条区块链双方的账本系统创建资金托管,双方以公证人机制通过该中介相互进行数据的跨链存储;
部分不信任处理模块,所述中间服务平台作为锚定中继链进行两条区块链的数据跨链存储,其中,设置锚定中继链,第一区块链和第二区块链与所述锚定中继链进行通信连接,在所述第一区块链与所述第二区块链通过锚定中继链依照许可区块链间连接通信协议进行通信,并在两个区块链的各自链上的主节点之间进行锚定,然后在所述的锚定中继链中创建各自主节点的映射节点,并同步各自原链上的链ID、节点ID、节点公钥信息;
信任处理模块,当区块链双方认为互相可信时,通过侧链技术直接在两条区块链中进行锚定,实现跨链数据的安全存储。
更进一步地,所述中间服务平台可作用于公有链与私有链之间,或多个私有链之间,或者设置于联盟链内多个子区块链之间。
更进一步地,区块链在中间服务平台中设置信任区间,区块链具有n个节点,当超过(3n+1)/4个节点投票对其他区块链信任时,则不进行中间服务平台的数据获取和分析功能,认定该区块链对其他区块链默认信任关系。
更进一步地,当需要跨链存储的数据为敏感数据时,所述中间服务平台对敏感数据进行封装,然后再进行跨链存储。
本发明还公开了一种电子系统,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的区块链技术的跨链安全存储的方法中的步骤。
本实施例还提供了部分不信任时的跨链安全存储的方法,所述方法包括如下步骤:步骤1,设置锚定中继链,第一区块链和第二区块链的组织者与所述锚定中继链进行通信连接,在所述第一区块链与所述第二区块链通过锚定中继链依照许可区块链间连接通信协议进行通信,并在两个区块链的各自链上的主节点之间进行锚定,然后在所述的锚定中继链中创建各自主节点的映射节点,并同步各自原链上的链ID、节点ID、节点公钥信息;
步骤2,PM共识机制的核心过程开始:order节点集群将随机选取各自许可链上51%的有效正常节点,将这些节点的节点ID、加盖时间戳的身份认证信息、节点公钥等节点基本信息广播给所有order节点,当某order节点接收超过(3n+1)/4个相同广播信息时共识达成,并向所有order节点进行广播,并将该共识信息记录打包成区块写入ARC区块链中,其他order节点将验证通过的区块记录在各自的分布式账本中。该order节点再将选取的节点基本信息以列表的形式通过master_a'和master_b'广播给所有许可参与链上的节点。PM共识机制完成后将触发智能合约,order节点授权创建PMC通道,并将所选取的节点加入到PMC通道内。
步骤3,匹配通道PMC中Chain-A上的节点对共享信息进行验证、签名并打包,并发布给PMC中Chain-B上的节点进行验证,验证通过后反馈给master_b并由其打包成区块写入PMC的区块链中。最后在Chain-B中,加入PMC通道的节点对共享信息区块进行广播,并由Chain-B上的其他节点进行验证,并记录在本地分布式账本中。
优选地,同时提交给ARC上的order节点。此时根据提交的信息,order节点完成对问题节点的排查。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。因此,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以下权利要求(包括所有等同物)旨在限定本发明的精神和范围。以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。