CN112887380A - 一种跨链互通方法及系统 - Google Patents
一种跨链互通方法及系统 Download PDFInfo
- Publication number
- CN112887380A CN112887380A CN202110056784.XA CN202110056784A CN112887380A CN 112887380 A CN112887380 A CN 112887380A CN 202110056784 A CN202110056784 A CN 202110056784A CN 112887380 A CN112887380 A CN 112887380A
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- parallel
- heterogeneous
- verification
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种跨链互通方法,包括同构跨链和异构跨链,其中同构跨链通过公共链识别平行链标识并经平行链间跨链消息传递协议实现;跨链结构中部署跨管管理合约和中继验证合约,调用跨链管理合约实现异构跨链流转业务的发布、赎回功能;调用中继验证合约验证和存储异构跨链的跨链业务;相邻异构平行链网络通过跨链结构接收异构跨链业务,进一步由跨链结构关联其所属的平行链网络进行内部同构跨链来转换执行所接收的异构跨链业务,另外基于该方法设计跨链互通系统,通过该方法及系统构建同构区块链网络和异构区块链全生态体系,实现同构区块链的消息跨链通信和异构区块链的高效全面的跨链互通。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种跨链互通方法及系统。
背景技术
当前的区块链底层技术平台百花齐放,但主流区块链平台间存在两大痛点:异构和孤岛。区块链的异构性:每种链的共识算法、账本结构、加密机制等技术各不相同,导致了区块链间的异构性。价值孤岛:异构链之间缺乏统一的互联互通机制,难以做到价值互通,这形成了区块链生态中的价值孤岛效应。
区块链本质是一种去中心化的分布式链式系统,此系统中可包含多条链的相互协作,其特有的分布式链式结构实现了上链数据可追溯,基于密码学技术和共识机制,实现不可篡改和不可伪造等功能,进而协调区块链多链间的安全与数据共享。但因为区块链上各条链的特异性强、种类繁多,加上区块链应用多链通道数量的增多,区块链链间的互通性和一致性问题逐渐凸显。
业内已有多种区块链平台,这些平台在整体架构设计上存在很大的不同,包括计算、存储、网络等各个方面。例如,Hyperledger Fabric采用EndorserOrderer-Comitter三层架构,交易先经过Endorser节点进行预执行背书,得到状态读写集RW-Set返回客户端,客户端再次打包交易发送至Orderer,Orderer打包排序后交给Commiter节点进行落盘存储。同为金融级、企业级的区块链平台FISCO BCOS,交易在客户端完成签名之后被发送到区块链节点,节点将交易打包成区块,并且交给EVM执行,状态数据以MPT树状组织存储。不难看出,这两个底层平台在架构上存在巨大差别,不仅交易处理时序不同,计算与存储结构也不同,想让交易直接在两个平台互通,存在较大挑战。
分布式系统的核心技术是共识技术。在区块链的分布式系统的P2P网络中,互不信任的节点通过遵循预设机制最终达成数据一致性的过程称为共识过程,使得区块链全网所有节点的数据通过分布式一致协议实现共享。跨链技术越来越受到人们的关注,设计高效的共识机制提高区块链跨链过程的的吞吐量逐渐成为跨链的关键问题之一。目前,普遍默认的有三类较常用的跨链技术:
(1)公证人机制(notary schemes)是指通过选举公证人,实现对某条链上的事件进行监管,并通过智能合约在另一条链上自动执行相应事件。公证人群通过预设的共识机制,对事件进行共识验证。
(2)侧链或中继(sidechains/relays)是指以轻客户端验证技术为基础,通过验证某条链的加密哈希树(cryptographic hash tree)以及区块头(block header)来验证此链的某项特定交易、事件或状态信息是否发生,然后通过智能合约在另一条链上自动执行某项特定交易、事件或状态信息。
(3)哈希锁定(Hash-locking)是指通过在进行交易的双方所在的链上运行特定的智能合约,实现跨链交易与信息交互。通过哈希锁定实现跨链交易的过程包括:a)跨链请求方A生成随机数s,并计算出该随机数的哈希值并发送给跨链请求方B;b)A和B通过智能合约锁定各自的资产;c)若B在某时间内收到正确的s,通过智能合约,自动执行将B的资产转移给A,否则退回给B;d)若A在某时间段内收到正确的随机数s,A的资产将自动转移给B,否则退回给A。
上述跨链方案,仅适用于面向数字资产的跨链转移场景,难以扩展涵盖到更为广阔的跨链消息通信及异构跨链互通的全生态应用场景。
目前全球区块链的数量不断增多,不同区块链的网络相互隔离,导致各链之间无法有效执行资产转移和跨链通信等操作。然而,主流跨链技术的设计研发解决的问题主要只包括:不同区块链之间的资产转移、实现设定冻结某个区块链上的资产锁定条件和解锁条件(然后与其他链特定的事件或行为进行关联)、读取和验证其他链的状态或事件、提升区块链交易处理能力。
可见,目前的跨链技术不能解决日益增长的区块链对跨链共识的需求,亟待提出更有效的解决方案。
发明内容
本发明基于上述背景和现有技术所存在的问题,拟设计一种跨链互通方法及系统,其能够实现同构和异构区块链的跨链互通,并通过设计公共链和跨链结构保障跨链互通的安全性和高效性,确保实时安全跨链。为了实现本发明的这些目的和其它优点,提供了一种跨链互通方法,包括搭建多个平行链网络,每个平行链网络内部进行同构跨链,各平行链网络之间由于架构不同,属于异构,各异构平行链网络之间通过跨链结构实现异构跨链,具体实现步骤包括:
(1)选择多个同一架构的区块链作为平行链构建平行链网络,每个平行链网络中搭建公共链,用于各平行链间的同构跨链;同一架构的区块链具有相同的流转资产,无需进行价值转换,目前同构区块链之间通过哈希锁定机制或者侧链机制可实现交易跨链,但各链间消息传递未能实现,本发明中设计公共链搭建各同构链消息传递的桥梁,准确快速的实现同构跨链;
(2)在相邻异构平行链网络之间搭建关联异构区块链的跨链结构,所述跨链结构在相邻异构平行链网络中选择任一平行链网络加入,作为其中的平行链之一关联所属公共链;
跨链结构是相邻两个异构平行链网络的中继转接,是专门用于承接异构跨链业务的特殊平行链,跨链满足所选择加入平行链网络的平行链的基本条件,享受所在平行链网络的同构跨链功能。
(3)所述跨链结构提供相邻异构平行链网络的轻节点集群,用于记录和监听来自相邻异构平行链网络各方的交易事务;轻节点是仅包含平行链区块头信息记账节点,在跨链结构的轻节点集群中,收集相邻异构平行链轻节点,任一平行链只要提供轻节点给跨链结构,在相邻的异构平行链网络之间均可进行异构跨链业务;跨链结构中部署跨管管理合约和中继验证合约,所述跨链管理合约包括异构平行链间的跨链资产流转协议,所述跨链资产流转协议实现异构跨链流转业务的发布、赎回功能,通过跨链流转协议接收并传递具体异构跨链业务;中继验证合约包括验证协议和存储协议,用来验证和存储异构跨链的跨链业务,保障接收的跨链业务的安全性。
(4)相邻异构平行链网络通过跨链结构接收异构跨链业务,并验证存储后进一步由跨链结构关联其所属的平行链网络进行内部同构跨链来转换执行所接收的异构跨链业务。
进一步地,所述步骤(1)具体如下:
1.1选择多个同一架构的区块链作为平行链,建立各平行链间消息哈希的Merkle树,形成平行链网络,并基于所述Merkle树制定统一的跨链消息传递协议,用于各平行链间的消息传递;
1.2在每条平行链中选择验证节点搭建公共链,将各平行链间消息哈希的Merkle树存储在公链链上,基于公共链识别进行跨链的平行链;其中,所述验证节点记录相应平行链标识,所述平行链标识即sign=(public chain block number,paraid)*,为公共链区块号和平行链ID组成的元组,用于区分不同的平行链,所述标识表明接收平行链已对其最后一个平行链区块执行消息,平行链区块的标识位于加入公共链区块的平行链区块头中。
进一步地,所述同构跨链消息传递协议逻辑如下:
1)将平行链跨链消息进行消息队列哈希如下:
$$H(Head_{HC}):Head_{HC}=H(m)||b||H(previous Head_{HC}))$$
其中$m$是一条消息,$H()$是一个哈希函数,$b$是最后发送消息的公共链区块号,包含前一条消息,并将仅存储消息队列哈希头$Head_{HC}$存储至链上;
2)设置公共链的平行链线程通道,每条通道生成其对应平行链的位字段,并将通道列表存储在公共链状态中,通过平行链通道进行链间消息通信;
3)该加入公共链区块的平行链区块头中还包含平行链区块消息根和位字段,消息根是Merkle树的根,该树可用于从接收对象中查找$Head_{HC}$,位字段用于关联接收方平行链线程通道;
4)平行链最后的区块标识需要以与平行链关联的公共链状态存储,通过构建公共链区块,该区块包含平行链标识、消息根和通道位字段,每个平行链都可以与其他平行链通信。
进一步地,所述步骤(2)中所述的搭跨链结构具体如下:在相邻异构平行链网络中选择任一平行链网络,利用所述平行链网络的相同区块链架构搭建跨链架构,在跨链中选取验证节点加入对应的公共链中,并构建初始事务哈希执行平行链间的跨链消息传递协议,使所述跨链作为所属平行链接入所述平行链网络中,其中在没有跨链事务的情况下,初始事务哈希设定为空事务哈希,该流程的目的是使跨链结构满足跨链消息传递协议的条件,打通与其他平行链进行消息传递的通道。
进一步地,定义相邻异构平行链网络中由跨链需求的一方为来源链,跨链接收执行的一方为目标链,步骤(3)中验证协议采用SPV轻节点验证实现链验证和事务验证,存在验证流程如下:
链验证验证来源链的区块头信息,包括前区块哈希、PoW共识、时间戳、来源链Merkle根,检查区块头是否引用了已经存储在跨链中的现有区块,若引用,则说明存在与该跨链关联的异构平行链网络的跨链需求,若没有引用,说明不存在;
事务验证用来验证跨链事务tx,给定事务,对区块头的引用,该区块中的事务索引tx以及Merkle树路径,通过该区块的Merkle树证明确定该事务是否确实包含在指定的区块头中,若确实包含,则说明确实存在跨链交易事务tx,若不包含,则不存在跨链交易事务;
特别地,验证协议需进行异构链主链检测,防止异构链产生分叉时,出现错误跨链,给定两个相互冲突的来源链时,分析区块头信息中具有最大PoW共识累积的链确定为主链。
进一步地,所述步骤(3)中通过跨链流转协议实现具体异构跨链业务的流程如下:
1)通过跨链管理合约创建质押库,所述质押库接收锁定、释放、消除命令,跨链请求方在跨链请求方向跨链管理合约发送跨链锁定请求时,所述跨链锁定请求包括需锁定的跨链资产数额、目标链ID;请求质押库锁定跨链资产,跨链管理合约根据接收的目标链ID产生公钥/私钥对,并为跨链请求方分配私钥;质押库用利用跨链管理合约创建,也就是说跨链管理合约可以验证质押库的数字签名并知道质押库的公钥;
2)跨链请求方接收到私钥后,跨链请求方将跨链资产、抵押品(抵押品的数额根据跨链资产的份额和跨链请求方信用度确定)发送至质押库中,质押库锁定跨链资产和抵押品,并向跨链管理合约发送跨链需求的签名消息,跨链管理合约验证签名后,根据目标链ID关联质押库创建属于跨链请求方的等额跨链流转资产;该流转资产可在目标链所在平行链网络中流通,用于与目标链所在平行链网络的价值流通;
其中,该公钥/私钥是跨链请求方、接收方跨链请求方和质押库必须维护密钥对。只要维护目标链的密钥对,跨链管理合约便可作为目标链上的可公开验证的智能合约存在。
3)跨链请求方利用等额的跨链流转资产在目标链进行资产流转,目标链的接收方调用跨链管理合约获取公钥与跨链请求方进行跨链交易;即目标链的接收方调用跨链管理合约获取公钥与跨链请求方进行跨链交易,也就是说,跨链请求方将跨链资产转化成等额的跨链流转资产,该跨链流转资产是流通于目标链的数字资产,利用跨链流转资产,跨链请求方可与目标链所在的平行链网络中的任一条平行链进行跨链通信和价值转换,将异构跨链转化为小范围的同构跨链,实现异构跨链互通;
4)跨链交易完成后,发出跨链资产赎回请求,请求包括跨链请求方来源链账户地址、跨链资产数额和跨链流转资产数额,调用跨链管理合约在质押库中锁定等额跨链流转资产,同时关联质押库释放跨链资产至跨链请求方来源链账户;
5)质押库释放跨链资产后发送签名到跨链管理合约,进行签名验证,验证有效后消除等额跨链流转资产,释放抵押品至跨链请求方来源链账户,完成跨链资产赎回过程。
进一步地,步骤(4)的具体流程如下:
4.1在所述跨链中基于来源轻节点实时记录来源链的区块头信息和监听跨链交易信息,调用中继验证合约读取区块头信息,并通过主链检测保持最长链更新;
4.2跨链请求方在来源链上发送跨链需求包括跨链事务索引tx、目标跨链ID后,中继验证合约读取到包含该跨链需求的区块头信息和跨链交易信息,并进行链验证和事务验证;
4.3验证通过后,将包括跨链需求的区块头信息和跨链事务索引tx进行存储并发送至跨链管理合约进行解析,得到跨链事务索引tx和接收方所在目标跨链ID;
4.4跨链管理合约利用异构跨链资产流转协议调用发布函数触发产生与跨链资产等价的流转资产,同时锁定跨链请求方来源链的跨链资产,用于目标链所在平行链网络的价值流通;
4.5通过跨链结构在其所属平行链网络中利用公共链识别目标链标识,执行跨链消息传递协议,利用等价流转资产与目标链进行跨链业务交易;
4.6跨链请求方完成目标链的跨链业务需求后,选择性调用赎回函数锁定流转资产,成功释放跨链资产和抵押品至跨链请求方账户后,消除流转资产。
在异构跨链过程中,每一个操作都通过异构跨链管理合约安全地记录下来,而行为不端的参与者将受到惩罚,他们将被砍去属于他们的抵押品。
本发明中还设计一种跨链互通系统,包括同构跨链模块和异构跨链模块,多个同构跨链模块和异构跨链模块组成跨链互通生态系统;其中同构跨链模块包括多个平行链子模块和公共链子模块,利用同构跨链消息传递协议实现各平行链和公共链子模块的消息传递,进而实现同构跨链互通;异构跨链模块包括中继验证组件和跨链管理组件,中继验证组件用于验证在异构来源链上发生的跨链交易,例如,当跨链请求方请求发布一个新的等额流转资产时,需要将等量的原链资产锁定在来源链上。跨链请求方可以通过在中继验证组件中验证他的交易来向目标链证明这一点。
中继验证组件包括存储模块和验证模块,验证模块包括链验证和事务验证子模块;跨链管理组件以异构跨链资产流转协议为支撑,实现异构跨链流转业务,包括跨链资产的发布模块、赎回模块。
进一步地,异构跨链互通的模块调用流程如下:
首先验证模块实时读取来源链区块头信息,并通过主链检测保持最长链更新;待读取到包含该跨链需求的区块头信息,调用验证和事务验证子模块进行链验证和事务验证,验证有效后,将所述区块头信息和跨链事务索引tx在存储模块进行存储,同时发送至跨链管理组件,发布模块发布与跨链资产等价的流转资产,同时锁定跨链请求方来源链的跨链资产,用于目标链所在平行链网络的价值流通;跨链请求方完成目标链的跨链业务需求后,赎回模块锁定流转资产,成功释放跨链资产至跨链请求方账户后,消除流转资产。
附图说明
图1为本发明跨链互通整体架构图;
图2为本发明同构跨链消息传递协议逻辑示意图;
图3为本发明跨链结构示意图;
图4为本发明跨链验证协议原理图;
图5为本发明异构跨链资产流转发布流程图;
图6为发明异构跨链资产流转赎回流程图;
图7为本发明中继转接适配流程图;
图8为本发明跨链互通系统结构体。
具体实施方式
为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施,其具体实现的交互过程可用常见的资产交易过程为例来描述,以方便本领域技术人员的理解。
具体实施例1:
如图1所示,为本发明跨链互通整体架构图,包括同构跨链和异构跨链,搭建平行链网络和异构区块链跨链结构实现同构和异构区块链的跨链互通,实现异构跨链全生态体系。
步骤包括:
(1)在图1中,存在平行链网络1、2和a(a≥2)。其中,平行链网络1包括平行链chain{1,11,…1n}(n≥2);平行链2包括平行链chain{2,22,…2n};平行链a包括平行链chain{a,aa,…an},每个平行链网络中搭建一条公共链,具体如下:
在各平行链之间制定统一的同构跨链消息传递协议,即平行链chain{1,11,…1n}满足统一的跨链消息传递协议,建立各平行链间消息哈希的Merkle树,该Merkle树作为跨链消息传递协议的载体,在chain{1,11,…1n}的每条链中各取一个验证节点用来搭建公共链1,公共链中存储平行链间消息哈希的Merkle树的根,其中,所述验证节点记录每个chain{1,11,…1n}的标识,所述平行链标识即sign=(public chain block number,paraid)*,为公共链区块号和平行链ID组成的元组,比如平行链11的标识sign=(1,ID:chain11)*,该标识经chain11的验证节点记录存储在公共链1的相应区块头中,平行链网络2和a同理。
如图2所示,以区块链chain{1,11,…1n}为例,存在平行链1,11,111…1n,其跨链消息传递协议实现如下:
1)在图2中每个平行链跨链消息如下:
chain11到其他平行链:11->1(chain11到chain1的跨链消息),11->111,11->1111,11->1n;
chain111到其他平行链:111->1(chain111到chain1的跨链消息),111->11,111->1111,111->1n;
chain1及chain1n同上。
依次按照$$H(Head_{HC}):Head_{HC}=H(m)||b||H(previous Head_{HC}))$$顺序进行消息队列哈希,并将仅存储消息队列哈希头$Head_{HC}$存储至链上:
其中$m$是一条消息,$H()$是一个哈希函数,$b$是最后发送消息的公共链区块号,包含前一条消息。
首先将消息队列进行哈希计算得到$H(1)$、$H(11)$、$H(111)$...$H(1n)$,取其哈希头信息$Head_{1}$、$Head_{11}$、$Head_{111}$、$Head_{1n}$依次存储至各自平行链上,然后进行哈希运算,得到消息根(Merkle root)。
2)设置公共链1的平行链线程通道(1,11,…1n),每条通道生成其对应平行链的位字段,并将通道列表存储在公共链状态中,通过平行链通道进行链间消息通信;
3)公共链1区块的平行链区块头中还包含平行链区块消息根(Merkle root)和位字段,通过(Merkle root)从接收对象中查找$Head_{HC}$;
4)当chain11的标识sign作为最后一个标识加入公共链1的存储状态时,公共链1共识出块,根据其区块头信息,通过Merkle root查找$Head_{11}$,可查询chain11对应的跨链消息11->111,11->1111,11->1n,根据位字段关联chain111、chain1111、chain1n的平行线程通道,进行跨链消息通信。
(2)在平行链网络1和a以及平行链2和a之间搭建异构区块链的跨链结构,具体如下:
Step1:在平行链网络1中以相同的架构搭建平行链网络1和a的跨链结构1,平行链2和a之间搭建异构区块链的跨链结构2,跨链结构1和2分别作为特殊的平行链加入平行链网络1和平行链网络2,跨链结构1和2分别设置空交易事务哈希t1和t2依次在平行链网络1和平行链网络2执行跨链消息传递协议,并在跨链1和2中分别选取相应的验证节点加入对应的公共链1和2中,使所述跨链接入平行链网络中;
Step2:如图3所示,以平行链网络1和a的跨链结构1为例,在跨链1中制定chaina和chain{1,11,…1n}网络的跨管管理合约和中继验证合约,其中,跨链管理合约包括异构平行链间的跨链资产流转协议,所述跨链资产流转协议包括实现跨链流转业务的发布、赎回等功能函数,通过跨链流转协议进行具体异构跨链业务的执行;中继验证合约包括存储协议和验证协议,用来验证和存储异构跨链的跨链业务(在实际操作中,用户仅需调用依次调用中继验证合约和跨链管理合约便可实现异构跨链业务的接收、验证和执行);
Step3:如图4所示,跨链1的验证协议采用SPV轻节点验证进行链验证和跨链事务验证,具体如下:
跨链1中包含平行链网络1和a的各平行链轻节点,利用链验证chaina的区块头信息,包括前区块哈希、时间戳、Merkle根、PoW共识,检查区块头是否引用了已经存储在跨链1中的现有区块,若引用,则说明chaina中存在与平行链网络1的跨链需求,具体通过SPV轻节点(即跨链1中存在chaina的轻节点,轻节点实时记录chaina的区块头信息,并结合6块共识验证方法进行区块头信息验证);若没有引用,说明chaina中没有和平行链网络1的跨链需求;
同时验证协议需对chaina进行主链检测,给定两个相互冲突的来源链时,分析区块头信息中具有最大PoW共识累积的链确定为主链;
事务验证用来验证chaina的跨链事务tx,给定事务,对区块头的引用,该区块中的事务索引tx以及Merkle树路径,通过Merkle树证明确定该事务是否确实包含在指定的区块头中,若确实包含,则说明确实存在跨链交易事务tx,若不包含,说明不存在跨链事务交易。
定义跨链请求方在chaina持有资产a,chain11所在平行链网络可流转的资产为b,跨链请求方在chaina和chain11之间的异构跨链资产流转协议流程如下:
Step1:如图5所示,在跨链1网络中通过跨链管理合约创建质押库,跨链请求方识别关联跨链1的质押库,向跨链管理合约发送跨链锁定请求(包括锁定跨链资产数额|a|,|b|),请求跨链管理合约锁定跨链资产a,跨链管理合约根据接收的跨链请求分配chain11上的一对公钥/私钥,将私钥发送给跨链请求方;
Step2:跨链请求方将a和抵押品(m)发送到质押库,作为将这些跨链资产锁定到质押库的一部分,跨链请求方需指定要跨链的chain11的ID,以及在chain11的公钥和跨链资产a在质押库关联起来,质押库锁定a和抵押品(m),并发送锁定的签名消息到跨链管理合约,跨链管理合约验证确认跨链请求方已锁定其跨链资产a和抵押品,根据chain11的ID关联质押库创建属于跨链请求方的等额跨链流转资产|b|,即|a|等价于|b|;
Step3:跨链结构利用流转资产|b|在目标链chain11的目标链的接收方执行同构跨链资产交易流转依次转换异构跨链业务,(通过公共链识别目标链标识后,调用跨链消息协议进行跨链消息传递,并利用流转资产|b|与目标链进行跨链交易),实现跨链请求方与目标链接收方的异构跨链业务的执行;此时也可与平行链1网络中的任一平行链的接收方进行同构跨链通信;
Step4:如图6所示,跨链交易完成后,跨链请求方发出跨链资产赎回请求(跨链请求方在chaina的账户地址、|a|、|b|),调用跨链管理合约在质押库中锁定等额跨链流转资产|b|,同时关联质押库释放锁定的跨链资产a至跨链请求方在chaina的账户地址;
Step5:质押库释放a后发送签名到跨链管理合约,进行签名验证,验证有效后消除|b|,释放抵押品m至跨链请求方在chaina的账户,完成跨链资产赎回过程。
(3)如图7所示,异构跨链业务执行具体流程如下:
Step1:跨链1中chaina轻节点,实时记录chaina的区块头信息和并监听跨链交易信息,调用中继验证合约读取区块头信息,并通过主链检测保持最长链更新;
Step2:跨链请求方在chaina上发送跨链需求包括跨链事务索引tx、目标跨链ID(假定目标链为chain11),中继验证合约读取到包含该跨链需求的区块头信息和跨链交易信息,并进行链验证和事务验证;
Step3:验证有效后,存储含该跨链需求的区块头信息和跨链事务索引tx,同时发送至跨链管理合约进行解析跨链事务索引tx和接收方所在目标跨链ID;
Step4:跨链链管理合约利用上述异构跨链流转协议调用发布函数发布与跨链资产a等价的流转资产b,用于与chain11所在平行链网络1的价值流通,同时锁定跨链请求方在chaina的跨链资产a;
Step5:跨链请求方通过跨链1完成目标链chain11的跨链业务需求后,调用赎回函数锁定流转资产b,成功释放跨链资产a和质押资产m至跨链请求方在chaina的账户后,消除流转资产b。
实施例2:
如图8所示,本发明中还设计一种跨链互通系统,包括同构跨链模块和异构跨链模块,多个同构跨链模块和异构跨链模块组成跨链互通生态系统;其中同构跨链模块包括多个平行链子模块和公共链子模块,利用同构跨链消息传递协议实现各平行链和公共链子模块的消息传递,进而实现同构跨链互通;异构跨链模块包括中继验证组件和跨链管理组件,中继验证组件用于验证在异构来源链上发生的跨链交易。
中继验证组件包括存储模块和验证模块,验证模块包括链验证和事务验证子模块;跨链管理组件以异构跨链资产流转协议为支撑,实现异构跨链流转业务,包括跨链资产的发布模块、赎回模块。
增加模块作用函数,模块调用流程如下:
首先验证模块实时读取来源链区块头信息,并通过主链检测保持最长链更新;待读取到包含该跨链需求的区块头信息,调用验证和事务验证子模块进行链验证和事务验证,验证有效后,将所述区块头信息和跨链事务索引tx在存储模块进行存储,同时发送至跨链管理组件,发布模块发布与跨链资产等价的流转资产,同时锁定跨链请求方来源链的跨链资产,用于目标链所在平行链网络的价值流通;跨链请求方完成目标链的跨链业务需求后,赎回模块锁定流转资产,成功释放跨链资产至跨链请求方账户后,消除流转资产。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (10)
1.一种跨链互通方法,其特征在于,搭建多个平行链网络,具体步骤包括:
(1)选择多个同一架构的区块链作为平行链构建平行链网络,每个平行链网络中搭建公共链,基于所述公共链实现各平行链间的同构跨链;
(2)在相邻异构平行链网络之间搭建关联异构区块链的跨链结构,所述跨链结构在相邻异构平行链网络中选择任一平行链网络加入,作为其中的平行链之一关联所属公共链;
(3)所述跨链结构提供相邻异构平行链网络的轻节点集群,用于记录和监听来自相邻异构平行链网络各方的交易事务;并部署跨管管理合约和中继验证合约,所述跨链管理合约包括异构平行链间的跨链资产流转协议,所述跨链资产流转协议实现异构跨链流转业务的发布、赎回功能,通过跨链流转协议实现具体异构跨链业务;中继验证合约包括验证协议和存储协议,用来验证和存储异构跨链的跨链业务;
(4)相邻异构平行链网络通过跨链结构接收异构跨链业务,验证存储后进一步由跨链结构关联其所属的平行链网络进行内部同构跨链来转换执行所接收的异构跨链业务。
2.根据权利要求1所述的跨链互通方法,其特征在于,所述步骤(1)具体如下:
1.1选择多个同一架构的区块链作为平行链,建立各平行链间消息哈希的Merkle树,形成平行链网络,并基于所述Merkle树制定统一的跨链消息传递协议,用于各平行链间的消息传递;
1.2在每条平行链中选择验证节点搭建公共链,将各平行链间消息哈希的Merkle树存储在公链链上,基于公共链识别进行跨链的平行链;其中,所述验证节点记录相应平行链标识,所述平行链标识即sign=(public chain block number,paraid)*,为公共链区块号和平行链ID组成的元组,用于区分不同的平行链,所述标识表明接收平行链已对其最后一个平行链区块执行消息,平行链区块的标识位于加入公共链区块的平行链区块头中。
3.根据权利要求2所述的跨链互通方法,其特征在于,所述跨链消息传递协议实现方式如下:
1)将平行链跨链消息进行消息队列哈希如下:
$$H(Head_{HC}):Head_{HC}=H(m)||b||H(previous Head_{HC}))$$
其中$m$表示消息,$H()$表示哈希函数,$b$表示最后发送消息的公共链区块号,包含前一条消息,并将仅存储消息队列哈希头$Head_{HC}$存储至链上;
2)设置公共链的平行链线程通道,每条通道生成其对应平行链的位字段,并将通道列表存储在公共链状态中,通过平行链通道进行链间消息通信;
3)该加入公共链区块的平行链区块头中还包含平行链区块消息根和位字段,消息根是消息哈希的Merkle树根,该树用于从接收对象中查找$Head_{HC}$,位字段用于关联接收方平行链线程通道;
4)平行链最后的区块标识以与平行链关联的公共链状态存储,通过构建公共链区块,该区块包含平行链标识、消息根和通道位字段,每个平行链都可以与其他平行链通信。
4.根据权利要求1所述跨链互通方法,其特征在于,所述步骤(2)中所述的搭跨链结构具体如下:在相邻异构平行链网络中选择任一平行链网络,利用所述平行链网络的相同区块链架构搭建跨链架构,在跨链中选取验证节点加入对应的公共链中,并构建初始事务哈希执行平行链间的跨链消息传递协议,使所述跨链作为所属平行链接入所述平行链网络中。
5.根据权利要求1所述跨链互通方法,其特征在于,将相邻异构平行链网络中由跨链需求的一方作为来源链,跨链接收执行的一方作为目标链,则所述步骤(3)中验证协议采用SPV轻节点验证实现链验证和事务验证,存在验证流程如下:
链验证用于验证来源链的区块头信息否引用了已经存储在跨链中的现有区块,其中,区块头信息包括前区块哈希、PoW共识、时间戳和Merkle根,若引用,则存在与该跨链关联的异构平行链网络的跨链需求;
事务验证用于验证跨链事务,其中,跨链事务为对区块头的引用,所述跨链事务包括区块头中的事务索引以及Merkle树路径,通过Merkle树证明确定所述跨链事务是否包含在指定的区块头中,若包含,则存在跨链事务。
6.根据权利要求5所述跨链互通方法,其特征在于,所述验证流程还包括以下步骤:对所述验证协议进行异构链主链检测处理,若存在相互冲突的来源链时,则对区块头信息进行分析选择较大PoW共识累积的链作为主链。
7.根据权利要求1所述跨链互通方法,其特征在于,所述步骤(3)中通过跨链流转协议实现具体异构跨链业务的流程如下:
1)通过跨链管理合约创建质押库,所述质押库接收锁定、释放、消除命令,在跨链请求方向跨链管理合约发送跨链锁定请求时,跨链管理合约根据接收的目标链ID产生公钥/私钥对,并为跨链请求方分配私钥,其中所述跨链锁定请求包括需锁定的跨链资产、抵押品信息和目标链ID;
2)响应于接收到私钥动作,质押库锁定跨链资产和抵押品信息,并向跨链管理合约发送跨链需求的签名,签名验证通过后,根据目标链ID关联质押库创建属于跨链请求方的等额跨链流转资产;
3)基于等额的跨链流转资产在目标链进行资产流转,目标链的接收方调用跨链管理合约获取公钥与跨链请求方进行跨链交易;
4)跨链交易完成后,发出跨链资产赎回请求,调用跨链管理合约在质押库中锁定等额跨链流转资产,同时关联质押库释放跨链资产至跨链请求方来源链账户,其中,所述赎回请求包括跨链请求方来源链账户地址、跨链资产数额和跨链流转资产数额;
5)质押库释放跨链资产后发送释放签名到跨链管理合约,进行签名验证,验证有效后消除等额跨链流转资产,释放抵押品至跨链请求方来源链账户,完成跨链资产赎回过程。
8.根据权利要求1所述跨链互通方法,其特征在于,步骤(4)的具体流程如下:
4.1在所述跨链中基于来源轻节点实时记录来源链的区块头信息和监听跨链交易信息,调用中继验证合约读取区块头信息,并通过主链检测保持最长链更新;
4.2跨链请求方在来源链上发送跨链需求,中继验证合约读取到包含该跨链需求的区块头信息和跨链交易信息,并进行链验证和事务验证,其中,跨链需求包括跨链事务索引和目标跨链ID;
4.3验证通过后,将包括跨链需求的区块头信息和跨链事务索引进行存储并发送至跨链管理合约进行解析,得到跨链事务索引和接收方所在目标跨链ID;
4.4跨链管理合约利用异构跨链资产流转协议调用发布函数触发产生与跨链资产等价的流转资产,同时锁定跨链请求方来源链的跨链资产,用于目标链所在平行链网络的价值流通;
4.5通过跨链结构在其所属平行链网络中利用公共链识别目标链标识,执行跨链消息传递协议,基于等价流转资产与目标链进行跨链业务交易;
4.6跨链请求方完成目标链的跨链业务需求后,调用赎回函数锁定流转资产,成功释放跨链资产和抵押品至跨链请求方账户后,消除流转资产。
9.一种跨链互通系统,其特征在于,包括同构跨链模块和异构跨链模块,多个同构跨链模块和异构跨链模块组成跨链互通生态系统;其中同构跨链模块包括多个平行链子模块和公共链子模块,利用跨链消息传递协议实现各平行链和公共链子模块的消息传递,进而实现同构跨链互通;异构跨链模块包括中继验证组件和跨链管理组件,中继验证组件用于验证在异构来源链上发生的跨链交易,包括存储模块和验证模块,验证模块包括链验证和事务验证子模块;跨链管理组件以异构跨链资产流转协议为支撑,实现异构跨链流转业务,包括跨链资产的发布模块、赎回模块。
10.根据权利要求9所述跨链互通系统,其特征在于,异构跨链互通的模块调用流程如下:
验证模块实时读取来源链区块头信息,并通过主链检测保持最长链更新;待读取到包含该跨链需求的区块头信息,调用验证和事务验证子模块进行链验证和事务验证,验证有效后,将所述区块头信息和跨链事务索引tx在存储模块进行存储,同时发送至跨链管理组件,发布模块发布与跨链资产等价的流转资产,同时锁定跨链请求方来源链的跨链资产,用于目标链所在平行链网络的价值流通;跨链请求方完成目标链的跨链业务需求后,选择性调用赎回模块锁定流转资产,成功释放跨链资产至跨链请求方账户后,消除流转资产。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056784.XA CN112887380B (zh) | 2021-01-15 | 2021-01-15 | 一种跨链互通方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056784.XA CN112887380B (zh) | 2021-01-15 | 2021-01-15 | 一种跨链互通方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887380A true CN112887380A (zh) | 2021-06-01 |
CN112887380B CN112887380B (zh) | 2022-06-10 |
Family
ID=76048402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056784.XA Active CN112887380B (zh) | 2021-01-15 | 2021-01-15 | 一种跨链互通方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887380B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407640A (zh) * | 2021-07-21 | 2021-09-17 | 杭州链网科技有限公司 | 基于多链nft跨链方法及系统 |
CN113821566A (zh) * | 2021-09-10 | 2021-12-21 | 杭州链网科技有限公司 | 一种基于多链分片的区块链聚合架构 |
CN113886487A (zh) * | 2021-08-30 | 2022-01-04 | 西安电子科技大学 | 一种消息传递方法、系统、介质、设备及移动终端 |
CN113987077A (zh) * | 2021-12-23 | 2022-01-28 | 太极计算机股份有限公司 | 一种基于链码机制的数据感知与跨链调度方法及装置 |
CN114172661A (zh) * | 2021-12-03 | 2022-03-11 | 杭州链网科技有限公司 | 一种数字资产的双向跨链方法、系统及装置 |
CN115208817A (zh) * | 2022-05-29 | 2022-10-18 | 北京理工大学 | 一种基于跨链网关和Floyd算法的可信跨链路由方法 |
CN116189911A (zh) * | 2023-04-24 | 2023-05-30 | 江西莱普特信息技术有限公司 | 基于区块链侧链技术的医院信息系统互通方法及其系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242456A (zh) * | 2018-09-04 | 2019-01-18 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、系统及存储介质 |
CN109345387A (zh) * | 2018-09-04 | 2019-02-15 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、跨链通信装置及存储介质 |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN110766408A (zh) * | 2019-10-24 | 2020-02-07 | 杭州趣链科技有限公司 | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 |
CN111756736A (zh) * | 2020-06-24 | 2020-10-09 | 深圳市网心科技有限公司 | 一种异构区块链间的跨链方法、系统及电子设备和存储介质 |
WO2020258848A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 一种跨链发送资源的方法和装置 |
-
2021
- 2021-01-15 CN CN202110056784.XA patent/CN112887380B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242456A (zh) * | 2018-09-04 | 2019-01-18 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、系统及存储介质 |
CN109345387A (zh) * | 2018-09-04 | 2019-02-15 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、跨链通信装置及存储介质 |
WO2020258848A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 一种跨链发送资源的方法和装置 |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN110766408A (zh) * | 2019-10-24 | 2020-02-07 | 杭州趣链科技有限公司 | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 |
CN111756736A (zh) * | 2020-06-24 | 2020-10-09 | 深圳市网心科技有限公司 | 一种异构区块链间的跨链方法、系统及电子设备和存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407640A (zh) * | 2021-07-21 | 2021-09-17 | 杭州链网科技有限公司 | 基于多链nft跨链方法及系统 |
CN113407640B (zh) * | 2021-07-21 | 2024-03-12 | 杭州链网科技有限公司 | 基于多链nft跨链方法及系统 |
CN113886487A (zh) * | 2021-08-30 | 2022-01-04 | 西安电子科技大学 | 一种消息传递方法、系统、介质、设备及移动终端 |
CN113886487B (zh) * | 2021-08-30 | 2024-04-09 | 西安电子科技大学 | 一种消息传递方法、系统、介质、设备及移动终端 |
CN113821566A (zh) * | 2021-09-10 | 2021-12-21 | 杭州链网科技有限公司 | 一种基于多链分片的区块链聚合架构 |
CN114172661A (zh) * | 2021-12-03 | 2022-03-11 | 杭州链网科技有限公司 | 一种数字资产的双向跨链方法、系统及装置 |
CN114172661B (zh) * | 2021-12-03 | 2023-12-08 | 杭州链网科技有限公司 | 一种数字资产的双向跨链方法、系统及装置 |
CN113987077A (zh) * | 2021-12-23 | 2022-01-28 | 太极计算机股份有限公司 | 一种基于链码机制的数据感知与跨链调度方法及装置 |
CN113987077B (zh) * | 2021-12-23 | 2022-03-29 | 太极计算机股份有限公司 | 一种基于链码机制的数据感知与跨链调度方法及装置 |
CN115208817A (zh) * | 2022-05-29 | 2022-10-18 | 北京理工大学 | 一种基于跨链网关和Floyd算法的可信跨链路由方法 |
CN115208817B (zh) * | 2022-05-29 | 2023-10-10 | 北京理工大学 | 一种基于跨链网关和Floyd算法的可信跨链路由方法 |
CN116189911A (zh) * | 2023-04-24 | 2023-05-30 | 江西莱普特信息技术有限公司 | 基于区块链侧链技术的医院信息系统互通方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112887380B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112887380B (zh) | 一种跨链互通方法及系统 | |
CN112287029B (zh) | 一种区块链多链跨链系统及其实现机制 | |
CN113965329A (zh) | 一种跨链互操作系统、方法、介质及数据处理终端 | |
CN112418860A (zh) | 一种基于跨链技术的区块链高效管理架构及工作方法 | |
CN112862612A (zh) | 一种跨链发送资源的方法和装置 | |
CN109600433B (zh) | 一种系统内数据汇总方法及装置 | |
Duan et al. | Secure causal atomic broadcast, revisited | |
CN111553632A (zh) | 基于物联网和区块链技术的物流管理平台与物流管理方法 | |
CN112311772A (zh) | 基于Hyperledger的跨域证书管理系统及方法 | |
CN110019103B (zh) | 一种基于区块链的跨链系统和跨链实现方法 | |
Wang et al. | A fast and secured vehicle-to-vehicle energy trading based on blockchain consensus in the internet of electric vehicles | |
CN110716983B (zh) | 一种信息处理方法和区块链网络服务平台 | |
CN112583917A (zh) | 一种基于cscp的混合链构建方法 | |
CN111047316A (zh) | 一种反篡改的智能区块链系统及实现方法 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN113645278B (zh) | 一种区块链的跨链消息传输方法、设备、存储介质 | |
CN114881648A (zh) | 面向跨链资产置换场景的基于预言机的区块链互联方法和设备 | |
CN113886501A (zh) | 一种基于多链架构下的区块链业务模块扩展方法 | |
CN115987547B (zh) | 一种多平台互联互通的云连接器系统 | |
CN112769550A (zh) | 面向数据中心的负载均衡的量子密钥资源分配系统 | |
Jiang et al. | A cross-chain solution to integration of iot tangle for data access management | |
CN110299939A (zh) | 面向时分复用qkd光网络的共享保护方法和装置 | |
CN110555783B (zh) | 一种基于区块链的电力营销数据保护方法及系统 | |
CN113923217B (zh) | 一种基于dag的异步拜占庭共识方法及系统 | |
Halim | Decentralization, Scalability, and Security Trade-off in Blockchain System: Comparison on Different Approaches |
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 |