CN113886487A - 一种消息传递方法、系统、介质、设备及移动终端 - Google Patents
一种消息传递方法、系统、介质、设备及移动终端 Download PDFInfo
- Publication number
- CN113886487A CN113886487A CN202111007783.2A CN202111007783A CN113886487A CN 113886487 A CN113886487 A CN 113886487A CN 202111007783 A CN202111007783 A CN 202111007783A CN 113886487 A CN113886487 A CN 113886487A
- Authority
- CN
- China
- Prior art keywords
- message
- chain
- request message
- cross
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 title claims abstract description 27
- 238000004806 packaging method and process Methods 0.000 claims abstract description 62
- 238000001914 filtration Methods 0.000 claims abstract description 25
- 238000005538 encapsulation Methods 0.000 claims abstract description 18
- 238000012423 maintenance Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 19
- 238000012856 packing Methods 0.000 abstract description 9
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 20
- 229910052799 carbon Inorganic materials 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 8
- 238000002716 delivery method Methods 0.000 description 7
- 230000007547 defect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于区块链应用技术领域,公开了一种消息传递方法、系统、介质、设备及移动终端,所述消息传递方法包括:进行跨链系统的初始化;进行跨链请求消息的打包和发送;进行跨链回复消息的打包和发送。本发明提供的消息传递方法,通过跨链系统的初始化、跨链请求消息的打包和发送、跨链回复消息的打包和发送步骤,链与链之间的消息成功的进行了请求,发送,过滤,回复和接收。本发明通过设计中继节点的选举方式和消息封装的方式,从而完成了特定交易场景下跨链消息的打包和过滤;通过对跨链消息的统一封装,解决了现有跨链过程无法和大量数据流动场景融合的问题。本发明将链与链之间传递的消息用统一且规范的方式进行封装,提高了系统的效率。
Description
技术领域
本发明属于区块链应用技术领域,尤其涉及一种消息传递方法、系统、介质、设备及移动终端。
背景技术
目前,跨链是指通过特定的连接方式,实现独立运行的多个区块链之间的信息及价值流动、交换及同步的行为。跨链技术的出现打破了以往不同区块链之间数据相互隔阂的问题。目前主流的跨链技术可分为三种:公证人机制、哈希锁定和侧链/中继技术。公证人机制是最简单的模式,这时候需要中间人(公证人),成为可信第三方,公证人不断地进行数据收集,进行交易确认和验证,这种机制比较容易操作,缺点是容易产生中心化。哈希锁定是两人之间通过公用的一个密码获取资产,使用时间锁和智能合约保证交易的原子性,哈希锁定的缺点是应用场景比较受限制。侧链/中继技术适用于链接两个异构或同构区块链,和公证人模式相比,该模式不依赖可信第三方的验证判断,中继链仅进行了信息收集操作,具体的验证工作由链本身来进行,根据技术路线不同,可能存在较大的区别。
综合目前跨链技术的发展情况来看,跨链的操作大部分都是基于链上资产进行设计的,但是区块链中所存储的信息并不仅仅是资产这一种信息,传统的跨链过程中,链与链之间往往传递的仅仅只是交易资产信息并且对跨链的信息没有进行任何的过滤,而在实际跨链消息传递的过程中,涉及到的交易信息多种多样。因此,亟需对跨链技术进行设计,让跨链信息传递的过程能够满足交易场景。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有公证人机制容易产生中心化,而哈希锁定的应用场景比较受限制。
(2)侧链/中继技术不依赖可信第三方的验证判断,中继链仅进行信息收集操作,具体的验证工作由链本身来进行,根据技术路线不同,存在较大区别。
(3)传统的跨链过程中,链与链之间往往传递的仅仅只是交易资产信息并且对跨链的信息没有进行任何的过滤,而在实际跨链消息传递的过程中,涉及到的交易信息多种多样。
解决以上问题及缺陷的难度为:目前区块链平台技术实现上存在多维异构性,在应用和数据上存在“孤岛效应”,不同区块链的底层架构不同,不同区块链平台的数据结构设计各不相同,难以便捷地跨平台联通协作。跨链消息使用哪种传递方式难以确定,针对不同业务场景很难有一种跨链消息传递的方式实现跨链消息的互通。所以如何对跨链消息进行统一的设计还存在很大困难。
解决以上问题及缺陷的意义为:目前的跨链方案仅适用于面向数字资产的跨链转移场景,难以扩展涵盖到更为广阔的应用场景。解决以上问题可以不仅可以实现主流区块链平台之间的互通、互认、互联,还能解决多种复杂场景下的跨链消息传递,从而真正的解决不同区块链之间相互隔阂,信息无法交流传递的问题。
发明内容
针对现有技术存在的问题,本发明提供了一种消息传递方法、系统、介质、设备及移动终端,尤其涉及一种区块链跨链过程中的基于中继跨链模式的消息传递方法、系统、介质、设备及移动终端。
本发明是这样实现的,一种消息传递方法,所述消息传递方法包括以下步骤:
步骤一,进行跨链系统的初始化;
通过步骤一可以完成链与链之间的连接。步骤一完成了节点身份的确认和中继节点的选取,从而让不同区块链之间实现了物理上的连接,是下一步进行消息的传递的基础。
步骤二,进行跨链请求消息的打包和发送;
消息的传递需要有请求和回复,通过步骤二可以完成对请求消息的统一封装,经过了步骤一链与链之间的连接后,将请求消息从请求方发送到接受方,以便接受方对消息进行请求消息进行读取和回复。
步骤三,进行跨链回复消息的打包和发送。
在经过了步骤二之后请求消息已经被读取,在步骤三中接受方根据读取的请求消息进行筛选过滤,然后读取本链上对应的数据,将该数据打包封装后发送给请求方。至此完成链与链之间的消息传递。
进一步,步骤一中,所述跨链系统的初始化,包括:
(1)节点生成模块为每个区块链生成独立id,每个区块链内部的节点生成各自的节点证书;
(2)节点生成模块为每个区块链选择中继节点;
(3)所有中继节点在选取完成后会形成一个路由表,并广播到所有区块链节点后,路由表维护模块对路由表进行维护和更新。
进一步,所述独立id用于与其他区块链进行区分和标识;
所述中继节点的作用是将本链中的数据广播给其他区块链,同时接收来自其他区块链的消息广播到本区块链中。
进一步,步骤二中,所述跨链请求消息的打包和发送,包括:
(1)如果一个区块链需要请求另一个区块链的数据,则需要将自己的请求消息进行打包;
(2)消息封装模块在完成请求消息的打包后,消息发送模块根据中继节点生成模块生成的路由表查询到发送请求消息区块链中的中继节点;
(3)随机选取其中一个中继节点将请求消息通过路由广播给其他区块链的中继节点。
进一步,所述打包后的消息格式,包括源链id、目标链id、节点证书信息、request消息标识以及所需请求的消息标识key;其中,所述request消息标识用于表明这是一条请求消息。
进一步,步骤三中,所述跨链回复消息的打包和发送,包括:
在跨链请求消息的打包和发送后,接收节点首先需要对请求消息进行过滤,然后对回复消息进行统一的封装和发送,包括:
(1)中继节点收到请求消息后消息过滤模块对消息进行解析,如果请求消息中的目标链id不为本区块链,则不进行下一步操作;如果请求消息中的目标链id为本区块链,则对请求消息中的节点证书信息和key值进行读取;如果不满足本链要求则拒绝接收请求消息,如果满足本链要求则对请求的本链消息进行包装,此步骤完成对跨链消息的过滤;
(2)消息过滤模块完成消息过滤后,回复消息封装模块则会根据请求消息中的key读取本链中对应存储的信息,并对消息进行统一封装;
(3)回复消息封装模块在完成回复消息的打包后,回复消息发送模块通过路由表维护模块查询到本链中的中继节点,随机选取其中一个中继节点将请求消息通过路由广播给其他区块链的中继节点,与发送消息不同的是回复消息需要经过所有中继节点的验证后才可以被接收,使用的是回复消息中value的哈希值对消息进行spv验证,验证通过后回复消息会被原发送请求消息的区块链中继节点解析接收并广播到发送请求的区块链中。
进一步,所述封装格式,包括源链id、目标链id、节点证书信息、response消息标识、本链读取的信息value以及对应的哈希值;其中,所述response消息标识用于表明这是一条回复消息。
本发明的另一目的在于提供一种应用所述的消息传递方法的消息传递系统,所述消息传递系统,包括跨链系统初始化子系统、跨链请求消息打包和发送子系统、以及跨链回复消息打包和发送子系统。
其中,所述跨链系统初始化子系统,包括节点生成模块和路由表维护模块;所述节点生成模块,用于为每个区块链生成独立id,为每个区块链选择中继节点;所述路由表维护模块,用于对路由表进行维护和更新。
所述跨链请求消息打包和发送子系统,包括消息封装模块和消息发送模块;其中,所述消息封装模块,用于完成请求消息打包;所述消息发送模块,用于根据中继节点生成模块生成的路由表查询到发送请求消息区块链中的中继节点,并随机选取中继节点将请求消息通过路由广播给其他区块链的中继节点。
所述跨链回复消息打包和发送子系统,包括请求消息过滤模块、回复消息封装模块和回复消息发送模块;其中,所述请求消息过滤模块,用于在中继节点收到请求消息后对消息进行解析,并判断是否满足要求;所述回复消息封装模块,用于根据请求消息中的key读取本链中对应存储的信息,并对消息进行统一封装;所述回复消息发送模块,用于通过路由表维护模块查询到本链中的中继节点,随机选取中继节点将请求消息通过路由广播给其他区块链的中继节点。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
(1)进行跨链系统的初始化;
(2)进行跨链请求消息的打包和发送;
(3)进行跨链回复消息的打包和发送。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的消息传递系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的消息传递方法,通过跨链系统的初始化、跨链请求消息的打包和发送、跨链回复消息的打包和发送步骤,链与链之间的消息成功的进行了请求,发送,过滤,回复和接收。本发明通过设计中继节点的选举方式和消息封装的方式,从而完成特定交易场景下跨链消息的打包和过滤;通过对跨链消息的统一封装,解决了现有跨链过程无法和大量数据流动场景融合的问题。
本发明设计了一种跨链过程中链与链之间消息传递的一种方式。在以往的跨链过程中往往都是基于资产交易信息的传递,而本发明不仅可以传递资产信息,传递的信息类型是不受限制的,把跨链的资源交互从资产的范围上升到了信息的范围。中继节点是跨链过程中的核心,本发明中继节点的选举使用的是随机加轮回的方式,既保证了系统的安全性又保证了公正性。本发明将链与链之间传递的消息用统一且规范的方式进行封装,区分出了请求消息和回复消息,请求消息无需经过共识验证发送,提高了系统的效率。并且接收方可以通过请求消息的封装内容对请求消息进行识别过滤,可以防止跨链过程消息请求方作恶,提高了跨链的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的消息传递方法流程图。
图2是本发明实施例提供的消息传递方法原理图。
图3是本发明实施例提供的消息传递系统结构示意图。
图4是本发明实施例提供的应用场景示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种消息传递方法、系统、介质、设备及移动终端,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的消息传递方法包括以下步骤:
S101,进行跨链系统的初始化;
S102,进行跨链请求消息的打包和发送;
S103,进行跨链回复消息的打包和发送。
本发明实施例提供的消息传递方法原理图如图2所示。
如图3所示,本发明实施例提供的消息传递系统,包括跨链系统初始化子系统、跨链请求消息打包和发送子系统、以及跨链回复消息打包和发送子系统。
跨链系统初始化子系统,包括节点生成模块和路由表维护模块;所述节点生成模块,用于为每个区块链生成独立id,为每个区块链选择中继节点;所述路由表维护模块,用于对路由表进行维护和更新。
跨链请求消息打包和发送子系统,包括消息封装模块和消息发送模块;其中,所述消息封装模块,用于完成请求消息打包;所述消息发送模块,用于根据中继节点生成模块生成的路由表查询到发送请求消息区块链中的中继节点,并随机选取中继节点将请求消息通过路由广播给其他区块链的中继节点。
跨链回复消息打包和发送子系统,包括请求消息过滤模块、回复消息封装模块和回复消息发送模块;其中,所述请求消息过滤模块,用于在中继节点收到请求消息后对消息进行解析,并判断是否满足要求;所述回复消息封装模块,用于根据请求消息中的key读取本链中对应存储的信息,并对消息进行统一封装;所述回复消息发送模块,用于过路由表维护模块查询到本链中的中继节点,随机选取中继节点将请求消息通过路由广播给其他区块链的中继节点。
下面结合具体实施例对本发明的技术方案作进一步描述。
实施例1
本发明提供了一种区块链跨链过程中消息传递的方法,通过对跨链消息的统一封装,解决了现有跨链过程无法和大量数据流动场景融合的问题。
技术方案:
本发明的方案分为三个部分:
1.跨链系统初始化
2.跨链请求消息的打包和发送
3.跨链回复消息的打包和发送
下面分别介绍
1.跨链系统初始化
该部分中涉及的模块有节点生成模块、路由表维护模块。
S101,节点生成模块为每个区块链生成独立id(用于与其他区块链进行区分和标识),每个区块链内部的节点生成各自的节点证书。
S102,节点生成模块为每个区块链选择中继节点,中继节点的选举采用随机加轮回的方式。中继节点的作用是将本链中的数据广播给其他区块链,同时也可以接收来自其他区块链的消息广播到本区块链中。
S103,所有中继节点在选取完成后会形成一个路由表,并广播到所有区块链节点,以便其他节点和中继节点进行通信。之后路由表维护模块会对路由表进行维护和更新。
2.跨链请求消息的打包和发送
在第一部分跨链系统初始化之后,链与链之间的连接已经建立,现在需要对发送的消息进行统一的规定以便发送。这个部分包括消息封装模块和消息发送模块。
S201,如果一个区块链需要请求另一个区块链的数据,它需要将自己的请求消息进行打包,打包后的消息格式包括源链id,目标链id,节点证书信息,request消息标识(表明这是一条请求消息)和所需请求的消息标识key。
S202,消息封装模块在完成了请求消息的打包之后,消息发送模块便会根据中继节点生成模块生成的路由表查询到发送请求消息区块链中的中继节点。
S203,随机选取其中一个中继节点将请求消息通过路由广播给其他区块链的中继节点。
3.跨链回复消息的打包和发送
在跨链请求消息的打包和发送之后,接收节点首先需要对请求消息进行过滤,然后对回复消息进行统一的封装和发送。这个部分包括请求消息过滤模块,回复消息封装模块和回复消息发送模块。
S301,中继节点收到请求消息后消息过滤模块对消息进行解析,如果请求消息中的目标链id不为本区块链,则不进行下一步操作,如果请求消息中的目标链id为本区块链,则对请求消息中的节点证书信息和key值进行读取,如果不满足本链要求则拒绝接收请求消息,如果满足本链要求则对请求的本链消息进行包装,此步骤完成了对跨链消息的过滤。
S302,消息过滤模块完成消息过滤后,回复消息封装模块则会根据请求消息中的key读取本链中对应存储的信息,并对消息进行统一封装,封装格式包括源链id,目标链id,节点证书信息,response消息标识(表明这是一条回复消息),本链读取的信息value和对应的哈希值。
S303,回复消息封装模块在完成了回复消息的打包之后,回复消息发送模块通过路由表维护模块查询到本链中的中继节点,随机选取其中一个中继节点将请求消息通过路由广播给其他区块链的中继节点,与发送消息不同的是回复消息需要经过所有中继节点的验证后才可以被接收,使用的是回复消息中value的哈希值对消息进行spv验证,验证通过后回复消息会被原发送请求消息的区块链中继节点解析接收并广播到发送请求的区块链中。
根据上述步骤,链与链之间的消息成功的进行了请求,发送,过滤,回复和接收。
本发明设计了一种跨链过程中链与链之间消息传递的一种方式。在以往的跨链过程中往往都是基于资产交易信息的传递,而本发明不仅可以传递资产信息,传递的信息类型是不受限制的,把跨链的资源交互从资产的范围上升到了信息的范围。
中继节点是跨链过程中的核心,本方案中继节点的选举使用的是随机加轮回的方式,既保证了系统的安全性又保证了公正性。
将链与链之间传递的消息用统一且规范的方式进行封装,区分出了请求消息和回复消息,请求消息无需经过共识验证发送,提高了系统的效率。并且接收方可以通过请求消息的封装内容对请求消息进行识别过滤,可以防止跨链过程消息请求方作恶,提高了跨链的安全性。
实施例2
本发明以碳交易场景为例,整个过程涉及能源流,交易数据流,以及业务消息流等,具体的场景如图4所示。
步骤一:这里涉及的部门包括政府,相关企业和监管部门,根据数据存储的需要涉及三条区块链。政府区块链中记录着各个企业的碳排量额度还有政府的一些政府内部数据,企业链区块链中记录着企业之间碳资产的交易信息,监管部门区块链中通过物联网设备记录着碳交易能源的产生、运输和使用去向。搭建完成后每个节点生成模块为每个区块链生成唯一id标识,如表1所示。
表1每个区块链的唯一id标识
区块链 | 所选平台 | ID标识 | 包含信息 |
政府区块链 | Hyperledgerfabric | 01 | 碳排量额度,政府内部数据 |
企业区块链 | FISCOBCOS | 02 | 碳资产的交易信息 |
监管部门区块链 | EEAQuorum | 03 | 能源信息 |
步骤二:根据步骤一建立的异构区块链选取中继节点。假设需要三十个中继节点,规定政府,企业和监管部门的节点各占其中三分之一,也就是说每条区块链选出十个节点充当中继节点的角色,此举可以保证三条区块链之间相互平衡,防止作恶。而每条区块链内部通过轮回和随机抽选的方式进行中继节点的选举,每隔一段设定的时间周期T进行一次中继节点的更换,其中五个中继节点按照预定的顺序进行更换,剩下五个中继节点按照随机抽取的方式进行选举更换,这样的方式既可以保证每个节点都可以充当中继节点的角色,又保证了选举的随机性。选举完成后会建立一个中继节点的路由表并全网广播,路由表如表2所示。
表2路由表
中继节点编号 | 所属区块链id | IP | 端口 |
001 | 01(政府区块链) | 115.28.136.132 | 8011 |
002 | 01(政府区块链) | 116.36.33.136 | 8011 |
003 | 02(企业区块链) | 113.140.11.125 | 8011 |
004 | 03(监管部门区块链) | 115.32.142.140 | 8011 |
…… | …… | …… | …… |
步骤三:步骤一和步骤二完成了跨链系统的初始化,现在可以通过消息封装模块对请求消息进行统一格式的打包。假设A企业需要向政府区块链查询本企业的碳排放额度,A企业可以通过本企业在企业区块链中的节点进行消息封装,key值即为Carbon CreditofA,表明查询的是A企业的碳排放额度,如表3所示。
表3请求消息的封装格式1
假设政府需要向监管部门区块链查询A企业的碳排放是否合乎标准,key值则更改为Carbon emissions ofA,表明查询的是通过物联网设备记录的A企业的实际碳排放额度,如表4所示。
表4请求消息的封装格式2
步骤四:假设A企业已经在节点上将请求消息封装完成,现在需要通过消息发送模块对封装完成的消息进行发送。A企业节点通过中继节点路由表找到本链中所有中继节点,并随机挑选其中一个将封装后的消息发送到该中继节点(例如步骤一中的003节点,通过003节点的ip地址113.140.11.125进行发送)。该中继设政府区块链已经接节点继续通过查询中继节点路由表,将请求消息发送至政府区块链中继节点。政府假如需要向监管部门区块链发送请求消息的步骤与上述方式相同。
步骤五:假设收到了A企业的请求消息,现在需要通过消息过滤模块对A企业的请求消息进行分析过滤。对该消息进行解析,检查消息中是否包含A企业的证书,检查A企业对所查询的信息是否具有查询权限(这里查询的是A企业的碳排放额度,A企业具有该权限),如果不满足,则对这条请求消息拒绝接收。通过这种消息过滤的步骤保证了政府区块链的一些政府内部数据不会被其他区块链所截获。
步骤六:消息过滤模块识别出A企业的请求消息为A企业的碳排放额度后,政府根据A企业请求消息中的key值在本链查询到A企业的碳排放额度后,将该消息进行封装。例如查询到的A企业碳排放额度为1000吨,则对该消息的封装格式如表5所示。
表5回复消息的封装格式
步骤七:政府区块链将回复消息封装完成后,通过中继节点路由表找到政府区块链中所有中继节点,并随机挑选其中一个将封装后的消息发送到该中继节点(例如步骤一中的001中继节点,通过001节点的ip地址115.28.136.132进行发送),该中继节点通过路由表将消息广播给所有中继节点。因为该消息具有response标识,所以需要使用spv验证技术对消息进行验证,如果消息经过所有中继节点的spv验证后表明该消息属于政府区块链的数据,且未被篡改,则企业区块链中继节点会将该消息发送给A企业区块链节点。
步骤八:相关企业在政府链上查询到自己的额度之后,便可以根据额度通过企业区块链进行相关的碳资产交易,碳资产的价格由相关企业协商规定并公布在企业区块链中。企业区块链交易的所有信息包括交易资产的来源去向,碳资产的转入和转出均记录在企业区块链中进行存储,保证交易过程的透明和公正。政府区块链和监管部门区块链可以通过请求消息对企业区块链中的交易信息进行查看和监督。
这里仅以企业区块链和政府区块链之间跨链消息通信为例,当然企业区块链和监管部门区块链之间,政府区块链和监管部门区块链之间都可以经过这种方式进行跨链通信,每条区块链存储的消息各不相同,方便管理。
本具体实施方式只是以碳交易场景进行举例,实际上涉及跨链的任何场景均可用本发明进行链与链之间的消息传递。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种消息传递方法,其特征在于,所述消息传递方法包括以下步骤:
步骤一,进行跨链系统的初始化;
步骤二,进行跨链请求消息的打包和发送;
步骤三,进行跨链回复消息的打包和发送。
2.如权利要求1所述的消息传递方法,其特征在于,步骤一中,所述跨链系统的初始化,包括:
(1)节点生成模块为每个区块链生成独立id,每个区块链内部的节点生成各自的节点证书;
(2)节点生成模块为每个区块链选择中继节点;
(3)所有中继节点在选取完成后会形成一个路由表,并广播到所有区块链节点后,路由表维护模块对路由表进行维护和更新。
3.如权利要求2所述的消息传递方法,其特征在于,所述独立id用于与其他区块链进行区分和标识;
所述中继节点的作用是将本链中的数据广播给其他区块链,同时接收来自其他区块链的消息广播到本区块链中。
4.如权利要求1所述的消息传递方法,其特征在于,步骤二中,所述跨链请求消息的打包和发送,包括:
(1)如果一个区块链需要请求另一个区块链的数据,则需要将自己的请求消息进行打包;
(2)消息封装模块在完成请求消息的打包后,消息发送模块根据中继节点生成模块生成的路由表查询到发送请求消息区块链中的中继节点;
(3)随机选取其中一个中继节点将请求消息通过路由广播给其他区块链的中继节点。
5.如权利要求4所述的消息传递方法,其特征在于,所述打包后的消息格式,包括源链id、目标链id、节点证书信息、request消息标识以及所需请求的消息标识key;其中,所述request消息标识用于表明这是一条请求消息。
6.如权利要求1所述的消息传递方法,其特征在于,步骤三中,所述跨链回复消息的打包和发送,包括:
在跨链请求消息的打包和发送后,接收节点首先需要对请求消息进行过滤,然后对回复消息进行统一的封装和发送,包括:
(1)中继节点收到请求消息后消息过滤模块对消息进行解析,如果请求消息中的目标链id不为本区块链,则不进行下一步操作;如果请求消息中的目标链id为本区块链,则对请求消息中的节点证书信息和key值进行读取;如果不满足本链要求则拒绝接收请求消息,如果满足本链要求则对请求的本链消息进行包装,此步骤完成对跨链消息的过滤;
(2)消息过滤模块完成消息过滤后,回复消息封装模块则会根据请求消息中的key读取本链中对应存储的信息,并对消息进行统一封装;
(3)回复消息封装模块在完成回复消息的打包后,回复消息发送模块通过路由表维护模块查询到本链中的中继节点,随机选取其中一个中继节点将请求消息通过路由广播给其他区块链的中继节点,与发送消息不同的是回复消息需要经过所有中继节点的验证后才可以被接收,使用的是回复消息中value的哈希值对消息进行spv验证,验证通过后回复消息会被原发送请求消息的区块链中继节点解析接收并广播到发送请求的区块链中。
7.如权利要求6所述的消息传递方法,其特征在于,所述封装格式,包括源链id、目标链id、节点证书信息、response消息标识、本链读取的信息value以及对应的哈希值;其中,所述response消息标识用于表明这是一条回复消息。
8.一种实施权利要求1~7任意一项所述的消息传递方法的消息传递系统,其特征在于,所述消息传递系统,包括跨链系统初始化子系统、跨链请求消息打包和发送子系统、以及跨链回复消息打包和发送子系统;
其中,所述跨链系统初始化子系统,包括节点生成模块和路由表维护模块;所述节点生成模块,用于为每个区块链生成独立id,为每个区块链选择中继节点;所述路由表维护模块,用于对路由表进行维护和更新;
所述跨链请求消息打包和发送子系统,包括消息封装模块和消息发送模块;其中,所述消息封装模块,用于完成请求消息打包;所述消息发送模块,用于根据中继节点生成模块生成的路由表查询到发送请求消息区块链中的中继节点,并随机选取中继节点将请求消息通过路由广播给其他区块链的中继节点;
所述跨链回复消息打包和发送子系统,包括请求消息过滤模块、回复消息封装模块和回复消息发送模块;其中,所述请求消息过滤模块,用于在中继节点收到请求消息后对消息进行解析,并判断是否满足要求;所述回复消息封装模块,用于根据请求消息中的key读取本链中对应存储的信息,并对消息进行统一封装;所述回复消息发送模块,用于通过路由表维护模块查询到本链中的中继节点,随机选取中继节点将请求消息通过路由广播给其他区块链的中继节点。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
(1)进行跨链系统的初始化;
(2)进行跨链请求消息的打包和发送;
(3)进行跨链回复消息的打包和发送。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求8所述的消息传递系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007783.2A CN113886487B (zh) | 2021-08-30 | 2021-08-30 | 一种消息传递方法、系统、介质、设备及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007783.2A CN113886487B (zh) | 2021-08-30 | 2021-08-30 | 一种消息传递方法、系统、介质、设备及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113886487A true CN113886487A (zh) | 2022-01-04 |
CN113886487B CN113886487B (zh) | 2024-04-09 |
Family
ID=79011850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111007783.2A Active CN113886487B (zh) | 2021-08-30 | 2021-08-30 | 一种消息传递方法、系统、介质、设备及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886487B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258846A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN112887380A (zh) * | 2021-01-15 | 2021-06-01 | 杭州链网科技有限公司 | 一种跨链互通方法及系统 |
-
2021
- 2021-08-30 CN CN202111007783.2A patent/CN113886487B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258846A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN112887380A (zh) * | 2021-01-15 | 2021-06-01 | 杭州链网科技有限公司 | 一种跨链互通方法及系统 |
Non-Patent Citations (1)
Title |
---|
叶少杰;汪小益;徐才巢;孙建伶;: "BitXHub:基于侧链中继的异构区块链互操作平台", 计算机科学, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN113886487B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107147735B (zh) | 一种基于分层结构的分布式账本系统 | |
CN107358420B (zh) | 用于实现热点账户的区块链系统以及实现热点账户的方法 | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
KR102566892B1 (ko) | 블록체인 합의 방법, 디바이스 및 시스템 | |
CN110166409A (zh) | 设备接入方法、相关平台及计算机存储介质 | |
CN111400112B (zh) | 分布式集群的存储系统的写入方法、装置及可读存储介质 | |
CN111488595A (zh) | 用于实现权限控制的方法及相关设备 | |
CN113395363B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN113972986A (zh) | 基于区块链的工业互联网标识信息解析方法以及相关装置 | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN112087502B (zh) | 处理请求的方法、装置、设备及存储介质 | |
CN111222109A (zh) | 一种区块链账户的操作方法、节点设备及存储介质 | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及系统 | |
CN106656937A (zh) | 一种访问控制方法和访问令牌颁发方法、设备 | |
CN112738139B (zh) | 一种跨链访问控制方法和装置 | |
CN113518005B (zh) | 一种区块共识方法、装置、设备及存储介质 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
CN111612619A (zh) | 一种基于区块链的仓储共享平台及仓储交易方法 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
WO2023040453A1 (zh) | 一种交易信息处理方法及装置 | |
CN112700251A (zh) | 金融场景下的身份确认方法、装置和系统 | |
CN117319412A (zh) | 一种区块链网络的管理方法及相关设备 | |
CN113596168B (zh) | 基于区块链联盟链的验证方法及装置 | |
CN117749344A (zh) | 一种基于区块链的电力数据跨域监管方法、系统及存储介质 | |
CN113886487B (zh) | 一种消息传递方法、系统、介质、设备及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Applicant after: XIDIAN University Applicant after: Xi'an Lianrong Technology Co.,Ltd. Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Applicant before: XIDIAN University Applicant before: XI'AN XIDIAN LIANRONG TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |