CN113194141A - 一种基于异构区块链的跨链网桥构建方法 - Google Patents
一种基于异构区块链的跨链网桥构建方法 Download PDFInfo
- Publication number
- CN113194141A CN113194141A CN202110474562.XA CN202110474562A CN113194141A CN 113194141 A CN113194141 A CN 113194141A CN 202110474562 A CN202110474562 A CN 202110474562A CN 113194141 A CN113194141 A CN 113194141A
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- block
- request
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于异构区块链的跨链网桥构建方法,分别在第一区块链与第二区块链部署RPC通信网络并在网路中部署多个传递通道,其特征在于,包括以下步骤:响应于接收到第一区块链的跨链请求,对第一区块链的区块头有效性进行验证;验证通过后,中继服务器基于多个传递通道将第一区块跨链请求并行传递至第二区块链并执行分发调用,其中,所述并行传递是对第一区块链跨链请求进行循环同步处理并将第一跨链请求更新至第二区块链。通过该方法实现异构区块链之间完全去中心化跨链,让链中继不断同步异构链双方的区块头和跨链信息,高效实现异构区块链跨链互通。
Description
技术领域
本发明属于区块链及跨链技术领域,具体涉及一种基于异构区块链的跨链网桥构建方法。
背景技术
区块链经过近几年的发展,无论是公链联盟链都已经基本实现了从开发到落地的过程,并且每条区块链都已经聚集了一定的用户,形成了一定规模的生态系统。在没有跨链之前,数据只存放在一条链上也只能在一条链上使用,然而通过跨链技术数据可以进行流通,只有流通的数据才有价值,有价值就可以成为商品,不同的数据成就不同的商品,商品多了就有了市场,有了市场就能产生经济,所以跨链技术对于区块链来说至关重要,涉及区块链命脉,没有跨链技术就不可能形成有效经济,就不可能健康持续发展。
搭建跨链转接桥,区块链生态的触角可以有效延伸到其他链条,应用的空间被快速打开,用户可以实现跨链资产转移,从而使用中继链中的其他应用,如DeFi、DEX、StakingService等,开发者可以通过跨链桥接实现跨链智能合约的互操作,降低多链开发成本,实现多链用户共享,数据的互联互通。
区块链中的桥是一种允许将代币或者任意数据从一个区块链网络传输到另一个区块链的连接。两条链可以具有不同的协议,规则,社区和治理模型,但是桥提供了一种兼容的方式来在双方之间安全地进行互操作。
桥接器有许多不同的设计,但它们通常可以分为两个阵营:依赖于信任或联盟的更集中的桥接器,以及更加分散的所谓“不信任”的桥接器。集中式桥接器依靠某种类型的中央权限或系统来操作,这意味着用户需要在中介者中信任才能使用给定的应用程序或服务。
比如:(1)IOST跨链转接桥是一个基于Substrate开发的开源项目,结合RelayService和多重签名机制,可以在不修改IOST核心功能的前提下,构建安全、灵活、可扩展的跨链,整体技术方案包括:链间通信、运行时模块、安全保障三个方面,由于多重签名具有一定的中心化局限性,导致该方案具有一定的安全风险和滞后性;
相比之下,无信任桥是指用户不必将信任置于单个实体或权限中,而是将信任置于代码中内置的数学真理中的桥梁。非信任交互是由系统背后的技术(和/或激励机制)而不是由承诺或法律协议来实施的。
发明内容
鉴于上述,本发明提供了一种基于异构区块链的跨链网桥构建方法,用于实现异构区块链之间完全去中心化跨链,互埋轻节点并设置中继服务器,让链中继不断同步异构链双方的区块头和消息跨链,并运行跨链传递机制进行多通道消息并行传递,高效实现异构区块链跨链互通。
一种基于异构区块链的跨链网桥构建方法,分别在第一区块链与第二区块链部署RPC通信网络并在网路中部署多个传递通道,其特征在于,包括以下步骤:
响应于接收到第一区块链的跨链请求,对第一区块链的区块头有效性进行验证;
验证通过后,中继服务器基于多个传递通道将第一区块跨链请求并行传递至第二区块链并执行分发调用,其中,所述并行传递是对第一区块链跨链请求进行循环同步处理并将第一跨链请求更新至第二区块链。
进一步地,在第二区块链在运行时中部署第一区块链的轻节点,在所述轻节点上设置GRANDPA finality工具,所述GRANDPA finality工具通过重复BFT共识确认,对第一区块链区块分叉进行截断溯源,并确定第一区块链主链;
轻节点是一种只存储区块头,而不存储全量的交易列表等信息的节点,通过轻节点,可以用Merkle证明来判断一笔交易是否在现在的区块链交易列表中。第一区块链的轻节点是可以实时获取第一区块链区块头信息的节点,仅存储第一区块链区块头,但是在第二区块链中部署运行的,相当于第二区块链中实时存储第一区块链区块头信息;
由于区块链是去中心化的,由节点通过竞争计算抢先记账出块持续运行的,所以很容易出现分叉的现象,轻节点上运行GRANDPA finality工具,GRANDPA负责重复BFT确认,最终确定区块链主链,在其中,GRANDPA是一种确认区块链最终性即区块主链的一种手段,无论第一区块链采取哪种共识方式,利用GRANDPA finality工具支持溯源区块分叉并截断分叉,并使用最长链规则确定哪个是主链,允许将区块头导入与主链不同的分支上,只要导入的区块头与已经完成的区块头不冲突(例如,不允许以比最佳最终区块头低的高度导入区块头),最终确认存储在第一区块链轻节点中的区块头为第一区块链的最终有效区块头。
GRANDPA finality工具详细的确认过程:
验证节点首先进行预投票,为他认为最高的区块广播,设定2/3的验证节点是诚实的,则最多广播数的区块添加到区块链上,新链会比上一次最终确定的链长出几个区块;
每个验证人根据预投票集,计算出将得到最终确定的最高区块,如果预投票集延长了上条最终确认的区块链,则每个验证人都将对这条链投递预提交;
每个验证人等待接收2/3预投票数量的预提交,则确认预提交的链为最终链,截断多个区块分叉,并在最终链上提交下一轮包含跨链信息的区块共识。
进一步地,所述轻节点为关联第一区块链的轻节点合约,所述轻节点合约包括Solidity合约和验证合约,所述Solidity合约为第二区块链上部署的Solidity智能合约,用于记录存储通过中继服务器提交的第一区块链的区块头;所述验证合约用于验证提交的区块头是否已由GRANDPA finality工具完成。
一区块链轻节点部署在第二区块链中的智能合约,体现存储区块头和验证区块头的功能,这两项功能通过合约部署来实现,其中Solidity是一种智能合约高级语言,运行在第二区块链虚拟机(EVM)之上,具有存储作用;
验证合约用于验证所存储区块头的有效性,存在一个验证判断,判断区块头是否由由GRANDPA finality工具确认,GRANDPA finality工具通过将第一区块链的共识出块进行重复的BFT投票确认其最长主链,由其确认后的区块头确定为第一区块链中主链共识的有效区块头,防止接收的区块头属于第一区块链中分叉后无效链的区块头。
并且在第一区块链与第二区块链分别添加RPC通信协议端口,在RPC通信协议端口之间设置中继服务器,中继服务器通过RPC通信并循环同步第一区块链最新跨链请求,其中第一区块链和第二区块链分别为不同架构的异构区块链;
第一区块链和第二区块链为异构区块链,比如比较主流的Substrate区块链包含Polkadot,Kusama和Westend网络与以太坊PoA网络之间的跨链转接,二者属于不同基础架构、不同共识方式及不同代币流转的区块链集合,通过本发明方法实现在Substrate区块链和以太坊PoA网络之间进行去中心化的资产互通。
在第一区块链和第二区块链之间通过RPC通信协议进行网络通信,故分别设置相应的通信端口,用于传递跨链请求信息,两者的RPC传输通过中继服务器进行转接,设置中继服务器代替目前异构跨链中主流的中心化多签或者第三方中介,以程序化的服务器实现跨链的去中心化转接。
进一步地,所述跨链请求包括区块头跨链请求、资产跨链请求和消息跨链请求。,跨链请求信息包括轻节点存储区块头需求、跨链需求属性以及用户根据跨链业务所需的消息描述,故所述循环同步第一区块链跨链请求包括同步区块头请求、同步资产跨链请求以及同步消息跨链请求。
特别地,对区块头跨链请求进行循环同步处理,整体包括:更新第一区块链中跨到第二区块链的跨链请求;处理第一区块链发起的跨到第二区块链的跨链请求;将所述处理结果更新传递到第二区块链;
具体步骤如下:
1)所述同步区块头:
设置循环周期,在同一周期内,获取第一区块链的最新区块随机数与中继服务器记录中最后提交给第二区块链的区块头的随机数进行比较处理;
若处理结果是所述随机数一致,则结束这次跨链请求循环,等待进入下一个循环周期;
如果是若处理结果是所述随机数不一致,则存在新区块,中继服务器发起一笔调用第一区块链轻节点更新区块头的交易,进行区块头更新;
其中循环周期与第一区块链和第二区块链中共识出块最长时间保持一致;
区块头中包含交易哈希值,父哈希,随机数,时间戳,利用循环同步工具实时查看第一区块链的区块头与第一区块链轻节点所存储的区块头是否一致,若不一致,则同步两者区块头。
循环周期与第一区块链和第二区块链中共识出块最长时间保持一致;比如Polkadot生态中共识出块时间为6秒,以太坊POA网络共识出块为2秒,则两者之间的异构跨链转接中,设置的循环查看周期与Polkadot生态中共识出块时间6秒保持一致。
区块头同步是为了使第二区块链中部署的第一轻节点能够实时掌握第一区块链中最新共识出块的区块头信息。
2)资产跨链请求:
响应用户在第一区块链的中发起了一笔关联第二区块链的资产锁仓交易;
中继服务器捕获这笔资产锁仓交易,并将相应锁仓交易证明发送到第二区块链;
进而第二区块链根据锁仓交易证明转移相应资产至第一区块链资产跨链请求用户的账户地址。
3)消息跨链请求:
响应用户在第一区块链的中发起了一笔消息跨链交易;
中继服务器捕获到这笔交易,解析消息内容;
将第一区块链消息跨链解析内容组装成一笔第二区块链交易发送到第二区块链。
其中循环周期与第一区块链和第二区块链中共识出块最长时间保持一致。
进一步地,所述传递通道包括区块头传递通道、资产传递通道和消息跨链传递通道,每个类别的传递通道包括第一区块链的出站通道和第二区块链的入站通道,不同类别的传递通道配置不同的跨链请求;
所述中继服务器基于多个传递通道将第一区块跨链请求并行传递至第二区块链执行分发调用,具体为:
中继服务器将跨链请求依次按照类别添加到对应的第一区块链的出站通道上,每个被添加的跨链请求都有与之相关联的随机数,将此随机数作为跨链请求的排队序列号;
完成循环同步处理时,中继服务器读取当前的跨链请求序列,将每个出站通道中最前的跨链请求提交到对应的第二区块链的入站通道;
第二区块链入站通道接收到跨链请求后,中继服务器为所述跨链请求分发权重,并向第二区块链支付所述跨链请求调用执行费用,在第二区块链上验证跨链请求权重是否大于预设值,若大于预设值,则按照分发权重依次从大到小进行跨链请求的调用执行,其中,所述跨链分发权重根据第一区块链中用户声明跨链请求的有效负载决定。
在第一区块链和第二区块链之间的RPC通信网络中,设置多个传递通道,并分类包括区块头传递通道、资产传递通道、消息跨链传递通道,其中每个通道类别均包括第一区块链的出站通道和第二区块链的入站通道,不同的通道配置为不同的跨链请求,(例如更高的奖励,特定类型的有效负载,等等),并可能与构建在桥上的特定“用户应用程序”相关联。每条通道都是完全独立于其他通道的,这使得它们可以并行地前进。在同一通道中按照排队顺序进行传递;
关联循环同步工具,中继服务器运行跨链传递机制将跨链请求依次按照类别添加到对应的第一区块链的出站通道上,每个被添加的跨链请求都有一个与之相关联的随机数,作为跨链请求的排队序列号;
当循环同步工具完成循环同步周期时,中继服务器读取当前的跨链请求序列,将每个出站通道中最前的跨链请求提交到对应的第二区块链的入站通道,并提供所述跨链请求的存储证明,以表明所传递的跨链请求是第一区块链上的出站通道的一部分;入站通道存储最后发送的随机数,以防止重播消息。
跨链传递机制中的跨链请求传递通道不关心它所传输的有效负载,并且可以与第二区块链任意的跨链请求分发耦合,该机制将在满足传递条件的情况下解释和执行有效负载。
在跨链请求至第二区块链后,它们会立即在第二区块链上被分发,并要求中继服务器为所有跨链请求分发申报正确的权重,并向第二区块链支付所有需要的费用,具体如下:
1)用户提供已声明的有效负载的分派权重发送至中继服务器;
2)跨链传递机制根据申报的消息权重计算第二区块链上的预期费用;
3)跨链传递机制将第一区块链费用转换为第二区块链可用的资产通证(基于价格oracle)。
进一步地,在所述中继服务器中运行跨链传递机制,所述跨链传递机制设置多个传递通道,所述跨链传递机制包括第一区块链跨链请求传递至第二区块链和在第二区块链上跨链请求的分发调用,通过启动跨链传递机制将第一区块链跨链请求并行传递至第二区块链并进行分发调用实施跨链交易。
类似于平行链之间的XCMP消息跨链传递协议,在中继服务器中运行跨链传递机制是实现异构区块链之间的消息跨链传递,无需第三方中转,这其中涉及消息跨链解析、有序传递以及有效分发调度,利用消息传递代码程序实现消息跨链从第一区块链自动有效的传输至第二区块链进行实施跨链。
跨链传递机制还包括在第二区块链上跨链请求的分发调用,具体如下:
在跨链请求传递至第二区块链入站通道后,中继服务器为所传递的跨链请求分发权重,并向第二区块链支付所述跨链请求调用执行费用,在第二区块链上验证跨链请求权重是否大于预设值,若大于预设值,则按照分发权重依次从大到小进行跨链请求的调用执行;其中所述跨链分发权重根据第一区块链中用户声明跨链请求的有效负载决定。
跨链请求的分发调用被用于执行由已传递请求中指定的动作,将第一区块链的跨链请求解析为第二区块链上的请求信息。
如果声明的权重在第二区块链上太低,则传递后无法立即分派。费用由中继器在确认跨链请求发送后收取。
向第二区块链支付所述跨链请求调用执行费用具体如下:
中继服务器运行跨链传递机制根据跨链请求权重计算第二区块链上的预期费用,并通知跨链用户支付预期费用等量第一区块链通证;
基于价格预言机将第一区块链通证转换为第二区块链通证,利用转换的第二区块链通证支付所述跨链请求调用执行费用。
具体跨链请求通信传递操作:首先对第一区块链的跨链请求进行SCALE编码,再发送至第一区块链,然后,通过从第一区块链与第二区块链的跨链传递通道传递递送;收到跨链请求后,第二区块链上的入站通道将尝试将跨链请求的有效负载解码。解码成功后,检查权重预设值是否超过发送方声明的权重后,若没有超过,则进行跨链请求分派。中继服务器为在第二区块链上执行交易支付费用,但其费用应由第一区块链上的跨链请求方支付。
进一步地,基于异构区块链的跨链网桥构建方法还包括以下步骤:
响应于接收到第二区块链的跨链请求,对第二区块链的区块头有效性进行验证;
验证通过后,中继服务器基于多个传递通道将第二区块跨链请求并行传递至第一区块链并执行分发调用,其中,所述并行传递是对第二区块链跨链请求进行循环同步处理并将第二跨链请求更新至第一区块链。也就是说第一区块链和第二区块链可以进行角色互换,中继服务器是双向传输的。
本发明设计一种基于异构区块链的跨链网桥构建方法,具有以下优势:
(1)利用部署轻节点结合GRANDPA finality工具,实现异构区块链区块头的有效验证;
(2)利用中继服务器并设置同步循环工具实现去中心化的跨链转接以及高效的跨链通信;
(3)利用跨链传递机制有序进行消息跨链传递,并设置多个消息通道,并行传递跨链信息,加速跨链传输,提供跨链转接交易效率;
(4)利用预设预言机有效转换异构区块链资产通证,进行无障碍跨链交易。
附图说明
图1为本发明跨链网桥整体结构示意图;
图2为本发明有效区块头验证流程图;
图3为循环同步工具流程图;
图4为资产跨链请求流程图;
图5为多通道并发传递跨链请求示意图;
图6为消息跨链通过跨链网桥转接跨链流程图。
具体实施方式
实施例1
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
本发明提出了一种基于异构区块链的跨链网桥构建方法,引入轻节点验证、中继服务器跨链传输,以Substrate区块链(Sub链)与以太坊PoA网络(Eth链)之间的跨链网桥构建为例,并通过轻节点和中继服务器在Sub链和Eth链之间提供双向桥接,整体结构图如图1所示,其具体实现方案具体如下:
在Eth链在运行时中部署Sub链的轻节点,在所述轻节点上设置GRANDPA finality工具,追踪Sub链区块GRANDPA终结性,确认存储在轻节点中的区块头是Sub链中最长链上共识出块的区块头,保障区块头的有效性;
在Sub链与Eth链分别添加RPC通信协议端口,在所述RPC通信协议端口之间设置中继服务器,所述中继服务器通过RPC通信并循环同步Sub链最新跨链请求;
在所述中继服务器中运行跨链传递机制,所述跨链传递机制设置多个传递通道,所述跨链传递机制包括Sub链跨链请求传递至Eth链和在Eth链上跨链请求的分发调用,通过启动跨链传递机制将Sub链跨链请求并行传递至Eth链上并进行分发调用实施跨链交易。
验证有效区块头工作流程如下图2所示,轻节点的工作是不断接受Sub链新的区块头,对新的区块头进行验证,确认有效区块头,进而执行该区块头所在主链的跨链交易。在Eth链在运行时中部署Sub链的轻节点,在轻节点上设置GRANDPA finality工具,追踪第一区块链区块GRANDPA终结性,同步验证Sub链有效区块头信息,具体如下:
所述轻节点为关联Sub链的轻节点合约,所述轻节点合约包括Solidity合约和验证合约;
所述Solidity合约是在Eth链上部署Solidity智能合约,用于记录存储通过中继服务器提交的Sub链的区块头;中继服务器通过循环同步跨链请求并通过跨链传递机制提交最新Sub链的区块头;
所述验证合约,用于验证提交的区块头是否已由GRANDPA finality工具完成;
所述GRANDPA finality工具通过重复BFT共识确认,对Sub链区块分叉进行溯源,确定Sub链主链。
验证确认区块头已由GRANDPA finality工具确认完成,则该区块头为有效区块头,将有效区块头存储在Solidity合约,并提供有效区块头标识供后续执行跨链请求参考;
验证确认区块头未经GRANDPA finality工具确认完成,则该区块头为无效区块头,验证合约经中继服务器反馈至Sub链,重新提交区块头。
如图3所示,所述中继服务器通过循环同步工具循环同步Sub链跨链请求,具体包括如下:
更新Sub链中跨到Eth链的跨链请求;
处理Sub链发起的跨到Eth链的跨链请求;
将所述处理结果更新传递到Eth链。
通过循环同步工具的实时同步跨链请求,自动响应更新第一区块链用户的跨链请求。
循环同步工具循环同步的跨链请求信息包括Sub链与Eth链之间的轻节点中区块头需求、资产跨链请求以及消息跨链请求,通过循环同步工具实时更新跨链请求;
其中,区块头循环同步具体如下:
比较Sub链与Eth链的共识出块最长时间,以较长共识的Sub链共识时间为准,设置循环周期,在同一周期内,获取Sub链的最新区块随机数,与中继服务器记录中最后提交给Eth链的区块头的随机数进行比较处理;
处理结果是两者区块头随机数一样,说明已同步最新的区块头,则结束这次跨链请求循环,等待进入下一个循环周期;
如果是若处理结果是所述随机数不一致,比如Sub链的最新区块随机数为23,最后提交给Eth链的区块头的随机数为22,则存在未同步的新区块,中继服务器发起一笔调用Sub链轻节点更新区块头的交易,进行区块头更新;
2)资产跨链请求:
其流程如图4所示,当Sub链上用户请求在Eth链的资产跨链,即将其持有的Sub链资产转移为Eth链的资产,则利用循环同步工具在Sub链中发起了一笔关联Eth链的资产锁仓交易;
中继服务器捕获这笔资产锁仓交易,并将相应锁仓交易证明发送到Eth链;
进而Eth链根据锁仓交易证明转移相应资产至Sub链资产跨链请求用户的账户地址。
3)消息跨链请求:
响应用户在Sub链的中发起了一笔消息跨链交易,该交易将消息跨链进行进行SCALE编码;
中继服务器捕获到这笔交易,进行负载解码,解析消息内容;
将第Sub链消息跨链解析内容再次组装成一笔Eth链交易并进行SCALE编码后发送到Eth链,在Eth链进行负载解码进行后续执行操作。
将消息跨链转化成SCALE编码可进行计算机识别,并通过RPC通信传递。
在中继服务器中运行跨链传递机制,在Sub链与Eth链之间的RPC通信网络中,设置多个传递通道,承接上述跨链请求循环同步后,利用跨链传递机制将Sub链跨链请求传递至Eth链,包括Sub链跨链请求传递和并将其在Eth链上按顺序分发调度。
如图5所示为多通道并发传递跨链请求示意图,其中多个传递通道,分类包括区块头传递通道、资产传递通道、消息跨链传递通道,其中每个通道类别均包括Sub链的出站通道和Eth链的入站通道,每条通道都是完全独立于其他通道的,这使得它们可以并行地前进。在同一通道中按照排队顺序进行传递,具体实现如下:
关联循环同步工具,中继服务器运行跨链传递机制将跨链请求依次按照类别添加到对应的Sub链的出站通道上,每个被添加的跨链请求都有一个与之相关联的随机数,作为跨链请求的排队序列号;
如图5,当循环同步工具完成循环同步周期时,
将循环同步后的区块请求依次分配随机数作为序列号按照顺序添加到区块头传递通道,分别为区块头(1,2,3,…n);
循环同步后的资产跨链请求依次分配随机数作为序列号按照顺序添加到资产传递通道,分别为跨链资产(1,2,…m);
循环同步后的消息跨链请求依次分配随机数作为序列号按照顺序添加到消息跨链传递通道,分别为消息跨链(1,2,…x)。
中继服务器读取每个类别当前的跨链请求序列,将每个出站通道中最前的跨链请求提交到对应的Eth链的入站通道,并提供所述跨链请求的存储证明,该存储证明可以是该跨链请求所在出站通道的的标识号,也可以是附有中继服务器特定标识的数字签名,以表明所传递的跨链请求是Sub链上的出站通道的一部分;入站通道存储最后发送的随机数,以防止重播消息。
每个跨链传递通道均与Eth链任一的跨链请求分发调度耦合,在跨链请求传递至Eth链的入站通道后,响应在Eth链上分发调度,继服务器为入站通道的跨链请求分发申报正确的权重,并向Eth链支付所有需要的费用,具体如下:
1)跨链请求用户已声明其所发出的跨链请求的有效负载的分派权重发送至中继服务器;
2)跨链传递机制根据申报的消息权重计算Eth链上的预期费用;
3)跨链传递机制将Sub链费用转换为Eth链可用的资产通证:
基于价格oracle,计算Sub链与Eth链通证转换率,进一步将固定份额Sub链通证的Sub链费用转换为Eth链一定份额可用的资产通证。
跨链传递机制传递跨链请求至Eth链后,在Eth链上进行跨链请求的分发调用,执行跨链交易,具体如下:
在跨链请求传递至Eth链入站通道后,中继服务器为所传递的跨链请求分发权重,该权重是跨链请求用户根据有效负载决定的,并向Eth链支付所述跨链请求调用执行费用,在Eth链上验证跨链请求权重是否大于预设值,该预设值是Eth链要求的执行跨链请求的最低负载。
若大于预设值,则按照分发权重依次从大到小进行跨链请求的调用执行;
如果声明的权重在第二区块链上太低,小于预设值,则传递后无法立即分派,则不予执行跨链请求。
其中调用执行费用由中继器在确认跨链请求发送后收取。所述向Eth链支付所述跨链请求调用执行费用具体如下:
中继服务器运行跨链传递机制根据跨链请求权重计算Eth链上的预期费用,并通知跨链用户支付预期费用等量Sub链通证;
基于价格预言机将Sub链通证转换为Eth链通证,利用转换的Eth链通证支付所述跨链请求调用执行费用。
Sub链和Eth链通过互埋对方轻节点,在两者之间的中继服务器支持双向跨链传递,循环同步工具同时同步Sub链和Eth链的跨链请求,最终实现双向跨链。
实施例2
以Sub链上用户提交Eth链的消息跨链tx为例,如图6所示,其通过跨链网桥转接跨链流程如下:
(1)部署在Eth链的Sub轻节点记录当前区块头,调用验证合约利用GRANDPAfinality工具验证确认当前记录当前区块头是Sub链主链共识的有效区块头,调用Solidity合约存储当前区块头;
(2)用户发出的tx跨链请求,并声明tx有效负载权重,响应跨链请求tx,中继服务器调用循环同步工具循环处理Sub链上的跨链请求,在同一周期内循环同步结果为:同步更新中继服务器记录中最后提交给Eth链的Sub轻节点的区块头为包含tx哈希的区块头,同步最新消息跨链为tx;
(3)将tx进行SCALE编码,启动跨链传递机制,在Sub链的消息跨链出站通道分配随机数tx1作为tx的序列号,排队进入消息跨链通道,并经Eth链的消息跨链入站通道传递至Eth,其中,入站通道记录序列号tx1,一同传递的还包括中继服务器为tx进行存储证明的数字签名;
(4)经验证中继服务器确认tx在中继服务器真实存储后,中继服务器为tx分发用户已声明的负载权重,在Eth链上与其最低负载预设值进行比较,在大于预设值使,中继服务器通知用户支付tx在Eth链的执行费用,其中所支付的执行费用通过价格oracle转化为Eth链所支持的通证资产;
(5)在Eth链上确认跨链执行费用支付后,执行消息跨链交易,完成tx消息跨链。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (10)
1.一种基于异构区块链的跨链网桥构建方法,分别在第一区块链与第二区块链部署RPC通信网络并在网路中部署多个传递通道,其特征在于,包括以下步骤:
响应于接收到第一区块链的跨链请求,对第一区块链的区块头有效性进行验证;
验证通过后,中继服务器基于多个传递通道将第一区块跨链请求并行传递至第二区块链并执行分发调用,其中,所述并行传递是对第一区块链跨链请求进行循环同步处理并将第一跨链请求更新至第二区块链。
2.根据权利要求1所述的基于异构区块链的跨链网桥构建方法,其特征在于,所述对第一区块链的区块头有效性进行验证,具体为:
在第二区块链中部署第一区块链的轻节点,所述轻节点中设有GRANDPAfinality工具;
所述GRANDPAfinality工具通过重复BFT共识确认,对第一区块链区块分叉进行截断并确定第一区块链主链;
追踪第一区块链区块GRANDPA终结性,同步验证第一区块链有效区块头。
3.根据权利要求2所述的基于异构区块链的跨链网桥构建方法,其特征在于,所述轻节点为关联第一区块链的轻节点合约,所述轻节点合约包括Solidity合约和验证合约,所述Solidity合约为第二区块链上部署的Solidity智能合约,用于记录存储通过中继服务器提交的第一区块链的区块头;所述验证合约用于验证提交的区块头是否已由GRANDPAfinality工具完成。
4.根据权利要求1所述的基于异构区块链的跨链网桥构建方法,其特征在于,所述跨链请求包括区块头跨链请求、资产跨链请求和消息跨链请求。
5.根据权利要求4所述的基于异构区块链的跨链网桥构建方法,其特征在于,对区块头跨链请求进行循环同步处理,具体步骤如下:
设置循环周期,在同一周期内,获取第一区块链的最新区块随机数与中继服务器记录中最后提交给第二区块链的区块头的随机数进行比较处理;
若处理结果是所述随机数一致,则结束这次跨链请求循环,等待进入下一个循环周期;
如果是若处理结果是所述随机数不一致,则存在新区块,中继服务器发起一笔调用第一区块链轻节点更新区块头的交易,进行区块头更新;
其中循环周期与第一区块链和第二区块链中共识出块最长时间保持一致。
6.根据权利要求4所述的基于异构区块链的跨链网桥构建方法,其特征在于,对资产跨链请求进行循环同步处理,具体为:
响应用户在第一区块链的中发起了一笔关联第二区块链的资产锁仓交易;
中继服务器捕获这笔资产锁仓交易,并将相应锁仓交易证明发送到第二区块链。
7.根据权利要求4所述的基于异构区块链的跨链网桥构建方法,其特征在于,对消息跨链请求进行循环同步处理,具体为:
响应与接收到用于在第一区块链发起的消息跨链交易请求;
所述中继服务器获取到所述消息跨链请求并进行解析,得到解析内容;
将解析内容组装成第二区块链交易发送到第二区块链。
8.根据权利要求1所述的基于异构区块链的跨链网桥构建方法,其特征在于,所述传递通道包括区块头传递通道、资产传递通道和消息跨链传递通道,每个类别的传递通道包括第一区块链的出站通道和第二区块链的入站通道,不同类别的传递通道配置不同的跨链请求;
所述中继服务器基于多个传递通道将第一区块跨链请求并行传递至第二区块链执行分发调用,具体为:
中继服务器将跨链请求依次按照类别添加到对应的第一区块链的出站通道上,每个被添加的跨链请求都有与之相关联的随机数,将此随机数作为跨链请求的排队序列号;
完成循环同步处理时,中继服务器读取当前的跨链请求序列,将每个出站通道中最前的跨链请求提交到对应的第二区块链的入站通道;
第二区块链入站通道接收到跨链请求后,中继服务器为所述跨链请求分发权重,并向第二区块链支付所述跨链请求调用执行费用,在第二区块链上验证跨链请求权重是否大于预设值,若大于预设值,则按照分发权重依次从大到小进行跨链请求的调用执行,其中,所述跨链分发权重根据第一区块链中用户声明跨链请求的有效负载决定。
9.根据权利要求8所述的基于异构区块链的跨链网桥构建方法,其特征在于,所述向第二区块链支付所述跨链请求调用执行费用,具体如下:
中继服务器运行跨链传递机制根据跨链请求权重计算第二区块链上的预期费用,并通知跨链用户支付预期费用等量第一区块链通证;
基于价格预言机将第一区块链通证转换为第二区块链通证,利用转换的第二区块链通证支付所述跨链请求调用执行费用。
10.根据权利要求1-9任意一项所述的基于异构区块链的跨链网桥构建方法,其特征在于,还包括以下步骤:
响应于接收到第二区块链的跨链请求,对第二区块链的区块头有效性进行验证;
验证通过后,中继服务器基于多个传递通道将第二区块跨链请求并行传递至第一区块链并执行分发调用,其中,所述并行传递是对第二区块链跨链请求进行循环同步处理并将第二跨链请求更新至第一区块链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110474562.XA CN113194141B (zh) | 2021-04-29 | 2021-04-29 | 一种基于异构区块链的跨链网桥构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110474562.XA CN113194141B (zh) | 2021-04-29 | 2021-04-29 | 一种基于异构区块链的跨链网桥构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113194141A true CN113194141A (zh) | 2021-07-30 |
CN113194141B CN113194141B (zh) | 2022-08-23 |
Family
ID=76980744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110474562.XA Active CN113194141B (zh) | 2021-04-29 | 2021-04-29 | 一种基于异构区块链的跨链网桥构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113194141B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006911A (zh) * | 2021-12-31 | 2022-02-01 | 杭州趣链科技有限公司 | 数据处理方法、装置、终端设备及存储介质 |
CN114338770A (zh) * | 2021-12-27 | 2022-04-12 | 杭州趣链科技有限公司 | 跨区块链的数据处理方法、装置、存储介质及终端设备 |
CN116127148A (zh) * | 2023-04-04 | 2023-05-16 | 之江实验室 | 一种数据可信存储方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020043046A1 (zh) * | 2018-08-30 | 2020-03-05 | 杭州复杂美科技有限公司 | 平行链跨链交易方法、设备和存储介质 |
CN111107136A (zh) * | 2019-12-05 | 2020-05-05 | 上海中信信息发展股份有限公司 | 一种基于ipfs的区块链跨链中继方法 |
CN111159293A (zh) * | 2019-12-25 | 2020-05-15 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
CN112348672A (zh) * | 2019-08-07 | 2021-02-09 | 阿里巴巴集团控股有限公司 | 跨链交易方法、装置、多区块链系统及计算设备 |
-
2021
- 2021-04-29 CN CN202110474562.XA patent/CN113194141B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020043046A1 (zh) * | 2018-08-30 | 2020-03-05 | 杭州复杂美科技有限公司 | 平行链跨链交易方法、设备和存储介质 |
CN112348672A (zh) * | 2019-08-07 | 2021-02-09 | 阿里巴巴集团控股有限公司 | 跨链交易方法、装置、多区块链系统及计算设备 |
CN111107136A (zh) * | 2019-12-05 | 2020-05-05 | 上海中信信息发展股份有限公司 | 一种基于ipfs的区块链跨链中继方法 |
CN111159293A (zh) * | 2019-12-25 | 2020-05-15 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
Non-Patent Citations (1)
Title |
---|
叶少杰等: "BitXHub:基于侧链中继的异构区块链互操作平台", 《计算机科学》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338770A (zh) * | 2021-12-27 | 2022-04-12 | 杭州趣链科技有限公司 | 跨区块链的数据处理方法、装置、存储介质及终端设备 |
CN114338770B (zh) * | 2021-12-27 | 2024-05-24 | 杭州趣链科技有限公司 | 跨区块链的数据处理方法、装置、存储介质及终端设备 |
CN114006911A (zh) * | 2021-12-31 | 2022-02-01 | 杭州趣链科技有限公司 | 数据处理方法、装置、终端设备及存储介质 |
CN114006911B (zh) * | 2021-12-31 | 2022-04-26 | 杭州趣链科技有限公司 | 数据处理方法、装置、终端设备及存储介质 |
CN116127148A (zh) * | 2023-04-04 | 2023-05-16 | 之江实验室 | 一种数据可信存储方法、装置、存储介质及电子设备 |
CN116127148B (zh) * | 2023-04-04 | 2023-07-21 | 之江实验室 | 一种数据可信存储方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113194141B (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113194141B (zh) | 一种基于异构区块链的跨链网桥构建方法 | |
CN110866825B (zh) | 基于公链的区块链信息存储方法及系统 | |
CN108009811B (zh) | 一种面向云际计算环境价值交换的跨链通信方法 | |
CN112862612B (zh) | 一种跨链发送资源的方法和装置 | |
CN112541758A (zh) | 基于区块链的多轮投票式容错排序共识机制与方法 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
WO2020173499A1 (zh) | 基于公链的区块链子链创建方法及系统 | |
CN110430235B (zh) | 跨链发送可认证消息的方法、装置、存储介质和计算设备 | |
Gao et al. | B-ReST: Blockchain-enabled resource sharing and transactions in fog computing | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN108615195B (zh) | 资源转移信息的传输方法和装置、存储介质、电子装置 | |
CN109816361B (zh) | 一种区块链无矿工费签名转账方法 | |
CN110400217A (zh) | 智能合约的规则变更处理方法及装置 | |
CN114118734A (zh) | 一种基于区块链技术的虚拟电厂需求响应管理系统 | |
Asheralieva et al. | Throughput-efficient lagrange coded private blockchain for secured IoT systems | |
CN116055052A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
Zhu et al. | A study on the challenges and solutions of blockchain interoperability | |
CN116402605A (zh) | 基于区块链的用户定义网络的签约交易系统及其交互方法 | |
CN116186749A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN116186786A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN114202415A (zh) | 基于异构链的数据处理方法及装置 | |
CN116233139A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 | |
CN117217856B (zh) | 一种基于区块链的平台统一大市场协同方法 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |