首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块头 / 一种基于IPFS的区块链跨链中继方法

一种基于IPFS的链跨链中继方法

阅读:316发布:2020-05-08

专利汇可以提供一种基于IPFS的链跨链中继方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于IPFS的 区 块 链 跨链中继方法,搭建中继网络实现原链到目标链的跨链交易验证和数据共享,包括以下步骤:通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;中继网络调用中继合约将原链的 区块头 和区块IPFS地址发送给目标链;目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息确认来自原链的交易合法且已经得到原链后续区块的确认,并通过中继网络查询同步在IPFS网络的原链数据。本发明提高交易验证的安全性和跨链存储效率。,下面是一种基于IPFS的链跨链中继方法专利的具体信息内容。

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)之间还包括中继节点判断是否存在遗漏区块的步骤,具体为:中继节点检查前一区块是否存在目标链网络中,如果没有,则向原链请求遗漏区块,直至找到一个已经存在在目标链中的区块或者是原链的创世区块,原链向中继节点返回遗漏区块,中继节点依次从最早区块开始同步所有当前区块以前的区块。
4.根据权利要求1所述的基于IPFS的区块链跨链中继方法,其特征在于,所述步骤(3)中具体包括以下子步骤:
(31)中继合约根据交易信息计算交易哈希值,并向中继网络中的中继节点广播查询该交易以获取交易证明;
(32)中继节点返回交易证明给中继合约;所述交易证明是由相关交易构成的默克尔树结构;
(33)中继合约根据交易哈希值及交易证明计算得到的默克尔树根的哈希值来验证交易,验证包括:计算默克尔树根哈希定位区块头;
(34)目标链节点确认交易,并根据区块头位置,计算是否达到交易安全确认要求。
5.根据权利要求1所述的基于IPFS的区块链跨链中继方法,其特征在于,所述步骤(4)具体包括以下子步骤:
(41)中继合约检查发起共享数据查询请求的用户的身份,并在身份通过后授权;
(42)中继合约向中继网络中的中继节点发起查询;
(43)中继节点检查身份和授权,并提供授权服务;
(44)当身份和授权验证通过时,中继节点查询共享数据索引,提供数据索引和查询服务;
(45)如需查询全交易数据,中继节点从IPFS网络加载共享数据;
(46)IPFS网络返回区块信息;
(47)中继节点返回共享数据查询结果给目标链。

说明书全文

一种基于IPFS的链跨链中继方法

技术领域

[0001] 本发明涉及区块链技术领域,特别是涉及一种基于IPFS的区块链跨链中继方法。

背景技术

[0002] 随着区块链技术的不断发展,出现了公有链、联盟链以及私有链等多种形式,但每个区块链都是一个独立的共识网络,信息隔离形成了区块链的价值孤岛效应,彼此间的价值、信息等无法互通,严重局限了区块链的可拓展性。跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。跨链可以理解成一个桥梁或者一个机制,分布式网络是不同的信息孤岛,通过跨链机制,在这些信息孤岛上修建一座座桥梁。但是,在跨链场景中,由于区块链系统本身是较为封闭的系统,缺乏主动获取外部信息的机制,要确认另外一条链的交易状态并非一件容易的事,因此跨链面临的最大难点是如何通过分布式的方式验证原链上的交易状态、处理跨链的节点不作恶、实现数据的安全共享。
[0003] 中继链是目前主流的跨链技术实现方案,是一个能够验证和读取另外区块链上的事件或者状态的区块链系统。在链和链之间进行价值和信息的交换时,中继链就相当于他们之间交流的通道,联结区块链间的交易,中继链能够实现目标链更“直接”地自己读原链,比如通过验证原链区块头和默克尔树等信息验证原链上的交易。中继技术不依赖可信的第三方帮助其进行交易验证,可以在拿到数据后自行验证,具体来说:1、用SPV(“简单支付验证”,Simplified Payment Verification),通过区块头来证明一个交易在区块链中发生过。2、在交易的最后一步,等待足够多的确认区块数,进行“最终确定性”验证。
[0004] 现有方案提出的基于区块链的跨链数据交互方法及跨链数据交互系统,见发明专利申请CN 109919615A。该发明专利申请提供了一种基于区块链的跨链数据交互方法,包括节点选取步骤,初始化步骤,跨链数据传输步骤,当所述主链向所述侧链传输跨链数据时,所述操作节点对所述主链进行主链区块同步处理,再采用数据签名的方式对所述主链进行主链数据同步处理;当所述侧链向所述主链传输跨链数据时,所述操作节点对所述侧链进行侧链区块同步处理,再采用数据签名的方式对所述侧链进行侧链数据同步处理。
[0005] 虽然发明专利申请CN 109919615A通过同步原链的区块数据,实现主链和侧链数据交互和共享,但是这种存储原链全区块数据的方法会占用目标链的存储空间,影响目标链运行效率。

发明内容

[0006] 本发明所要解决的技术问题是提供一种基于IPFS的区块链跨链中继方法,提高交易验证的安全性和跨链存储效率。
[0007] 本发明解决其技术问题所采用的技术方案是:提供一种基于IPFS的区块链跨链中继方法,搭建中继网络实现原链到目标链的跨链交易验证和数据共享,包括以下步骤:
[0008] (1)通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;
[0009] (2)中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;
[0010] (3)目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息判断来自原链的交易是否合法且是否已经得到原链后续区块的确认;
[0011] (4)当来自原链的交易合法且已经得到原链后续区块的确认时,目标链通过中继网络查询同步在IPFS网络的原链数据。
[0012] 所述步骤(1)具体包括以下步骤:
[0013] (11)中继网络中的中继节点接收原链的新区块通知;
[0014] (12)中继节点解析原链区块;
[0015] (13)中继节点验证区块和所有交易,如果验证不通过,则丢弃该区块;如果验证通过,则将该区块存入IPFS网络;
[0016] (14)IPFS网络向中继节点返回区块在IPFS网络上的地址;
[0017] (15)中继节点调用中继合约,将该区块头和其在IPFS网络上的地址作为一个交易记录提交给目标链;
[0018] (16)目标链共识存储中继节点提交的原链区块记录,并返回交易结构给中继合约;
[0019] (17)中继合约返回交易状态及ID给中继节点,完成跨链区块同步。
[0020] 所述步骤(12)和步骤(13)之间还包括中继节点判断是否存在遗漏区块的步骤,具体为:中继节点检查前一区块是否存在目标链网络中,如果没有,则向原链请求遗漏区块,直至找到一个已经存在在目标链中的区块或者是原链的创世区块,原链向中继节点返回遗漏区块,中继节点依次从最早区块开始同步所有当前区块以前的区块。
[0021] 所述步骤(3)中具体包括以下子步骤:
[0022] (31)中继合约根据交易信息计算交易哈希值,并向中继网络中的中继节点广播查询该交易以获取交易证明;
[0023] (32)中继节点返回交易证明给中继合约;所述交易证明是由相关交易构成的默克尔树结构;
[0024] (33)中继合约根据交易哈希值及交易证明计算得到的默克尔树根的哈希值来验证交易,验证包括:计算默克尔树根哈希定位区块头;
[0025] (34)目标链节点确认交易,并根据区块头位置,计算是否达到交易安全确认要求。
[0026] 所述步骤(4)具体包括以下子步骤:
[0027] (41)中继合约检查发起共享数据查询请求的用户的身份,并在身份通过后授权;
[0028] (42)中继合约向中继网络中的中继节点发起查询;
[0029] (43)中继节点检查身份和授权,并提供授权服务;
[0030] (44)当身份和授权验证通过时,中继节点查询共享数据索引,提供数据索引和查询服务;
[0031] (45)如需查询全交易数据,中继节点从IPFS网络加载共享数据;
[0032] (46)IPFS网络返回区块信息;
[0033] (47)中继节点返回共享数据查询结果给目标链。
[0034] 有益效果
[0035] 由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明跟传统的跨链交易验证方法相比,增加了区块同步的验证,因全区块数据存储在IPFS网络,会先验证区块的合法性,再进行跨链,从而提高交易验证的安全性。本发明引入IPFS来存储较大的同步区块数据,节省了大量的链上空间,提高了跨链存储效率。本发明将同步的区块数据存储在IPFS系统,借助IPFS网络本身的安全性来提高数据存储的安全性,这种方法比目标链直接访问原链节点获取数据更便捷也更安全。附图说明
[0036] 图1是本发明的原理图;
[0037] 图2是本发明中的同步时序图;
[0038] 图3是本发明中交易验证时序图;
[0039] 图4是本发明中数据共享时序图。

具体实施方式

[0040] 下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0041] 本发明的实施方式涉及一种基于IPFS的区块链跨链中继方法,该方法可应用于任意独立的区块链之间,搭建中继网络实现原链到目标链的跨链交易验证和数据共享。该中继网络可部署在目标链,也可是独立的区块链。如图1所示,包括以下步骤:通过中继网络同步原链数据,并采用IPFS网络来存储同步的原链区块;中继网络调用中继合约将原链的区块头和区块IPFS地址发送给目标链;目标链收到原链的区块头和区块IPFS地址后,利用保存的原链区块链头信息判断来自原链的交易是否合法且是否已经得到原链后续区块的确认;当来自原链的交易合法且已经得到原链后续区块的确认时,目标链通过中继网络查询同步在IPFS网络的原链数据。
[0042] 由此可见,该方法将IPFS技术应用在中继链技术,形成一种跨链中继方法,先是通过IPFS网络的全区块分布存储,验证同步区块的合法性,再通过中继链的区块头分布存储,验证交易状态,两者相结合能够避免跨链的节点作恶。本发明应用IPFS技术解决跨链区块存储问题,所有的同步区块存在IPFS网络,实现了区块存储和数据共享的平衡。
[0043] 本实施方式中的中继网络由一个或多个中继节点构成,中继节点包括中继应用模块、中继合约模块和IPFS文件存储模块。其中,中继应用模块安装在中继节点中,负责中继节点身份注册验证;保存节点证书和密钥;接收同步数据消息;记录原链区块头和区块IPFS地址;并调用中继合约,将原链区块头和区块IPFS地址发送给目标链;提供原链交易校验和查询入口。中继合约模块包括同步合约和验证合约,由脚本代码组成,部署在目标链节点中,负责同步和验证原链区块,并对原链数据做交易验证和确认。IPFS文件存储模块包括跨链区块文件、星际名称和内容寻址等子模块,主要用于存储跨链的区块数据,生成星际地址,为区块同步提供全数据验证,为跨链数据共享提供地址和入口。
[0044] 目标链需要运行一个或者多个中继节点,中继节点构成中继网络,负责区块存储、同步、部分验证交易的任务;目标链节点部署中继合约,用于接收原链区块。其同步时序如图2所示。
[0045] 同步说明如下:
[0046] 1)中继节点接收原链的新区块通知;
[0047] 2)中继节点解析原链区块;
[0048] 3)中继节点检查前一区块是否存在目标链网络中,如果遗漏,则继续上溯直至找到一个已经存在在目标链中的区块(或者是原链的创世区块),依次从最早区块开始同步所有当前区块以前的区块;
[0049] 4)原链向中继节点返回遗漏区块;
[0050] 5)中继节点依次逐个解析收到的区块,验证区块和所有交易;
[0051] 6)如果验证不通过,则丢弃该区块;如果验证通过,则将该区块存入IPFS网络;
[0052] 7)IPFS网络返回区块在IPFS网络上的地址;
[0053] 8)中继节点调用中继合约,将该区块头和其在IPFS网络上的地址作为一个交易记录提交给目标链;
[0054] 9)目标链共识存储中继节点提交的原链区块记录;
[0055] 10)目标链返回交易结构给中继合约;
[0056] 11)中继合约返回交易状态及ID给中继节点,跨链区块同步完成。
[0057] 中继合约用于在目标链上利用保存的原链区块链头信息确认来自原链的交易合法且已经得到原链后续区块的确认。其时序如图3所示。
[0058] 验证流程如下:
[0059] 1)中继合约收到待验证的交易信息,发起方可以是用户钱包也可以是其他智能合约
[0060] 2)中继合约根据交易信息并计算交易哈希值;
[0061] 3)在中继网络内广播查询该交易以获取交易证明(包含该交易的默克尔树结构);
[0062] 4)中继网络返回交易证明给中继合约;交易证明是由相关交易构成的默克尔树结构;
[0063] 5)中继合约根据交易哈希值及其证明计算出默克尔树根的哈希值验证交易,验证包括:计算默克尔树根哈希定位区块头。
[0064] 6)目标链确认交易,根据区块头位置,计算是否达到交易安全确认要求,(例如比特币网络确认一笔交易需要至少6个区块确认)。
[0065] 7)目标链返回交易证明结果,如果已经确认的区块数达到交易安全确认要求,则该交易验证通过,否则该交易验证不通过。
[0066] 目标链可通过中继节点上安装的中继软件来查询已同步的原链数据。其时序如图4所示。
[0067] 共享流程如下所示:
[0068] 1)授权用户发起共享数据查询请求至中继合约,
[0069] 2)中继合约检查身份和授权,授权信息存储于目标链网络;
[0070] 3)中继合约向中继节点发起查询;
[0071] 4)中继节点检查身份和授权,由中继应用提供授权服务;
[0072] 5)身份和授权验证通过,中继节点查询共享数据索引,由中继应用提供数据索引和查询服务;
[0073] 6)如需查询全交易数据,中继节点从IPFS网络加载共享数据;
[0074] 7)IPFS网络返回区块信息;
[0075] 8)中继节点返回共享数据查询结果给目标链;
[0076] 9)目标链返回查询结果给用户。
[0077] 如有需要,还可进行交易验证,若验证通过,则可安全的进行该交易数据的共享利用。在实现上,中继模块也可以事先索引所有IPFS网络上共享的区块数据以为后续的数据查询提供便利。
[0078] 不难发现,本发明跟传统的跨链交易验证方法相比,增加了区块同步的验证,因全区块数据存储在IPFS网络,会先验证区块的合法性,再进行跨链,从而提高交易验证的安全性。本发明引入IPFS来存储较大的同步区块数据,节省了大量的链上空间,提高了跨链存储效率。本发明将同步的区块数据存储在IPFS系统,借助IPFS网络本身的安全性来提高数据存储的安全性,这种方法比目标链直接访问原链节点获取数据更便捷也更安全。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈