CN113114759B - 一种实现多链互通的跨链方法及系统 - Google Patents
一种实现多链互通的跨链方法及系统 Download PDFInfo
- Publication number
- CN113114759B CN113114759B CN202110381525.4A CN202110381525A CN113114759B CN 113114759 B CN113114759 B CN 113114759B CN 202110381525 A CN202110381525 A CN 202110381525A CN 113114759 B CN113114759 B CN 113114759B
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- block
- node
- block chain
- 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.)
- Active
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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- 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
- 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)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现多链互通的跨链方法,具体包括:在第一区块链和第二区块链互埋对方轻节点,并在第一区块链和第二区块链之间设置Sync同步工具;响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易;同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥;该方法采用轻节点验证跨链交易,利用Sync同步工具传递跨链信息进一步执行跨链交易,并设置全节点集群化管理工具,统一管理多个跨链桥,实现在轻节点验证的基础上,链与链之间进行点对点的跨链事务的执行,进一步实现多链跨链互通。
Description
技术领域
本发明属于区块链跨链技术领域,具体涉及一种实现多链互通的跨链方法及系统。
背景技术
随着区块链技术及生态的不断成熟和完善,针对 性能瓶颈等区块链2.0时代的痛点问题的一大批解决方案 逐渐落地实施,区块链的三大基础实施—— 底层公链、跨链技术、网络协议都有了很大的进展,此外在分布式计算、物联网、去中心化交易协议等设施方面,也进展巨大。
然而随着区块链技术的发展,各种通证场景的繁荣,基本都是相对独立封闭的孤岛,人们管理自己的多个数字资产异常困难,通证无法跨越边界自由流通(只能通过违背区块链愿景的中心化交易所), 这大大降低了区块链社区的活力和推广。跨链技术就是在这样一种背景下产生并发展壮大起来的,目前市场上有越来越多的项目和技术针对跨链这个问题。
Vitalik Buterin早在2016年R3报告(Chain Interoperability)就有说明,首先跨链技术并不仅仅是跨链的资产转移、通证兑换,而应包含更广义的链间通信、信息交互。跨链通信,就是同样的数据,在两条链上复制。同样的信息,要从一条链传递到另一条与之独立的链上,在不改变原链结构的前提下,两条异构的链如同基因隔离,传递的信息如果被对方节点认可,那么信息就失去了传递的意义,跨链技术就是建立两条链之间的纽带。
目前市场上出现的跨链技术主要有:中心化网关跨链,由权威机构外部语言机Oracle模式输入的一种跨链办法,即由中心化组织从链的两端输入,经过引进外部力气接入跨链,相当于凭借第三方安排来完结跨链动作,与转账凭借银行一致,使用中心化操作虽然效率比较高,但存在安全隐患;多签托管跨链,在单个中心化的根底上增加一组权威机构投票来承担跨链数据的交互,与议会准则相同,多方持有私钥来控制一个账户,从而达到多方安全托管的作用,但由于权威机构的不一致性,操作效率同时也大打折扣;镜像跨链,通过最大资产镜像合成其他小额资产,来完结经济学上的虚拟跨链,利用经济学合成资产的概念;例如Synthetix项目利用其数字资产SNX,以超量兑换价值SNX(最大资产)来组成小额的其他财务,但该项目存在如Gas费用高且不稳定,效率低等问题;轻节点跨链,完全由代码来托管数据的交互,不需要任何中间人,无需对第三方信任,定制多条链通用的跨链协议接口和通用的轻节点协议,块头 Header 跨链、交易transaction 跨链和共识跨链,做到跨链最高级别安全。
轻节点目的是让节点在不存储全状态,只需要存储状态根的情况下也能验证交易,用于跨链过程中演算和验证其它链交易、可以用于多链中不同链验证节点随机洗牌后切换节点、可以用于快速同步其它链数据等,但仅有轻节点验证无法执行跨链交易,故目前轻节点跨链其通用性技术尚未完结,亟需进一步开发研究。
发明内容
鉴于上述,本发明提供了一种实现多链互通的跨链方法及系统,用于实现多链资产跨链,采用轻节点验证跨链交易,利用Sync同步工具传递跨链信息进一步执行跨链交易,并设置全节点集群化管理工具,统一管理多个跨链桥,实现多链跨链互通。
一种实现多链互通的跨链方法,具体如下:
在第一区块链和第二区块链互埋对方轻节点,并在第一区块链和第二区块链之间设置Sync同步工具;
响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易;
同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通。
所述区块链全节点具有记账存储和出块的功能,即全节点记录包含链上交易的全部区块信息,而轻节点是为了减轻存储压力,仅存储相应的区块头信息,在区块链的区块头里面存储着区块的头信息,包含上一个区块的哈希值(PreHash),本区块体的哈希值(Hash),以及时间戳(TimeStamp)等信息。故全节点能够响应链上用户跨链请求,并为轻节点提供区块头信息。
在第一区块链和第二区块链上互埋对方的轻节点,实现实时获取对方区块链的区块头信息,以此获取对方链上与之关联的区块交易信息并进一步进行验证。
轻节点由于只存储了区块头,不包含区块体中的具体交易事务信息,故设置Sync同步工具辅助轻节点验证,进一步进行跨链消息事务的同步传递。
在传统的区块链中不同的区块链节点采用其单独的配置来部署在单独运行的服务器中,在此基础上增加Sync同步工具便需要增加配置Sync同步工具,将其添加到与区块链关联的服务器中,该过程繁琐复杂,并且浪费资源。利用同一配置处理轻节点关联的全节点和Sync同步工具,比如与第一轻节点关联的是第一区块链中的第一全节点和第二区块链中的第二全节点,将第一全节点和第二全节点以及Sync同步工具采用同一配置部署在一个服务器中,运维简单,防止黑客恶意或虚假跨链请求,并且便于集群化管理。
在上文所述的利用同一配置处理轻节点关联的全节点和Sync同步工具形成跨链桥,此处的跨链桥仅连接2条链,在此基础上引入集群管理工具,将多个跨链桥归置在集群内运行,多个跨链桥分别依次连接多个区块链,在该集群内实现多链跨链的集群化管理。
现有技术中只能通过轻节点来验证跨链交易的存在,并不能真正的实施跨链事务,也就是没办法直接执行跨链交易,一般借助中继链或者专门的执行程序进行执行,即将轻节点部署在中继链上来验证跨链信息,并进一步在中继链上转接跨链交易事务;
本发明的改进点是在两条有跨链需求的链上,相互部署对方的轻节点,而不需要中继链或其他中继程序,双方相互利用轻节点验证跨链信息,实现跨链信息的双向直接验证,然后借助Sync同步工具进行区块链跨链事务的实时备份传递,实现链与链之间之间进行点对点的跨链事务的执行。
也就是说轻节点验证跨链信息,Sync同步工具传递跨链事务,二者结合实现双链之间的跨链交易(验证+执行)
进一步通过统一集群管理多个跨链桥(跨链桥就是上述的Sync与区块链全节点组成的结构),集群工具可以使集群内的跨链桥结构相互联通进行通信,也就是为多个跨链桥提供通信网络,确保整个多链网络通信联通,从而实现多链互通,多链中的任一一条链有跨链需求,均可在集群内快速关联到其相对应的跨链目标链,进行跨链交易。
进一步地,在第一区块链和第二区块链互埋对方轻节点,具体如下:
在第一区块链中部署第二区块链的第二轻节点,在第二区块链中部署第一区块链的第一轻节点,所述第二轻节点实时记录第二区块链的区块头信息,第一轻节点实时记录第一区块链的区块头信息;其中所述第一区块链为跨链请求区块链的多链集合,所述第二区块链为跨链目标区块链的多链集合。
在这里第一轻节点和第二轻节点记录存储第一区块链或第二区块链的区块头信息,若是有跨链事务,则在其记录的区块头信息中存在该跨链事务的当前区块哈希以及其关联的上一区块哈希及时间戳,进而获取其中的跨链信息。
进一步地,所述Sync同步工具关联第一区块链的第一全节点和第二区块链第二全节点,第一全节点将跨链交易事务经Sync同步工具传递至第二全节点执行跨链交易;其中,第一全节点是第一区块链同步到最高块的全节点,与第二轻节点关联;第二全节点是第二区块链同步到最高块的全节点,与第一轻节点关联。
第一全节点响应用户的跨链请求,获取跨链通信消息,其中跨链通信消息包括跨链具体事务、跨链交易对应的区块链属性以及跨链账户地址等信息,在将跨链请求转化为跨链交易信息存入区块体,并将其哈希和时间戳计入区块头中,同时将获取的跨链通信消息经关联的Sync同步工具传递至第二区块链的第二全节点。
在这里,第一轻节点是部署在第二区块链中的第一轻节点合约,该轻节点合约可被第二区块链的第二全节点调用,而第一轻节点记录的是第一区块链中第一全节点所产生区块的区块头,故其与第一全节点关联,第一全节点产生的区块包括区块头和区块体,故第一全节点存储的区块头信息与第一全节点存储的区块信息同步。
进一步地,所述响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易,具体流程如下:
响应第一区块链跨链请求,第一全节点接收用户跨链交易事务,形成跨链交易事务在区块体中,跨链信息在区块头中,第一全节点发送跨链验证请求至第一轻节点,第一轻节点从第一区块链区块头获取待验证的跨链信息对应的默克尔树哈希认证路径;根据哈希认证路径,计算默克尔树的根哈希值,将计算结果与其存储区块头中的默克尔树的根哈希值进行比较,若一致则跨链信息真实,第一轻节点将验证结果反馈至关联的第二全节点;若不一致,则跨链信息不真实,拒绝跨链交易;
同时,第一全节点接收用户跨链交易事务,关联Sync同步工具将跨链交易事务备份至相关联的第二全节点;
第二全节点根据第一轻节点的跨链信息验证结果确认跨链信息真实,结合接收的跨链交易事务进行执行跨链交易流转或支付。
特别地,所述调用第一轻节点验证跨链信息,还包括第一轻节点参与FlyClient协议,利用MMR证明和概率区块采样协议验证跨链信息是否在最长区块链区块中;
在区块链共识出块的过程中,若存在节点恶意出块,则会出现区块分叉的现象,该过程为了验证在区块分叉时跨链信息是否存在在无效的区块链中,若存在无效区块链,即使跨链信息真实存在,也无法进行正常的跨链交易,防止无效跨链交易,保障跨链交易的安全性,传统的轻节点跨链则是通过6块验证法确认最大共识,
利用当前比较新的MMR证明也就是超轻节点的技术,进一步优化轻节点,在轻节点验证跨链信息真实存在的前提下,进一步通过FlyClient协议检验跨链信息是否在合法的主链上(也就是面对链分叉的最长链上)是经过区块链的共识确认的。只有在主链区块上的跨链信息才能执行跨链交易,若是在分叉链上的跨链信息,即使该跨链信息经轻节点验证确实真实存在在链上,但由于区块链不可能允许多链分叉运行,除了主链,其他链均会被最终截断,此时跨链交易若被执行则存在跨链资产的损失,故增加FlyClient协议,利用MMR证明确认跨链信息在主链上可以进一步保障跨链交易的安全性,更加完善轻节点验证跨链信息。
一种实现多链互通的跨链系统,包括轻节点设置模块、调用传递模块及配置管理模块;
所述轻节点设置模块,用于在第一区块链和第二区块链互埋对方轻节点,并在第一区块链和第二区块链之间设置Sync同步工具;
所述调用传递模块,用于响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易;
所述配置管理模块,用于同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通。
作为一种可实施方式,所述轻节点设置模块被设置为:
在第一区块链中部署第二区块链的第二轻节点,在第二区块链中部署第一区块链的第一轻节点,所述第二轻节点实时记录第二区块链的区块头信息,第一轻节点实时记录第一区块链的区块头信息;其中所述第一区块链为跨链请求区块链的多链集合,所述第二区块链为跨链目标区块链的多链集合。
在本文中采用方案具体如下:
1)在第一区块链中第一全节点在其所持有的每个区块中添加MMR证明的Merkle树变体,每个MMR证明在当前区块高度处将前一个区块的哈希散列值追加到当前的MMR证明中,并在当前区块头中记录更新后的MMR根,并且第一全节点在其当前区块头中标注跨链验证请求及其所持有区块长度、区块个数声明;
2)第一轻节点根据概率密度函数从全节点中随机抽取对数个区块头进行验证,并在抽取过程中预设抽取概率,指定靠近当前区块头的概率为1,对于每个被抽取的区块,其所在全节点提供相应的区块头和相应MMR证明;
3)第一轻节点检查抽取到的每个区块头中的MMR根是否提交到当前区块的MMR子树中,若存在则说明当前区块经抽取到的每个前区块共识,该全节点在最长区块链上,则进一步进行跨链交易;
4)若不存在则说明该全节点未在最长区块链中,属于无效区块链,则拒绝启动跨链交易。
而MMR (Merkle Mountain Range)证明是Peter Todd提出的一种Merkle tree,长相类似一组连续的山峰组成,其被设计为节点插入后就不能被修改,支持动态插入。对于普通Merkle树对于每个新加入节点都需要重新计算merkle root,如果节点数量很大的话这个计算量会非常巨大,而MMR支持动态加入新节点并计算root。MMR可以极大的减少merkle证明的数据量,可以大幅度的减轻存储和网络的负担,提升验证效率。
进一步地,同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通,具体如下:
第一全节点和第二全节点以及Sync同步工具分别进行二进制码转化,转化成二进制码,避免人为识别信息,转化成计算机可识别语言,将转化后的二进制码采用同一配置打包处理,形成跨链桥,也就是用将第一全节点和第二全节点以及Sync同步工具编写在同一套程序中,部署在同一个服务器中,形成全新的跨链桥程序;在第一区块链和第二区块链所属的区块链集合中,不同的区块链持有不同的全节点,不同的全节点关联Sync同步工具形成不同的跨链桥;集合多个跨链桥,利用Kubernetes工具对多个跨链桥进行集群化管理,每个跨链桥独立运行在所述集群中,确保整个多链网络联通,响应跨链请求启动所述集群内的相应跨链桥进行跨链交易。
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展,使用Kubernetes只需一个部署文件,使用一条命令就可以部署多层容器(前端,后台等)的完整集群。利用Kubernetes工具对多个跨链桥进行集群化管理,实现多个跨链桥一键部署,方便多链跨链桥的运行管理。当多链中任一区块链中存在跨链需求时,启动其所属的跨链桥运行轻节点验证及全节点执行跨链交易,实现多链跨链互通。
特别地,还包括第一区块链和第二区块链根据实际跨链需求可进行角色互换;Sync同步工具在第一区块链和第二区块链间进行双向跨链交易事务传递。
也就是说根据实际跨链需求,第一区块链可以作为跨链目标链的多链集合,以及其第一全节点和第一轻节点作为目标链的节点参与作用;第二区块链也可以作为跨链来源链的多链集合,同样其关联的第二全节点和第二轻节点作为来源链的节点参与作用;Sync同步工具可以进行双向同步传递,可以将第一区块链跨链通信信息传递至第二区块链中,同样也可以将第二区块链的跨链通信信息传递至第一区块链中。
本发明设计一种实现多链互通的跨链方法及系统,具有以下优势:
(1)利用轻节点验证和Sync同步工具传递跨链消息,实现双向跨链;
(2)轻节点参与FlyClient协议,验证最长区块链保障跨链交易的安全性;
(3)压缩轻节点存储空间统一部署全节点和Sync同步工具形成跨链桥,并利用Kubernetes工具对多个跨链桥集群化管理实现多链跨链互通。
附图说明
图1为本发明多链跨链整体流程示意图;
图2为本发明跨链桥示意图;
图3为本发明集群化管理架构图;
图4为本发明跨链互通实施流程图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
实施例1
本发明提出了一种实现多链互通的跨链方法,引入轻节点验证、Sync同步工具及集群管理等,整体流程图如图1所示,其具体实现方案具体如下:
在第一区块链和第二区块链互埋对方轻节点,即在第一区块链中部署第二区块链的第二轻节点,所述第二轻节点实时记录第二区块链的区块头信息,包含第二区块链的上一个区块的哈希值(PreHash),当前区块体的哈希值(Hash),以及时间戳(TimeStamp),在第二区块链中部署第一区块链的第一轻节点,第一轻节点实时记录第一区块链的区块头信息,包含第一区块链的上一个区块的哈希值(PreHash),当前区块体的哈希值(Hash),以及时间戳(TimeStamp)。
如图2所示,在第一区块链和第二区块链之间设置Sync同步工具,所述Sync同步工具关联第一区块链的第一全节点和第二区块链第二全节点,第一全节点将跨链交易事务经Sync同步工具传递至第二全节点执行跨链交易;其中,第一全节点是第一区块链同步到最高块的全节点,与第二轻节点关联;第二全节点是第二区块链同步到最高块的全节点,与第一轻节点关联。
采用同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,即第一全节点和第二全节点以及Sync同步工具分别进行二进制码转化,将转化后的二进制码采用同一配置打包处理,形成跨链桥;
如图3所示,集合跨链桥AB、跨链桥CD、跨链桥EF等多个跨链桥,其中每个跨链桥连接某个第一区块链和第二区块链的全节点,比如跨链桥AB是利用Sync同步工具连接第一区块链A的全节点A和第二区块链B的全节点B,利用Kubernetes工具对这多个跨链桥进行集群化管理,每个跨链桥独立运行在所述集群中,响应跨链请求启动所述集群内的相应跨链桥进行跨链交易。
另外,Sync同步工具在第一区块链和第二区块链间进行双向跨链交易事务传递,第一区块链可以作为跨链目标链,第二区块链也可以作为跨链来源链。
具体实施例2:
设定第一区块链A与第二区块链B发生跨链交易,其中在区块链A上部署区块链B的第一轻节点b,轻节点b与区块链A中的全节点[A]相关联;在区块链B上部署区块链A的第一轻节点a,轻节点a与区块链B中的全节点[B]相关联;轻节点a实时记录区块链A中全节点[A]产生的区块头,轻节点b实时记录区块链B中全节点[B]产生的区块头;统一配置全节点[A]和[B]以及Sync同步工具,形成跨链桥,执行跨链交易,具体流程如下:
如图4所示,区块链A中用户发出与区块链B上的跨链请求,响应跨链请求,全节点[A]形成跨链交易事务Tx和跨链信息哈希H分别存储在区块链A的区块体和区块头中,并将跨链交易事务Tx形成跨链通信消息经Sync同步工具传送至全节点[B];
首先进行跨链信息真实性验证,具体如下:
轻节点a从当前区块头所在的全节点[A]中获取待验证的跨链信息对应的默克尔树证明(Merkle Proof);根据Merkle Proof进行哈希计算,计算出其对应的的哈希根值hash root,将计算结果与其存储在当前区块头中的Merkle Root进行比较;
若一致则确认跨链信息真实存在在当前区块头中,进一步进行区块跨链共识确认:
全节点[A]在其所持有的每个区块中添加MMR证明的Merkle树变体,每个MMR证明在当前区块高度处将前一个区块的哈希散列值追加到当前的MMR证明中,并在当前区块头中记录更新后的MMR根;
全节点[A]在其当前区块头中标注跨链验证请求并声明其所持有区块长度h、区块个数N;
轻节点a记录包含跨链信息哈希H的当前区块头,响应跨链验证请求,首先验证跨链信息是否在区块链A的最长区块链上:
轻节点a根据概率密度函数g(x)从全节点[A]中随机抽取logN个区块头进行验证,并在抽取过程中预设靠近当前区块头的n(n<N)个区块头的抽取概率为1,保证靠近当前区块头的前n个区块均可抽取到,对于每个被抽取的区块,提供相应的区块头和相应MMR证明(MMR Proof);
第一轻节点验证抽取到的每个区块头中的MMR Root是否提交到当前区块的MMR子树中,即受否存在在相应MMR Proof中,具体验证过程如下:
在MMR Proof中查找是否存在与抽取到的每个区块头中的MMR Root相一致的Root峰值,若分别找到且一一对应,则说明MMR Root存在在相应MMR Proof中,即当前区块记录了被抽取到的每个前区块的哈希信息,若存在则说明当前区块在最大程度上属于经历最大共识的区块,该全节点[A]在最长区块链上也就是区块链A的主链上。
此时,轻节点a将跨链真实性和共识验证结果反馈至关联的全节点[B];全节点[B]根据轻节点a的验证确认结果,利用之前收到的跨链交易事务Tx消息执行具体的跨链交易;
若轻节点a抽取到的每个区块头中的MMR Root有任一个与MMR Proof的Root峰值不一致,则说明MMR Root与相应MMR Proof不匹配,说明该全节点[A]不在最长区块链上也就是区块链A的主链上,属于无效区块链,则拒绝启动跨链交易。
若哈希根值hash root与Merkle Root不一致,则跨链信息不真实,轻节点反馈跨链信息验证失败,全节点[B]拒绝执行跨链交易。
在本发明中,利用当前比较新的MMR证明也就是超轻节点的技术,进一步优化轻节点,在轻节点验证跨链信息真实存在的前提下,进一步通过FlyClient协议检验跨链信息是否在合法的主链上(也就是面对链分叉的最长链上)是经过区块链的共识确认的。只有在主链区块上的跨链信息才能执行跨链交易,若是在分叉链上的跨链信息,即使该跨链信息经轻节点验证确实真实存在在链上,但由于区块链不可能允许多链分叉运行,除了主链,其他链均会被最终截断,此时跨链交易若被执行则存在跨链资产的损失,故增加FlyClient协议,利用MMR证明确认跨链信息在主链上可以进一步保障跨链交易的安全性,更加完善轻节点验证跨链信息。
在现有技术中,只能通过轻节点来验证跨链交易的存在,并不能真正的实施跨链事务,也就是没办法直接执行跨链交易,一般借助中继链或者专门的执行程序进行执行,即将轻节点部署在中继链上来验证跨链信息,并进一步在中继链上转接跨链交易事务。
本发明的重点是在两条有跨链需求的链上,相互部署对方的轻节点,而不需要中继链或其他中继程序,双方相互利用轻节点验证跨链信息,实现跨链信息的双向直接验证,然后借助Sync同步工具进行区块链跨链事务的实时备份传递,实现链与链之间进行点对点的跨链事务的执行。
也就是说轻节点验证跨链信息,Sync同步工具传递跨链事务,二者结合实现双链之间的跨链交易(验证+执行);进一步通过统一集群管理多个跨链桥(跨链桥就是上述的Sync与区块链全节点组成的结构),集群工具可以使集群内的跨链桥结构相互联通进行通信,也就是为多个跨链桥提供通信网络,确保整个多链网络通信联通,从而实现多链互通,多链中的任一一条链有跨链需求,均可在集群内快速关联到其相对应的跨链目标链,进行跨链交易。
实施例2:
一种实现多链互通的跨链系统,包括轻节点设置模块、调用传递模块及配置管理模块;
所述轻节点设置模块,用于在第一区块链和第二区块链互埋对方轻节点,并在第一区块链和第二区块链之间设置Sync同步工具;
所述调用传递模块,用于响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易;
所述配置管理模块,用于同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通。
具体地,所述轻节点设置模块被设置为:
在第一区块链中部署第二区块链的第二轻节点,在第二区块链中部署第一区块链的第一轻节点,所述第二轻节点实时记录第二区块链的区块头信息,第一轻节点实时记录第一区块链的区块头信息;其中所述第一区块链为跨链请求区块链的多链集合,所述第二区块链为跨链目标区块链的多链集合。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (6)
1.一种实现多链互通的跨链方法,其特征在于,具体如下:
在第一区块链和第二区块链互埋对方轻节点,并在第一区块链和第二区块链之间设置Sync同步工具,其中,在第一区块链中部署第二区块链的第二轻节点,在第二区块链中部署第一区块链的第一轻节点,所述第二轻节点实时记录第二区块链的区块头信息,第一轻节点实时记录第一区块链的区块头信息,所述第一区块链为跨链请求区块链的多链集合,所述第二区块链为跨链目标区块链的多链集合;
响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易,其中,基于TCP协议为Sync同步工具设置第一服务端和第二服务端,所述第一区块链包括第一全节点,所述第二区块链包括第二全节点,所述在第一区块链和第二区块链之间设置Sync同步工具,具体为:将第一服务端与第一区块链的第一全节点建立连接,将区块链第二服务端与第二全节点建立连接,其中,所述第一全节点和所述第二全节点分别设置与TCP协议相应的TCP端口,并且第一服务端和第二服务端分别记录第一全节点和第二全节点的区块存储地址;其中,所述第一全节点将跨链交易事务经Sync同步工具传递至第二全节点,具体步骤包括:响应跨链请求,第一全节点将第一区块链的跨链交易信息进行哈希计算,将包含其哈希值的Merkle树根存储区块头中,包含跨链交易事务及Merkle树体压缩打包成块文件存储在块体中;第二全节点依据其TCP端口向对应的Sync第二服务端请求备份第一区块链相关的跨链交易事务的块文件;响应第二全节点的备份请求,Sync第一服务端从第一全节点的区块存储地址中备份第一区块链相关的跨链交易事务的块文件,并经Sync第二服务端发送至第二全节点的区块存储地址中;
采用同一配置处理所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通。
2.根据权利要求1所述的实现多链互通的跨链方法,其特征在于,所述响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易,具体流程如下:
响应第一区块链跨链请求,第一全节点发送跨链验证请求至第一轻节点,第一轻节点从第一区块链区块头获取待验证的跨链信息对应的默克尔树哈希认证路径;根据哈希认证路径,计算默克尔树的根哈希值,将计算结果与其存储区块头中的默克尔树的根哈希值进行比较,若一致则跨链交易真实,第一轻节点将验证结果反馈至关联的第二全节点;
同时,第一全节点接收用户跨链交易事务,关联Sync同步工具将跨链交易事务备份至相关联的第二全节点;
第二全节点根据第一轻节点的跨链信息验证结果和接收的跨链交易事务进行执行跨链交易流转或支付。
3.根据权利要求2所述的实现多链互通的跨链方法,其特征在于,所述调用第一轻节点验证跨链信息,还包括第一轻节点参与FlyClient协议,利用MMR证明和概率区块采样协议验证跨链信息是否经最大共识存在最长区块链区块中, 具体如下:
为第一全节点在其所持有的每个区块中添加包含MMR证明的Merkle树,其中,所述MMR证明是在当前区块高度处将前一个区块的哈希散列值追加到当前的MMR证明中,并在当前区块头中记录更新后的MMR根;
第一轻节点根据概率密度函数从第一全节点中随机抽取对数个区块头进行验证,并在抽取过程中预设抽取概率,指定靠近当前区块头的概率为1,对于每个被抽取的区块,其所在全节点提供相应的区块头和相应MMR证明;
第一轻节点检查抽取到的每个区块头中的MMR根是否提交到当前区块的MMR子树中,若存在则说明当前区块包含抽取到的每个前区块共识的哈希信息,所述跨链信息在最长区块链上;
若不存在,则说明该跨链信息未在最长区块链中,属于无效区块链,则拒绝启动跨链交易。
4.根据权利要求1所述的实现多链互通的跨链方法,其特征在于,同一配置所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通,具体如下:
第一全节点和第二全节点以及Sync同步工具分别进行二进制码转化,将转化后的二进制码采用同一配置打包处理,形成跨链桥,集合多个跨链桥,利用Kubernetes工具对多个跨链桥进行集群化管理,每个跨链桥独立运行在所述集群中,响应跨链请求启动所述集群内的相应跨链桥进行跨链交易。
5.根据权利要求1-4任意一项所述的实现多链互通的跨链方法,其特征在于,还包括第一区块链和第二区块链根据实际跨链需求可进行角色互换;Sync同步工具在第一区块链和第二区块链间进行双向跨链交易事务传递。
6.一种实现多链互通的跨链系统,其特征在于,包括轻节点设置模块、调用传递模块及配置管理模块;
所述轻节点设置模块,用于在第一区块链和第二区块链互埋对方轻节点,并在第一区块链和第二区块链之间设置Sync同步工具,其中,在第一区块链中部署第二区块链的第二轻节点,在第二区块链中部署第一区块链的第一轻节点,所述第二轻节点实时记录第二区块链的区块头信息,第一轻节点实时记录第一区块链的区块头信息,所述第一区块链为跨链请求区块链的多链集合,所述第二区块链为跨链目标区块链的多链集合;
所述调用传递模块,用于响应第一区块链跨链请求,调用第一轻节点验证跨链信息,并利用Sync同步工具将第一区块链跨链交易事务传递至第二区块链执行跨链交易,其中,基于TCP协议为Sync同步工具设置第一服务端和第二服务端,所述第一区块链包括第一全节点,所述第二区块链包括第二全节点,所述在第一区块链和第二区块链之间设置Sync同步工具,具体为:将第一服务端与第一区块链的第一全节点建立连接,将区块链第二服务端与第二全节点建立连接,其中,所述第一全节点和所述第二全节点分别设置与TCP协议相应的TCP端口,并且第一服务端和第二服务端分别记录第一全节点和第二全节点的区块存储地址;其中,所述第一全节点将跨链交易事务经Sync同步工具传递至第二全节点,具体步骤包括:响应跨链请求,第一全节点将第一区块链的跨链交易信息进行哈希计算,将包含其哈希值的Merkle树根存储区块头中,包含跨链交易事务及Merkle树体压缩打包成块文件存储在块体中;第二全节点依据其TCP端口向对应的Sync第二服务端请求备份第一区块链相关的跨链交易事务的块文件;响应第二全节点的备份请求,Sync第一服务端从第一全节点的区块存储地址中备份第一区块链相关的跨链交易事务的块文件,并经Sync第二服务端发送至第二全节点的区块存储地址中;
所述配置管理模块,用于采用同一配置处理所述轻节点关联的区块链全节点和Sync同步工具形成跨链桥,利用集群工具统一管理多个跨链桥,实现多链跨链互通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110381525.4A CN113114759B (zh) | 2021-04-09 | 2021-04-09 | 一种实现多链互通的跨链方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110381525.4A CN113114759B (zh) | 2021-04-09 | 2021-04-09 | 一种实现多链互通的跨链方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114759A CN113114759A (zh) | 2021-07-13 |
CN113114759B true CN113114759B (zh) | 2022-06-10 |
Family
ID=76715168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110381525.4A Active CN113114759B (zh) | 2021-04-09 | 2021-04-09 | 一种实现多链互通的跨链方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114759B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407977B (zh) * | 2021-07-21 | 2022-06-10 | 杭州链网科技有限公司 | 基于聚合签名的跨链扩展方法及系统 |
CN113572643B (zh) * | 2021-07-24 | 2024-04-26 | 上海边界智能科技有限公司 | 一种基于容器化技术的区块链多链及跨链网络的部署方法 |
CN113987568B (zh) * | 2021-10-13 | 2024-04-23 | 普洛斯科技(重庆)有限公司 | 基于Hyperledger Fabric的基础跨链方法、装置、设备和介质 |
CN114301912A (zh) * | 2021-12-23 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的信息交互方法和装置 |
CN114499872B (zh) * | 2021-12-24 | 2024-05-28 | 浪潮工业互联网股份有限公司 | 一种基于工业互联网的星火链跨链方法及设备 |
CN114006911B (zh) * | 2021-12-31 | 2022-04-26 | 杭州趣链科技有限公司 | 数据处理方法、装置、终端设备及存储介质 |
CN114841818B (zh) * | 2022-04-18 | 2023-06-16 | 北京交通大学 | 一种基于跨链技术的定制化车险竞价隐私保护方法 |
CN114900319B (zh) * | 2022-06-13 | 2023-08-01 | 中国科学院软件研究所 | 一种区块链交易验证方法和系统 |
CN115914240B (zh) * | 2023-01-06 | 2023-05-26 | 江苏荣泽信息科技股份有限公司 | 一种基于dns解析的跨链事务模版管理系统 |
CN117376352B (zh) * | 2023-10-07 | 2024-03-12 | 山东山科智能科技有限公司 | 基于区块链的物联网系统 |
CN117132279B (zh) * | 2023-10-26 | 2024-01-23 | 山东大学 | 一种区块链双链记账方法、系统、设备及介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984784B (zh) * | 2018-07-26 | 2020-04-14 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的应用实现方法、装置、设备和存储介质 |
CN109189853B (zh) * | 2018-08-08 | 2021-05-28 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN110008686B (zh) * | 2018-11-16 | 2020-12-04 | 创新先进技术有限公司 | 跨区块链的数据处理方法、装置、客户端、区块链系统 |
CN110650189B (zh) * | 2019-09-20 | 2022-01-18 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN111047445B (zh) * | 2019-12-11 | 2023-04-07 | 深圳区块大陆科技有限公司 | 一种完全去中心化的侧链跨链方法 |
CN111159293B (zh) * | 2019-12-25 | 2023-06-20 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
CN111585767B (zh) * | 2020-04-30 | 2023-04-07 | 卓尔智联(武汉)研究院有限公司 | 一种主链和侧链的数据交换方法及装置 |
CN111666323B (zh) * | 2020-05-15 | 2023-05-23 | 西安纸贵互联网科技有限公司 | 区块链的跨链互通方法及系统 |
CN111769957B (zh) * | 2020-09-02 | 2020-12-15 | 百度在线网络技术(北京)有限公司 | 区块链跨链查询方法、装置、设备和存储介质 |
CN112351019B (zh) * | 2020-10-29 | 2021-08-13 | 北京邮电大学 | 一种身份认证系统及方法 |
-
2021
- 2021-04-09 CN CN202110381525.4A patent/CN113114759B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113114759A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113114759B (zh) | 一种实现多链互通的跨链方法及系统 | |
CN114079660B (zh) | 一种高性能分布式存储区块数据、时间戳、跨链通信与数据协同方法 | |
CN110990408B (zh) | 基于区块链的业务信息协同方法、业务系统及联盟链 | |
TWI724780B (zh) | 用於區塊鏈系統中的主節點切換處理的方法及裝置 | |
CN110868438B (zh) | 一种区块链网络系统 | |
CN113407640B (zh) | 基于多链nft跨链方法及系统 | |
CN110175840B (zh) | 联盟链中实现轻钱包机制的方法、客户端、联盟链及系统 | |
CN110009201B (zh) | 一种基于区块链技术的电力数据链接系统及方法 | |
CN112270550A (zh) | 一种基于区块链的新能源电力溯源方法及系统 | |
CN112866380B (zh) | 一种基于区块链的链网架构 | |
CN112861172B (zh) | 基于pbft共识机制的对称可搜索加密方法 | |
WO2023011019A1 (zh) | 基于区块链的数据处理方法、装置、设备、可读存储介质及计算机程序产品 | |
CN112417466A (zh) | 一种基于区块链的电子档案文件存证与验证的方法及系统 | |
CN111861459A (zh) | 一种基于DPoS共识算法的Iota账本优化系统及方法 | |
CN111447068B (zh) | 一种基于区块链的授时存证方法 | |
CN113127562A (zh) | 一种低冗余区块链数据存储和检索方法及系统 | |
CN114172655B (zh) | 一种安全多方计算数据系统、方法、设备及数据处理终端 | |
CN111797171A (zh) | 一种基于区块链跨链技术的数据同步系统 | |
CN113922996B (zh) | 一种基于跨区块链技术的电子学籍档案隐私保护方法 | |
CN113256470A (zh) | 一种基于区块链的武器装备管理系统及方法 | |
CN111414421B (zh) | 一种分段式区块链存储方法和存储装置 | |
CN111414417B (zh) | 一种基于区块链的视频版权管理方法 | |
CN112329029A (zh) | 一种基于区块链的电子档案文件安全存储的方法及系统 | |
CN110648140B (zh) | 一种基于区块链的多链配合方法及装置 | |
CN113766007A (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 |