CN117979281B - 面向无人机的区块链侧链创建方法和交互方法 - Google Patents
面向无人机的区块链侧链创建方法和交互方法 Download PDFInfo
- Publication number
- CN117979281B CN117979281B CN202410389774.1A CN202410389774A CN117979281B CN 117979281 B CN117979281 B CN 117979281B CN 202410389774 A CN202410389774 A CN 202410389774A CN 117979281 B CN117979281 B CN 117979281B
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- side chain
- proposal
- node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000003993 interaction Effects 0.000 title claims abstract description 45
- 230000000977 initiatory effect Effects 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 38
- 230000007613 environmental effect Effects 0.000 claims description 11
- 238000012804 iterative process Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000003211 malignant effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 abstract description 4
- 238000012795 verification Methods 0.000 description 22
- 239000003999 initiator Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009133 cooperative interaction Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/009—Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
-
- 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/40—Network security protocols
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种面向无人机的区块链侧链创建方法和交互方法,属于区块链技术领域。本发明的面向无人机的区块链侧链创建方法是基于合约模版和实时环境参数的动态创建侧链,其不仅支持实现无人机群态势感知的动态调整能力,还能够做到当协同态势感知发生时,动态生成态势感知任务的专用侧链,实现任务相关交易与事件的低延迟、高通量处理。本发明的面向无人机的区块链侧链交互方法能够有效完成跨主体、跨任务的数据共享,并且能够做到当数据共享发生时,通过侧链协同完成数据的高速安全传输,以及智能合约层面的任务协同操作。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种面向无人机的区块链侧链创建方法和交互方法。
背景技术
区块链侧链是一种提升区块链可扩展性的解决方案,其最初被应用于数字资产领域。当主链性能出现瓶颈或者某些功能无法扩展时,可以将资产转移到侧链上进行交易执行,从而达到分担主链压力、扩展主链性能和功能的目的。侧链的核心原理在于能够冻结一条链上的资产,然后在另一条链上产生。同时,侧链灵活地采用独有的共识算法以及针对特定目的定制区块参数,使侧链能够更高效地处理交易。总体而言,侧链机制将一些定制化或高频的数字资产交易放到主链之外进行,实现了区块链的扩展。
然而,目前侧链应用仍主要集中在合法的数字资产流通与数字资产平台交互领域。由于数字资产的类型通常是固定的,因此主要采用静态侧链的方案,即在交易系统运行前预先创建好用于分担主链交易压力的侧链。当区块链侧链应用于无人机区块链场景中时,会遇到创建侧链不具备动态性、不具备可配置性、创建的侧链之间不具备互操作性的问题。以无人机区块链这一应用场景为例,区块链作为各无人机间数据交互与协同执行任务的平台。对于共同完成某项任务的特定若干个设备,该场景需要为其单独创建一条执行该任务的区块链、将该执行任务的交易和智能合约与主链上的无关交易和智能合约分离开来,从而更好地提升系统的可扩展性和特定任务的执行效率。但是,静态侧链方案不能根据任务执行时机动态创建侧链,也不能根据需求完成侧链参数配置,无法对上述应用进行支撑。此外,现有侧链方案对于链间分布式事务交互与信息传输缺乏支撑,难以完成跨链的合约调用,无法实现多条任务专属侧链之间的数据共享与协同操作。
发明内容
针对上述现有技术的不足,面向区块链在无人机网络中的实际应用场景,本发明提出一种面向无人机的区块链侧链创建方法和交互方法,从而实现动态、可配置的区块链侧链创建过程,并为创建的侧链之间提供基于默克尔证明的可信交互过程。
为达到上述发明目的,本发明的技术方案包括以下内容。
一种面向无人机的区块链侧链创建方法,所述方法包括:
在无人机判定第一环境数据满足为特定任务创建任务专属侧链的条件时,通过
该无人机对应的主链节点调用主链上的创建侧链合约,以发起一侧链创建提议;其中,
所述任务专属侧链的配置参数包括:该任务专属侧链所包含的无人机编号、该任务专属侧
链的任务类型、部署在该任务专属侧链上的智能合约的配置参数和该任务专属侧链的编
号,为正整数;
在所述侧链创建提议在主链中通过共识的情况下,该任务专属侧链所包含的每一
无人机对该任务专属侧链的配置参数进行解析,以生成侧链创世区块文件;其中,为正
整数;
所述任务专属侧链所包含的每一无人机根据侧链创世区块文件启动所述任务
专属侧链对应的侧链节点,随后建立与其他侧链节点之间的连接。
进一步地,所述通过该无人机对应的主链节点调用主链上的创建侧链合约,
以发起一侧链创建提议,包括:
无人机对应的主链节点调用主链上的创建侧链合约,所述创建侧链合约的调
用参数为该第一环境数据;
创建侧链合约根据第一环境数据与所述特定任务的任务规则,计算得到该任务专属侧链的配置参数;
创建侧链合约生成由该任务专属侧链的配置参数组成的侧链创建提议。
进一步地,所述侧链创建提议在主链中通过共识的过程,包括:
每一主链节点对该侧链创建提议进行验证;
允许该侧链创建提议的主链节点将对应的签名附加在该侧链创建提议的区块中;
在该侧链创建提议的区块中包含所有主链节点的签名的情况下,所述侧链创建提议在主链中完成共识。
进一步地,该任务专属侧链所包含的每一无人机对该任务专属侧链的配置参数
进行解析,以生成侧链创世区块文件,包括:
从执行各类任务的智能合约模板库中选取所述特定任务的任务类型对应的智能合约模板;
基于所述部署在该任务专属侧链上的智能合约的配置参数完善所述特定任务的
任务类型对应的智能合约模板,并将得到的所述特定任务对应的智能合约写入侧链创世区
块文件中;
将该任务专属侧链的编号写入侧链创世区块文件中;
生成一对公私密钥对,并将公钥广播至该任务专属侧链所包含的其他无人机后,监听来自其他无人机广播的公钥;
在收到来自其他无人机广播的公钥后,将该任务专属侧链所包含的所有无人机的
公钥记录到侧链创世区块文件中。
一种面向无人机的区块链侧链交互方法,所述方法包括:
在无人机判定第二环境数据满足链间交互的条件时,通过该无人机对应的侧
链节点调用跨链交互合约,以发起一笔跨链提议;其中,所述侧链节点位于发起链上,
且所述发起链是基于上述任一所述的面向无人机的区块链侧链创建方法创建;
在所述跨链提议在发起链中通过共识的情况下,侧链节点为该跨链提议创建一
跨链证明后,将该跨链证明保存在所述无人机中;
所述无人机对应的主链节点调用主链上的中继合约,以向属于目标链的无人
机定向发送事件;其中,所述事件的参数包括跨链提议和跨链证明,所述目标链是基于上
述任一所述的面向无人机的区块链侧链创建方法创建;
所述无人机对应的侧链节点在目标链上发出该跨链提议和该跨链证明,以使
目标链上所有侧链节点结合该跨链证明对该跨链提议进行共识;其中,所述侧链节点位
于目标链上;
在目标链对于该跨链提议的共识通过的情况下,执行所述跨链提议中的链间交互操作。
进一步地,所述无人机对应的主链节点调用主链上的中继合约,以向属于目
标链的无人机定向发送事件,包括:
主链节点调用主链上的中继合约,所述中继合约的调用参数包括:跨链提议和
保持在无人机上的跨链证明;
中继合约根据跨链提议中的目标链编号查询侧链编号与侧链成员的对应关系,以
得到属于目标链的无人机;
主链节点向属于目标链的无人机定向发送事件。
进一步地,所述侧链节点为该跨链提议创建一跨链证明,包括:
获取跨链提议所在的区块;
将该区块中所有发起链节点的签名和公钥地址复制到跨链证明的V域中;
将区块中记录交易的区块默克尔树根哈希值复制到跨链证明的HR域中;
将跨链提议在区块默克尔树中的索引复制到跨链证明的K域中;
根据跨链提议在区块默克尔树中的索引,构造一条从默克尔树根到存放跨链提议的叶节点的路径,并记录该路径的节点路径信息至DB域中;其中,所述节点路径信息包括:该路径上所有节点的哈希值与节点自身信息的对应关系;
将V域、K域、DB域和HR域组合一个结构体,以得到跨链证明。
进一步地,所述无人机对应的侧链节点在目标链上发出该跨链提议和该跨链
证明,以使目标链上所有侧链节点结合该跨链证明对该跨链提议进行共识,包括:
在V域中保存的签名均来自发起链上的侧链节点,以及该签名的数量大于个
的情况下,判定所述跨链提议所在区块有效;其中,表示发起链中可能作恶的侧链节点的
最大数量;
基于DB域中保存的节点路径信息能构建一条从默克尔树根到叶子节点的默克尔路径的情况下,判定所述跨链提议存在于区块中;
在跨链提议的哈希值与叶结点所对应交易的哈希值一致的情况下,判定跨链提议与叶结点存储的交易一致。
进一步地,基于DB域中保存的节点路径信息能否构建一条从默克尔树根到叶子节点的默克尔路径,包括:
从HR域中获取交易的区块默克尔树根哈希值,并从区块默克尔树根开始迭代过程;
通过当前迭代节点的哈希值查找该当前迭代节点在DB域中对应的完整节点数据,并根据完整节点数据中的子节点信息,通过K域保存的所述区块默克尔树中的索引,寻找与该索引对应的子节点作为下一轮迭代节点;
若由于当前迭代节点不是叶节点,且当前迭代节点不存在于DB域保存的对应关系中或无法根据K域保存的所述区块默克尔树中的索引找到子节点作为下一轮迭代节点,则基于DB域中保存的节点路径信息不能构建一条从默克尔树根到叶子节点的默克尔路径;
若最后一个当前迭代节点是叶节点,则基于DB域中保存的节点路径信息能构建一条从默克尔树根到叶子节点的默克尔路径。
进一步地,所述执行所述跨链提议中的链间交互操作,包括:
侧链节点调用跨链提议中指示的目标链合约和函数,以达到所述发起链和所述
目标链之间合约相互调用和互操作的功能。
与现有技术相比,本发明提供的面向无人机的区块链侧链创建方法和交互方法,通过基于合约模版和实时环境参数的动态创建侧链过程,支持实现了无人机群态势感知的动态调整能力。其能够做到当协同态势感知发生时,动态生成态势感知任务的专用侧链,实现任务相关交易与事件的低延迟、高通量处理。此外,本发明中的侧链交互技术能够有效完成跨主体、跨任务的数据共享。其能够做到当数据共享发生时,通过侧链协同完成数据的高速安全传输,以及智能合约层面的任务协同操作。
附图说明
图1为根据本发明实施例的面向无人机搜索救援的场景示意图。
图2为根据本发明实施例的创建侧链的流程示意图。
图3为根据本发明实施例的跨链交互发起链一侧的流程示意图。
图4为根据本发明实施例的跨链交互目标链一侧的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在无人机实际应用场景中,区块链作为各无人机间数据交互与协同执行任务的平台。假设初始状态下一个无人机群中所有无人机都连接在一条区块链上,通过该链完成初始的数据和信息交互,则称该链为主链M。区块链节点作为进程运行在无人机的计算机上,因此称运行主链的区块链节点为主链节点。同时,无人机的计算机上还可以运行其他区块链的节点,若运行的是某条侧链,则称之为侧链节点。记主链中发起创建侧链请求的无人机为Ui,其连接主链的节点记为Mi。
在上述场景下,本发明提供的面向无人机的区块链侧链创建,包括以下步骤:
步骤1:无人机Ui判断周围环境满足为特定任务创建任务专属侧链的条件时,Ui上的主链节点Mi调用主链上的创建侧链合约,调用参数为当前任务执行区域的环境数据。
步骤2:主链节点Mi运行主链上的创建侧链合约,根据当前环境数据与任务规则计算得到该任务专属侧链的初始配置参数,并生成一个由这些参数组成的侧链创建提议。参数包括member_id,type,contract_params,shard_id四个域。其中member_id域包含了新创建的侧链所包含的无人机编号;type域指新创建的侧链的任务类型;contract_params域指部署在该侧链上的智能合约的配置参数;shard_id域指本系统内唯一标识该侧链的编号。以上四个域的具体作用将在步骤6至步骤9详细阐述。
步骤3:主链所有节点对包含该侧链创建提议的区块进行共识。在共识过程中,主链每个节点都需要对该提议进行验证,若其允许该提议,则将该节点的签名附加在提议的区块中。
步骤4:若包含该创建侧链提议的区块通过共识,则记录侧链编号与其成员编号之间的映射关系到区块链数据库中。
步骤5:主链每个节点检查其所在的无人机编号是否包含在侧链创建提议的member_id域中。不失一般性地,若Ui的编号包含在提议的member_id域中,则Ui启动链下创建侧链程序,对提议中的参数进行解析,启动创建一条新区块链的过程,如步骤6至步骤9所述。若Ui的编号不包含在提议的member_id域中,则不会对该提议做进一步处理。
步骤6:Ui根据提议中的type域,从执行各类任务的智能合约模板库中选取与type域对应的智能合约模板。合约模板是解决一类任务(例如态势感知、提供救援)的智能合约基础模板,通过提议中的contract_params域指定具体的参数可以用于执行具体任务。
步骤7:Ui根据提议中的contract_params域,完善由type域指定的合约模板,补全任务参数,得到完整的执行具体任务的智能合约。将生成的智能合约写入侧链创世区块文件中;
步骤8:Ui根据提议中的shard_id域,将侧链编号写入侧链创世区块文件中。
步骤9:Ui生成一对公私密钥对,并将公钥广播至提议中member_id域包含的所有其他无人机。与此同时,监听来自其他无人机广播的公钥,并将这些公钥记录到侧链创世区块文件中,视为已知的其他侧链成员。
步骤10:Ui根据步骤6至步骤9生成的侧链创世区块文件启动侧链节点,并与其他侧链成员根据其公钥地址进行通信。各个节点间建立通信连接后,侧链创建过程结束,侧链创建成功。
另一方面,本发明还提供了面向无人机的区块链侧链交互方法,包括以下技术方案:
在无人机实际应用场景中,两条任务专属侧链之间需要完成跨链的合约调用,以完成两条链的协同交互。由于场景中所有无人机都连接在主链M上,因此主链起到中继跨链提议的作用。记发起跨链提议的侧链为发起链,其中任意一个无人机为Ua,该无人机上连接发起链的节点为Ca,连接主链的节点为Ma;类似地,被调用合约的侧链为目标链,其中任意一个无人机为Ub,该无人机上连接目标链的节点为Cb,连接主链的节点为Mb。在此场景下,跨链交互的步骤如下:
步骤1:在周围环境满足链间交互的条件时,无人机Ua上的Ca节点调用发起链的跨链交互合约,发起一笔跨链提议,调用的参数为当前任务执行区域的环境数据。
步骤2:发起链的所有节点对包含该跨链提议的区块进行共识,若节点允许该提议,则将该节点的签名附加在提议的区块中。等待发起链所有节点对该区块共识完成。
步骤3:若包含该跨链提议的区块通过共识,则发起链上抛出“新跨链提议”(NewRequest)事件,通知Ca节点为该跨链提议创建跨链证明。
步骤4:Ca节点调用发起链上的创建跨链证明合约,为跨链提议创建基于默克尔证明的跨链证明。跨链证明包括V,K,DB,HR四部分,其中V代表区块中的节点签名,K代表跨链提议在区块中默克尔树的索引,DB代表记录默克尔证明的键值对,HR代表区块里的默克尔树的树根。生成跨链证明的具体步骤如下所述:
步骤41:Ca节点获取到跨链提议所在区块,将区块中所有发起链节点的签名和公钥地址复制到跨链证明的V域中;将区块中记录交易的默克尔树根哈希值复制到跨链证明的HR域中;将跨链提议在区块默克尔树中的索引复制到跨链证明的K域中;
步骤42:Ca节点根据跨链提议在区块默克尔树中的索引K,构造一条从默克尔树根到存放跨链提议的叶节点的路径。记录该路径上所有节点的哈希值与节点自身信息的对应关系至DB域,作为该跨链提议的默克尔证明;
步骤43:组合V,K,DB,HR四个域为一个结构体,记为该跨链提议的跨链证明。Ca节点将该证明保存在Ua中,等待Ua连接到主链的Ma节点执行后续操作。
步骤5:Ma节点调用主链上的中继合约,调用参数为跨链提议和保存在Ua的跨链证明。
步骤6:主链上的中继合约根据跨链提议中的目标链编号,查询创建侧链时记录的侧链编号与侧链成员的对应关系,向属于目标链的无人机定向发送事件,事件参数为跨链提议和跨链证明。
步骤7:属于目标链的无人机接收到来自主链的事件后,目标链节点在目标链上发出跨链提议和跨链证明。
Ub是属于目标链的其中一个无人机,其连接主链的节点是Mb节点。Mb节点将接收到的跨链提议和跨链证明传递给同在无人机Ub上,连接目标链的Cb节点。Cb节点在目标链上发出该跨链提议和跨链证明,等待目标链上所有节点对该跨链提议进行共识。
步骤8:目标链节点验证跨链证明。
目标链上所有节点对跨链证明的共识过程除常规交易的验证过程以外,还需要结合跨链证明进行额外的跨链提议有效性验证。验证的步骤如下:
步骤81:常规区块链交易验证。
在跨链提议被发送上链后,首先需要执行常规区块链交易的验证过程,验证交易的合法性、交易发起者签名的正确性等步骤。
步骤82:验证跨链提议所在区块的有效性。
Cb节点通过V域中的发起链节点签名和公钥地址,验证签名是否均来自发起链节
点。此外,验证签名数量是否不小于个(假设 是发起链中可能作恶的节点的最大
数量)。若验证不通过,则跳转到步骤9;若验证通过,则继续执行后续验证步骤。
步骤83:验证跨链提议存在于区块中。
Cb节点验证DB域中保存的节点路径信息能否构建一条从默克尔树根到叶子节点的默克尔树路径。
具体方法是,从默克尔树根HR域开始迭代过程,通过当前迭代节点的哈希值查找其在DB域中对应的完整节点数据。根据完整节点数据中的子节点信息,通过跨链证明中的索引K,寻找与索引对应的子节点作为下一轮迭代过程的节点。
若迭代过程中出现迭代节点不存在于DB保存的键值对中、无法根据索引K找到子节点作为下一轮迭代节点的错误,则说明无法从该证明提供的信息中恢复出合法的默克尔路径,即该跨链证明无效,跳转到步骤9。
若迭代过程最终到达叶节点(即存储的交易),则说明该跨链证明可以恢复出一条合法的默克尔路径,证实叶节点所对应的交易存在于该区块之中,继续执行后续验证步骤。
步骤84:验证跨链提议与重建默克尔路径的叶节点存储的交易一致。
Cb节点验证跨链提议的哈希值与叶节点所对应交易的哈希值是否一致。若不一致,则说明跨链提议与跨链证明之间不对应,该跨链证明无效,跳转到步骤9;若一致,则说明该跨链证明可以证实跨链提议存在于区块当中,即通过了来自发起链节点的共识,该跨链证明有效,跳转到步骤10。
步骤9:跨链证明验证失败,无法证实该跨链提议经过了发起链的共识。因此目标链对于该跨链提议的共识不通过,丢弃该提议。
步骤10:跨链证明验证成功,证实该跨链提议经过了发起链的共识。因此目标链对于该跨链提议的共识通过,执行跨链提议中的操作;具体地,Cb节点调用跨链提议中指示的目标链合约和函数,以达到多条区块链之间合约相互调用和互操作的功能。
下文将以如图1所示的无人机搜索救援场景为例,使用本发明为无人机搜索救援场景下的区块链进行动态侧链创建和跨链交互过程。在该场景下,多个不同功能的无人机通过主链相互连接。为支持本发明的动态侧链创建和跨链交互,主链上部署有创建侧链合约和跨链中继合约。在该场景下,左侧三架搜索无人机和中间三架救援无人机位于任务执行区域内,右侧两架搜索无人机位于任务区域以外的无关区域。该场景下创建的任务专属侧链有两个,分别是由左侧三架搜索无人机组成的搜索侧链,和由中间三架救援无人机组成的救援侧链。搜索侧链负责在任务执行区域搜索受灾人员,部署有执行具体任务的搜索任务合约和跨链交互时需要的跨链证明合约;救援侧链负责在任务执行区域为受灾人员提供救援,部署有执行具体任务的救援任务合约和跨链交互时需要的跨链证明合约。
一种面向无人机的区块链侧链创建方法,如图2所示,包括以下步骤:
步骤1:在环境满足需要为特定任务创建任务专属侧链的条件时,无人机Ui上的主链节点Mi调用主链上的创建侧链合约,调用参数为当前任务执行区域的环境数据。
具体的,创建任务专属侧链的条件包括发现受灾人员迹象时创建搜索侧链,确定受灾人员具体情况后创建救援侧链。在图1所示场景中,假设左侧三架搜索无人机中最左侧无人机率先发现受灾人员,则该无人机上连接主链的节点调用主链上的创建侧链合约,调用参数为受灾人员所在区域的环境数据、受灾人员被困情况等数据。
步骤2:主链节点Mi运行主链上的创建侧链合约,根据当前环境数据与任务规则计算得到该任务专属侧链的初始配置参数,并生成一个由这些参数组成的侧链创建提议。参数包括member_id,type,contract_params,shard_id四个域。其中member_id域包含了新创建的侧链所包含的无人机编号;type域指新创建的侧链的任务类型;contract_params域指部署在该侧链上的智能合约的配置参数;shard_id域指本系统内唯一标识该侧链的编号。以上四个域的具体作用将在步骤6至步骤9详细阐述。
具体的,主链根据搜索救援任务的执行方法,生成一个针对当前受灾人员情况的创建搜索侧链提议。提议的参数包括:member_id域是位于搜索区域的三架无人机的编号;type域是搜索任务类型;contract_params域是受灾人员的详细环境数据,包括经纬度、温湿度、海拔等数据;shard_id域是为该搜索侧链随机生成的编号。
步骤3:主链所有节点对包含该侧链创建提议的区块进行共识。在共识过程中,主链每个节点都需要对该提议进行验证,若其允许该提议,则将该节点的签名附加在提议的区块中。
具体的,在主链的共识阶段,所有主链节点都需要对提议的有效性进行验证,确认该提议是由主链的其中一个节点提出的,且提议内容未经过篡改。验证通过的节点会将其对该区块的签名附加在区块中,当主链的所有节点(如图1所示的8个无人机上的节点)都完成验证后,共识阶段结束。
步骤4:若包含该创建侧链提议的区块通过共识,则记录侧链编号与其成员编号之间的映射关系到区块链数据库中。
具体的,当创建搜索侧链的提议通过共识后,会将该搜索任务与位于搜索区域的左侧三个无人机的编号之间的对应关系记录在链上。
步骤5:主链每个节点检查其所在的无人机编号是否包含在侧链创建提议的member_id域中。不失一般性地,若Ui的编号包含在提议的member_id域中,则Ui启动链下创建侧链程序,对提议中的参数进行解析,启动创建一条新区块链的过程,如步骤6至步骤9所述。若Ui的编号不包含在提议的member_id域中,则不会对该提议做进一步处理。
具体的,在共识结束后主链所有节点都会同步得到包含创建侧链提议的新区块。主链节点检查其所在的无人机是否包含在提议的member_id域中。对于搜索任务区域中的三架无人机,其无人机编号包含在提议的member_id域中,因此这三架无人机每一架都会启动各自的链下创建侧链程序,对提议中的参数进行解析,开始创建一条新区块链的过程。
步骤6:Ui根据提议中的type域,从执行各类任务的智能合约模板库中选取与type域对应的智能合约模板。合约模板是解决一类任务(例如态势感知、提供救援)的智能合约基础模板,通过提议中的contract_params域指定具体的参数可以用于执行具体任务。
具体的,根据提议中type域的值为搜索任务,左侧三架无人机从合约模板库中选取执行搜索任务的合约模板。合约模板规定了执行搜索任务的框架,并将搜索过程细分为多个子任务和子步骤,每一个均由一段智能合约代码实现。
步骤7:Ui根据提议中的contract_params域,完善由type域指定的合约模板,补全任务参数,得到完整的执行具体任务的智能合约,并将生成的智能合约写入侧链创世区块文件中。
具体的,contract_params域指定搜索任务的具体参数,例如受灾人员所在位置的经纬度、温湿度、海拔等数据。将具体参数补全到合约模板中,即可得到针对当前搜索任务的完整的智能合约代码,随后将这段生成的智能合约写入侧链创世区块文件中。
步骤8:Ui根据提议中的shard_id域,将侧链编号写入侧链创世区块文件中。
具体的,该侧链编号是主链为该搜索侧链随机生成的编号,用于唯一标识该搜索侧链。创建侧链时也需要将这一编号写入侧链创世区块文件中。
步骤9:Ui生成一对公私密钥对,并将公钥广播至提议中member_id域包含的所有其他无人机。与此同时,监听来自其他无人机广播的公钥,并将这些公钥记录到侧链创世区块文件中,视为已知的其他侧链成员。
具体的,位于搜索任务区域的三架无人机,每一架都会生成一对公私密钥对,并将公钥广播至同属于该搜索侧链的另外两架无人机中。同时,每一架无人机也会监听来自另外两架无人机广播的公钥,并将监听得到的公钥记录在该无人机生成的侧链创世区块文件中。当交换公钥过程结束后,每一架无人机都会得到新创建的搜索侧链中所有其他无人机的公钥地址,视为已知的侧链成员。
步骤10:Ui根据步骤6至步骤9生成的侧链创世区块文件启动侧链节点,并与其他侧链成员根据其公钥地址进行通信。各个节点间建立通信连接后,侧链创建过程结束,侧链创建成功。
具体的,经过步骤6至步骤9,侧链的创世区块文件中设置好了执行当前搜索任务的智能合约、侧链编号、侧链成员公钥地址。位于搜索任务区域的三架无人机根据各自的侧链创世区块文件启动侧链节点,待建立连接后根据共识协议开始第一轮共识过程。
一种面向无人机的区块链侧链交互方法,如图3、图4所示。图3是跨链交互方法在发起链一侧的流程图,包括以下步骤:
步骤1:在周围环境满足链间交互的条件时,无人机Ua上的Ca节点调用发起链的跨链交互合约,发起一笔跨链提议,调用的参数为当前任务执行区域的环境数据。
具体的,当搜索侧链发现存在受灾人员,并通过执行搜索任务获得受灾人员具体受困情况的数据后,需要救援无人机为该受灾人员提供救援。因此,这一过程需要搜索侧链和救援侧链的协同操作和跨链交互,发起链是搜索侧链,目标链是救援侧链。搜索侧链中的其中一架无人机调用链上的跨链交互合约,发起一笔跨链提议,调用参数为搜索区域的环境数据和受灾人员所在位置的数据。
步骤2:发起链的所有节点对包含该跨链提议的区块进行共识,若节点允许该提议,则将该节点的签名附加在提议的区块中。等待发起链所有节点对该区块共识完成。
具体的,当跨链提议在搜索侧链上被提出后,搜索侧链的三架无人机对该跨链提议进行共识。共识过程中,每架无人机上连接侧链的节点都会对提议进行验证,验证过程包括交易的合法性、交易发起者签名的正确性、以及提议是否符合搜索救援任务的规则。若提议通过了该节点的验证过程,则该节点会将其签名附加在提议所在的区块中,以表示该节点同意这一提议。当搜索侧链中所有节点都完成对提议的验证后,共识过程结束。
步骤3:若包含该跨链提议的区块通过共识,则发起链上抛出“新跨链提议”(NewRequest)事件,通知Ca节点为该跨链提议创建跨链证明。
具体的,当跨链提议上链后,搜索侧链会抛出“新跨链提议”事件。搜索侧链节点监听到该事件后,会对刚上链的跨链提议进行解析,为该提议生成跨链证明。注意到,搜索侧链也是一个分布式的区块链网络,因此搜索侧链的每一架无人机都会执行生成跨链证明的过程,并保存在无人机上,等待主链节点做进一步中继。但是,区块链系统中的交易随机数机制(nonce)可以保证不会有多个重复的交易被发送至链上,因此主链可以对相同的跨链提议和跨链证明进行自动去重。
步骤4:Ca节点调用发起链上的创建跨链证明合约,为跨链提议创建基于默克尔证明的跨链证明。跨链证明包括V,K,DB,HR四部分,其中V代表区块中的节点签名,K代表跨链提议在区块中默克尔树的索引,DB代表记录默克尔证明的键值对,HR代表区块里的默克尔树的树根。生成跨链证明的具体步骤如下所述:
步骤41:Ca节点获取到跨链提议所在区块,将区块中所有发起链节点的签名和公钥地址复制到跨链证明的V域中;将区块中记录交易的默克尔树根哈希值复制到跨链证明的HR域中;将跨链提议在区块默克尔树中的索引复制到跨链证明的K域中。
具体的,搜索侧链节点在生成跨链证明时,首先会将跨链提议所在区块中三个搜索无人机的侧链节点签名和公钥地址复制到跨链证明的V域中。其次,将跨链提议所在区块中记录交易的默克尔树根哈希值复制到跨链证明的HR域中。最后,将跨链提议在区块默克尔树中的索引复制到跨链证明的K域中。
步骤42:Ca节点根据跨链提议在区块默克尔树中的索引K,构造一条从默克尔树根到存放跨链提议的叶节点的路径。记录该路径上所有节点的哈希值与节点自身信息的对应关系至DB域,作为该跨链提议的默克尔证明。
具体的,搜索侧链节点根据跨链提议在区块默克尔树中的索引K,构造一条从默克尔树根到存放跨链提议的叶节点的路径。在区块的默克尔树中,叶节点存储着实际的交易数据,因此跨链提议作为一笔区块链交易也存储在默克尔树的叶节点之中;非叶节点不存储实际的交易数据,而是存储其子节点的哈希值,用于验证叶节点所维护数据集的完整性和不变性。因此,一条从默克尔树根到存放跨链提议叶节点的路径代表一种验证证明,被称为默克尔证明,提供了一种安全、高效且保护隐私的方式来验证单笔交易在区块中的存在和完整性。
步骤43:组合V,K,DB,HR四个域为一个结构体,记为该跨链提议的跨链证明。Ca节点将该证明保存在Ua中,等待Ua中连接到主链的Ma节点执行后续操作。
具体的,搜索侧链节点将V,K,DB,HR四个域组合为该跨链提议的跨链证明,并将其保存在无人机上。等待该无人机上连接主链的节点将跨链提议和跨链证明进行中继转发。
步骤5:Ma节点调用主链上的中继合约,调用参数为跨链提议和保存在Ua的跨链证明。
具体的,位于搜索侧链的三架无人机上的搜索侧链节点保存跨链提议和跨链证明到无人机后,主链节点调用主链上的中继合约,并将跨链提议和证明作为参数发送上链。注意到,具有相同跨链提议和证明的交易其交易随机数相同,因此主链会对随机数相同的交易自动进行去重,不会在主链上出现重复的跨链提议。
步骤6:主链上的中继合约根据跨链提议中的目标链编号,查询创建侧链时记录的侧链编号与侧链成员的对应关系,向属于目标链的无人机定向发送事件,事件参数为跨链提议和跨链证明。
具体的,在本实施例中,搜索侧链需要跨链调用救援侧链以将受灾人员的数据传递给救援侧链,并协同救援侧链实施救援。因此,在搜索侧链无人机(即图1所示的左侧三架搜索无人机)上的主链节点调用主链上的中继合约后,中继合约会根据跨链提议中指示的目标链(即救援侧链),查询救援侧链中无人机的编号。随后,中继合约在主链上抛出事件,事件接收者仅为救援侧链无人机(即中间三架救援无人机)上的主链节点,事件参数为跨链提议和跨链证明。
图4是跨链交互方法在目标链一侧的流程图,包括以下步骤:
步骤7:属于目标链的无人机接收到来自主链的事件后,目标链节点在目标链上发出跨链提议和跨链证明。
Ub是属于目标链的其中一个无人机,其连接主链的节点是Mb节点。Mb节点将接收到的跨链提议和跨链证明传递给同在无人机Ub上,连接目标链的Cb节点。Cb节点在目标链上发出该跨链提议和跨链证明,等待目标链上所有节点对该跨链提议进行共识。
具体的,位于救援侧链的三架无人机接收到来自主链的事件,对事件参数进行解析,识别到这是一笔跨链提议。与常规的区块链交易发送过程不同,在救援侧链上发送跨链提议时,还需要将跨链证明作为参数同步发送上链。此外,由于各个救援侧链节点获得的跨链提议和跨链证明是相同的,具有相同的交易随机数,因此区块链的去重机制也可以保证不会有跨链提议被重复执行。
步骤8:目标链节点验证跨链证明。
目标链上所有节点对跨链证明的共识过程除常规交易的验证过程以外,还需要结合跨链证明进行额外的跨链提议有效性验证。也就是说,在跨链提议被发送上链后,首先需要执行常规区块链交易的验证过程,验证交易的合法性、交易发起者签名的正确性等步骤。此外,由于该提议是来自其他区块链提出的跨链提议,因此还需要结合跨链证明对该提议来源的有效性作额外验证。具体的,需要验证该提议通过了搜索侧链所有成员集体的共识过程,防止该提议是由搜索侧链少部分节点单独提出,或被攻击者进行了恶意篡改的提议。该跨链证明的共识过程包括以下步骤81-步骤84。
步骤81:常规区块链交易验证。
在跨链提议被发送上链后,首先需要执行常规区块链交易的验证过程,验证交易的合法性、交易发起者签名的正确性等步骤。
步骤82:验证跨链提议所在区块的有效性。
Cb节点通过V域中的发起链节点签名和公钥地址,验证签名是否均来自发起链节
点。此外,验证签名数量是否不小于个(假设 是发起链中可能作恶的节点的最大
数量)。
具体的,救援侧链节点提取跨链证明V域保存的搜索侧链节点签名和节点地址,验证签名与地址是否对应。同时,假设在本实施例中搜索侧链中最多有一个可能作恶的无人机,则需要验证跨链证明中至少存在三个有效的节点签名。
步骤83:验证跨链提议存在于区块中。
Cb节点尝试重新构建一条从默克尔树根到叶子节点的默克尔路径。具体的,救援侧链节点从默克尔树根HR域开始迭代过程,通过当前迭代节点的哈希值查找其在DB域中对应的完整节点数据。根据完整节点数据中的子节点信息,通过跨链证明中的索引K,寻找与索引对应的子节点作为下一轮迭代过程的节点。
若迭代过程中出现迭代节点不存在于DB保存的键值对中、无法根据索引K找到子节点作为下一轮迭代节点的错误,则说明无法从该证明提供的信息中恢复出合法的默克尔路径,即该跨链证明无效;若迭代过程最终到达叶节点(即存储的跨链提议),则说明该跨链证明可以恢复出一条合法的默克尔路径,证实叶节点所对应的跨链提议存在于该区块之中,继续执行后续验证步骤。
步骤84:验证跨链提议与重建默克尔路径的叶节点存储的交易一致。
Cb节点比较跨链提议的哈希值与重建默克尔路径的叶节点所对应交易的哈希值是否一致。具体的,救援侧链节点通过步骤83重建默克尔路径得到叶节点,可以证实该叶节点所对应的交易存储于步骤82所验证的区块中。最后,需要验证该叶节点所对应的交易与来自搜索侧链的跨链提议是否一致。
步骤9:跨链证明验证失败,无法证实该跨链提议经过了发起链的共识。因此目标链对于该跨链提议的共识不通过,丢弃该提议;
具体的,若步骤81、步骤82、步骤83以及步骤84中任何一个验证步骤未通过,则无法证实该跨链提议经过了搜索任务侧链的共识。因此救援任务侧链对于该跨链提议的共识不通过,丢弃该跨链提议。
步骤10:跨链证明验证成功,证实该跨链提议经过了发起链的共识。因此目标链对于该跨链提议的共识通过,执行跨链提议中的操作;
具体的,救援侧链节点调用跨链提议中指示的救援侧链合约,根据跨链提议中受灾人员所在位置的环境数据,执行救援任务合约中编写具体救援任务,以达到多条区块链之间合约相互调用和互操作的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (10)
1.一种面向无人机的区块链侧链创建方法,其特征在于,所述方法包括:
在无人机判定第一环境数据满足为特定任务创建任务专属侧链的条件时,通过该无人机/>对应的主链节点/>调用主链上的创建侧链合约,以发起一侧链创建提议;其中,所述任务专属侧链的配置参数包括:该任务专属侧链所包含的无人机编号、该任务专属侧链的任务类型、部署在该任务专属侧链上的智能合约的配置参数和该任务专属侧链的编号,/>为正整数;
在所述侧链创建提议在主链中通过共识的情况下,该任务专属侧链所包含的每一无人机对该任务专属侧链的配置参数进行解析,以生成侧链创世区块文件/>;其中,/>为正整数;
所述任务专属侧链所包含的每一无人机根据侧链创世区块文件/>启动所述任务专属侧链对应的侧链节点/>,随后建立与其他侧链节点之间的连接。
2.根据权利要求1所述的面向无人机的区块链侧链创建方法,其特征在于,所述通过该无人机对应的主链节点/>调用主链上的创建侧链合约,以发起一侧链创建提议,包括:
无人机对应的主链节点/>调用主链上的创建侧链合约,所述创建侧链合约的调用参数为该第一环境数据;
创建侧链合约根据第一环境数据与所述特定任务的任务规则,计算得到该任务专属侧链的配置参数;
创建侧链合约生成由该任务专属侧链的配置参数组成的侧链创建提议。
3.根据权利要求1所述的面向无人机的区块链侧链创建方法,其特征在于,所述侧链创建提议在主链中通过共识的过程,包括:
每一主链节点对该侧链创建提议进行验证;
允许该侧链创建提议的主链节点将对应的签名附加在该侧链创建提议的区块中;
在该侧链创建提议的区块中包含所有主链节点的签名的情况下,所述侧链创建提议在主链中完成共识。
4.根据权利要求1所述的面向无人机的区块链侧链创建方法,其特征在于,该任务专属侧链所包含的每一无人机对该任务专属侧链的配置参数进行解析,以生成侧链创世区块文件/>,包括:
从执行各类任务的智能合约模板库中选取所述特定任务的任务类型对应的智能合约模板;
基于所述部署在该任务专属侧链上的智能合约的配置参数完善所述特定任务的任务类型对应的智能合约模板,并将得到的所述特定任务对应的智能合约写入侧链创世区块文件中;
将该任务专属侧链的编号写入侧链创世区块文件中;
生成一对公私密钥对,并将公钥广播至该任务专属侧链所包含的其他无人机后,监听来自其他无人机广播的公钥;
在收到来自其他无人机广播的公钥后,将该任务专属侧链所包含的所有无人机的公钥记录到侧链创世区块文件中。
5.一种面向无人机的区块链侧链交互方法,其特征在于,所述方法包括:
在无人机判定第二环境数据满足链间交互的条件时,通过该无人机/>对应的侧链节点/>调用跨链交互合约,以发起一笔跨链提议;其中,所述侧链节点/>位于发起链上,且所述发起链是基于权利要求1至4中任一所述的面向无人机的区块链侧链创建方法创建;
在所述跨链提议在发起链中通过共识的情况下,侧链节点为该跨链提议创建一跨链证明后,将该跨链证明保存在所述无人机/>中;
所述无人机对应的主链节点/>调用主链上的中继合约,以向属于目标链的无人机定向发送事件;其中,所述事件的参数包括跨链提议和跨链证明,所述目标链是基于权利要求1至4中任一所述的面向无人机的区块链侧链创建方法创建;
所述无人机对应的侧链节点/>在目标链上发出该跨链提议和该跨链证明,以使目标链上所有侧链节点结合该跨链证明对该跨链提议进行共识;其中,所述侧链节点/>位于目标链上;
在目标链对于该跨链提议的共识通过的情况下,执行所述跨链提议中的链间交互操作。
6.根据权利要求5所述的面向无人机的区块链侧链交互方法,其特征在于,所述无人机对应的主链节点/>调用主链上的中继合约,以向属于目标链的无人机/>定向发送事件,包括:
主链节点调用主链上的中继合约,所述中继合约的调用参数包括:跨链提议和保持在无人机/>上的跨链证明;
中继合约根据跨链提议中的目标链编号查询侧链编号与侧链成员的对应关系,以得到属于目标链的无人机;
主链节点向属于目标链的无人机/>定向发送事件。
7.根据权利要求5所述的面向无人机的区块链侧链交互方法,其特征在于,所述侧链节点为该跨链提议创建一跨链证明,包括:
获取跨链提议所在的区块;
将该区块中所有发起链节点的签名和公钥地址复制到跨链证明的V域中;
将区块中记录交易的区块默克尔树根哈希值复制到跨链证明的HR域中;
将跨链提议在区块默克尔树中的索引复制到跨链证明的K域中;
根据跨链提议在区块默克尔树中的索引,构造一条从默克尔树根到存放跨链提议的叶节点的路径,并记录该路径的节点路径信息至DB域中;其中,所述节点路径信息包括:该路径上所有节点的哈希值与节点自身信息的对应关系;
将V域、K域、DB域和HR域组合一个结构体,以得到跨链证明。
8.根据权利要求6所述的面向无人机的区块链侧链交互方法,其特征在于,所述无人机对应的侧链节点/>在目标链上发出该跨链提议和该跨链证明,以使目标链上所有侧链节点结合该跨链证明对该跨链提议进行共识,包括:
在V域中保存的签名均来自发起链上的侧链节点,以及该签名的数量大于个的情况下,判定所述跨链提议所在区块有效;其中,/>表示发起链中可能作恶的侧链节点的最大数量;
基于DB域中保存的节点路径信息能构建一条从默克尔树根到叶子节点的默克尔路径的情况下,判定所述跨链提议存在于区块中;
在跨链提议的哈希值与叶结点所对应交易的哈希值一致的情况下,判定跨链提议与叶结点存储的交易一致。
9.根据权利要求8所述的面向无人机的区块链侧链交互方法,其特征在于,基于DB域中保存的节点路径信息能否构建一条从默克尔树根到叶子节点的默克尔路径,包括:
从HR域中获取交易的区块默克尔树根哈希值,并从区块默克尔树根开始迭代过程;
通过当前迭代节点的哈希值查找该当前迭代节点在DB域中对应的完整节点数据,并根据完整节点数据中的子节点信息,通过K域保存的所述区块默克尔树中的索引,寻找与该索引对应的子节点作为下一轮迭代节点;
若由于当前迭代节点不是叶节点,且当前迭代节点不存在于DB域保存的对应关系中或无法根据K域保存的所述区块默克尔树中的索引找到子节点作为下一轮迭代节点,则基于DB域中保存的节点路径信息不能构建一条从默克尔树根到叶子节点的默克尔路径;
若最后一个当前迭代节点是叶节点,则基于DB域中保存的节点路径信息能构建一条从默克尔树根到叶子节点的默克尔路径。
10.根据权利要求8所述的面向无人机的区块链侧链交互方法,其特征在于,所述执行所述跨链提议中的链间交互操作,包括:
侧链节点调用跨链提议中指示的目标链合约和函数,以达到所述发起链和所述目标链之间合约相互调用和互操作的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410389774.1A CN117979281B (zh) | 2024-04-02 | 2024-04-02 | 面向无人机的区块链侧链创建方法和交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410389774.1A CN117979281B (zh) | 2024-04-02 | 2024-04-02 | 面向无人机的区块链侧链创建方法和交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117979281A CN117979281A (zh) | 2024-05-03 |
CN117979281B true CN117979281B (zh) | 2024-05-28 |
Family
ID=90865017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410389774.1A Active CN117979281B (zh) | 2024-04-02 | 2024-04-02 | 面向无人机的区块链侧链创建方法和交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117979281B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112907115A (zh) * | 2021-03-18 | 2021-06-04 | 上海能链众合科技有限公司 | 一种区块链无人机集群的协同任务计算控制方法 |
CN115175139A (zh) * | 2022-06-29 | 2022-10-11 | 中国人民解放军陆军工程大学 | 基于反向二层区块链的无人机集群协同通信方法及装置 |
CN116016095A (zh) * | 2021-10-22 | 2023-04-25 | 华为技术有限公司 | 一种合约管理方法、装置及系统 |
CN116545606A (zh) * | 2023-04-23 | 2023-08-04 | 嵩山实验室 | 一种无人机群区块链网络构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018125989A2 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | The internet of things |
-
2024
- 2024-04-02 CN CN202410389774.1A patent/CN117979281B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112907115A (zh) * | 2021-03-18 | 2021-06-04 | 上海能链众合科技有限公司 | 一种区块链无人机集群的协同任务计算控制方法 |
CN116016095A (zh) * | 2021-10-22 | 2023-04-25 | 华为技术有限公司 | 一种合约管理方法、装置及系统 |
CN115175139A (zh) * | 2022-06-29 | 2022-10-11 | 中国人民解放军陆军工程大学 | 基于反向二层区块链的无人机集群协同通信方法及装置 |
CN116545606A (zh) * | 2023-04-23 | 2023-08-04 | 嵩山实验室 | 一种无人机群区块链网络构建方法 |
Non-Patent Citations (2)
Title |
---|
军事区块链:从不对称的战争到对称的和平;王飞跃等;指挥与控制学报;20180915;第4卷(第3期);全文 * |
区块链隐私保护技术综述;张家硕等;保密科学技术;20200120(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117979281A (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190182028A1 (en) | Blockchain system for pattern recognition | |
CN110599095B (zh) | 基于区块链网络的危废处理方法及区块链网络的节点 | |
JP2020182214A (ja) | ブロックチェーンおよびオフチェーン装置の連携のための検証システムおよび方法 | |
CN110730225A (zh) | 基于区块链的物联网的数据处理方法、物联网及存储介质 | |
CN111934996A (zh) | 消息传输方法及装置 | |
CN111447069B (zh) | 一种基于区块链的低频访问数据处理方法 | |
JP2020182215A (ja) | チェーンデータの検証システムおよび方法 | |
CN111885133A (zh) | 基于区块链的数据处理方法、装置及计算机存储介质 | |
CN111681011B (zh) | 数据处理方法、区块链系统、计算机系统和介质 | |
CN115587114A (zh) | 系统以及查询方法 | |
CN117979281B (zh) | 面向无人机的区块链侧链创建方法和交互方法 | |
CN113886495A (zh) | 验证区块链数据的方法、装置、电子设备和存储介质 | |
CN117609372A (zh) | 一种区块链的dapps的分布系统 | |
CN112988738B (zh) | 用于区块链的数据分片方法和装置 | |
CN115632774A (zh) | 一种基于门限签名的分布式预言机实现方法及系统 | |
CN114358776A (zh) | 基于fisco bcos与ipfs的物联网溯源方法、及其相关设备 | |
CN112052341A (zh) | 知识图谱剪枝方法及装置 | |
CN116029729B (zh) | 基于动态接入应用链管理合约模式的跨链方法及系统 | |
CN117688217B (zh) | 基于有向图实现数据血缘关系结构的系统、方法及介质 | |
CN117539962B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN117828647B (zh) | 区块链事务上链方法、相关装置和介质 | |
CN116633699B (zh) | 基于区块链的产品防伪溯源信息可信处理方法及系统 | |
CN116663068B (zh) | 联盟链归档方法、相关装置和介质 | |
CN116760632B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN118410204B (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 |