一种基于IPFS的区块链跨链中继方法技术

技术编号:24041128 阅读:42 留言:0更新日期:2020-05-07 03:26
本发明专利技术涉及一种基于IPFS的区块链跨链中继方法,搭建中继网络实现原链到目标链的跨链交易验证和数据共享,包括以下步骤:通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息确认来自原链的交易合法且已经得到原链后续区块的确认,并通过中继网络查询同步在IPFS网络的原链数据。本发明专利技术提高交易验证的安全性和跨链存储效率。

A block chain cross chain relay method based on IPFs

【技术实现步骤摘要】
一种基于IPFS的区块链跨链中继方法
本专利技术涉及区块链
,特别是涉及一种基于IPFS的区块链跨链中继方法。
技术介绍
随着区块链技术的不断发展,出现了公有链、联盟链以及私有链等多种形式,但每个区块链都是一个独立的共识网络,信息隔离形成了区块链的价值孤岛效应,彼此间的价值、信息等无法互通,严重局限了区块链的可拓展性。跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。跨链可以理解成一个桥梁或者一个机制,分布式网络是不同的信息孤岛,通过跨链机制,在这些信息孤岛上修建一座座桥梁。但是,在跨链场景中,由于区块链系统本身是较为封闭的系统,缺乏主动获取外部信息的机制,要确认另外一条链的交易状态并非一件容易的事,因此跨链面临的最大难点是如何通过分布式的方式验证原链上的交易状态、处理跨链的节点不作恶、实现数据的安全共享。中继链是目前主流的跨链技术实现方案,是一个能够验证和读取另外区块链上的事件或者状态的区块链系统。在链和链之间进行价值和信息的交换时,中继链就相当于他们之间交流的通道,联结区块链间的交易,中继链能够实现目标链更“直接”地自己读原链,比如通过验证原链区块头和默克尔树等信息验证原链上的交易。中继技术不依赖可信的第三方帮助其进行交易验证,可以在拿到数据后自行验证,具体来说:1、用SPV(“简单支付验证”,SimplifiedPaymentVerification),通过区块头来证明一个交易在区块链中发生过。2、在交易的最后一步,等待足够多的确认区块数,进行“最终确定性”验证。>现有方案提出的基于区块链的跨链数据交互方法及跨链数据交互系统,见专利技术专利申请CN109919615A。该专利技术专利申请提供了一种基于区块链的跨链数据交互方法,包括节点选取步骤,初始化步骤,跨链数据传输步骤,当所述主链向所述侧链传输跨链数据时,所述操作节点对所述主链进行主链区块同步处理,再采用数据签名的方式对所述主链进行主链数据同步处理;当所述侧链向所述主链传输跨链数据时,所述操作节点对所述侧链进行侧链区块同步处理,再采用数据签名的方式对所述侧链进行侧链数据同步处理。虽然专利技术专利申请CN109919615A通过同步原链的区块数据,实现主链和侧链数据交互和共享,但是这种存储原链全区块数据的方法会占用目标链的存储空间,影响目标链运行效率。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于IPFS的区块链跨链中继方法,提高交易验证的安全性和跨链存储效率。本专利技术解决其技术问题所采用的技术方案是:提供一种基于IPFS的区块链跨链中继方法,搭建中继网络实现原链到目标链的跨链交易验证和数据共享,包括以下步骤:(1)通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;(2)中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;(3)目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息判断来自原链的交易是否合法且是否已经得到原链后续区块的确认;(4)当来自原链的交易合法且已经得到原链后续区块的确认时,目标链通过中继网络查询同步在IPFS网络的原链数据。所述步骤(1)具体包括以下步骤:(11)中继网络中的中继节点接收原链的新区块通知;(12)中继节点解析原链区块;(13)中继节点验证区块和所有交易,如果验证不通过,则丢弃该区块;如果验证通过,则将该区块存入IPFS网络;(14)IPFS网络向中继节点返回区块在IPFS网络上的地址;(15)中继节点调用中继合约,将该区块头和其在IPFS网络上的地址作为一个交易记录提交给目标链;(16)目标链共识存储中继节点提交的原链区块记录,并返回交易结构给中继合约;(17)中继合约返回交易状态及ID给中继节点,完成跨链区块同步。所述步骤(12)和步骤(13)之间还包括中继节点判断是否存在遗漏区块的步骤,具体为:中继节点检查前一区块是否存在目标链网络中,如果没有,则向原链请求遗漏区块,直至找到一个已经存在在目标链中的区块或者是原链的创世区块,原链向中继节点返回遗漏区块,中继节点依次从最早区块开始同步所有当前区块以前的区块。所述步骤(3)中具体包括以下子步骤:(31)中继合约根据交易信息计算交易哈希值,并向中继网络中的中继节点广播查询该交易以获取交易证明;(32)中继节点返回交易证明给中继合约;所述交易证明是由相关交易构成的默克尔树结构;(33)中继合约根据交易哈希值及交易证明计算得到的默克尔树根的哈希值来验证交易,验证包括:计算默克尔树根哈希定位区块头;(34)目标链节点确认交易,并根据区块头位置,计算是否达到交易安全确认要求。所述步骤(4)具体包括以下子步骤:(41)中继合约检查发起共享数据查询请求的用户的身份,并在身份通过后授权;(42)中继合约向中继网络中的中继节点发起查询;(43)中继节点检查身份和授权,并提供授权服务;(44)当身份和授权验证通过时,中继节点查询共享数据索引,提供数据索引和查询服务;(45)如需查询全交易数据,中继节点从IPFS网络加载共享数据;(46)IPFS网络返回区块信息;(47)中继节点返回共享数据查询结果给目标链。有益效果由于采用了上述的技术方案,本专利技术与现有技术相比,具有以下的优点和积极效果:本专利技术跟传统的跨链交易验证方法相比,增加了区块同步的验证,因全区块数据存储在IPFS网络,会先验证区块的合法性,再进行跨链,从而提高交易验证的安全性。本专利技术引入IPFS来存储较大的同步区块数据,节省了大量的链上空间,提高了跨链存储效率。本专利技术将同步的区块数据存储在IPFS系统,借助IPFS网络本身的安全性来提高数据存储的安全性,这种方法比目标链直接访问原链节点获取数据更便捷也更安全。附图说明图1是本专利技术的原理图;图2是本专利技术中的同步时序图;图3是本专利技术中交易验证时序图;图4是本专利技术中数据共享时序图。具体实施方式下面结合具体实施例,进一步阐述本专利技术。应理解,这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。此外应理解,在阅读了本专利技术讲授的内容之后,本领域技术人员可以对本专利技术作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本专利技术的实施方式涉及一种基于IPFS的区块链跨链中继方法,该方法可应用于任意独立的区块链之间,搭建中继网络实现原链到目标链的跨链交易验证和数据共享。该中继网络可部署在目标链,也可是独立的区块链。如图1所示,包括以下步骤:通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息判断来自原链的交易是否合法且是否已经得到原链后续区块的确认;当来自原本文档来自技高网...

【技术保护点】
1.一种基于IPFS的区块链跨链中继方法,搭建中继网络实现原链到目标链的跨链交易验证和数据共享,其特征在于,包括以下步骤:/n(1)通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;/n(2)中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;/n(3)目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息判断来自原链的交易是否合法且是否已经得到原链后续区块的确认;/n(4)当来自原链的交易合法且已经得到原链后续区块的确认时,目标链通过中继网络查询同步在IPFS网络的原链数据。/n

【技术特征摘要】
1.一种基于IPFS的区块链跨链中继方法,搭建中继网络实现原链到目标链的跨链交易验证和数据共享,其特征在于,包括以下步骤:
(1)通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;
(2)中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;
(3)目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息判断来自原链的交易是否合法且是否已经得到原链后续区块的确认;
(4)当来自原链的交易合法且已经得到原链后续区块的确认时,目标链通过中继网络查询同步在IPFS网络的原链数据。


2.根据权利要求1所述的基于IPFS的区块链跨链中继方法,其特征在于,所述步骤(1)具体包括以下步骤:
(11)中继网络中的中继节点接收原链的新区块通知;
(12)中继节点解析原链区块;
(13)中继节点验证区块和所有交易,如果验证不通过,则丢弃该区块;如果验证通过,则将该区块存入IPFS网络;
(14)IPFS网络向中继节点返回区块在IPFS网络上的地址;
(15)中继节点调用中继合约,将该区块头和其在IPFS网络上的地址作为一个交易记录提交给目标链;
(16)目标链共识存储中继节点提交的原链区块记录,并返回交易结构给中继合约;
(17)中继合约返回交易状态及ID给中继节点,完成跨链区块同步。


3.根据权利要求1所述的基于IPFS的区块链跨链中继方法,其特征在于,所述步骤(12)和步骤(13)之间还包括中继节点判断是否...

【专利技术属性】
技术研发人员:张曙华杨安荣杨铁党曹义敏宗忆陈李宏辉路斌严浩
申请(专利权)人:上海中信信息发展股份有限公司
类型:发明
国别省市:上海;31

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

1