Method for sharing models among autonomous vehicles based on blockchain
11509472 · 2022-11-22
Assignee
Inventors
Cpc classification
H04L9/3239
ELECTRICITY
H04L9/3066
ELECTRICITY
H04L9/3297
ELECTRICITY
H04W4/44
ELECTRICITY
International classification
H04L9/30
ELECTRICITY
H04W4/44
ELECTRICITY
Abstract
The present disclosure discloses a method for sharing models among autonomous vehicles based on a blockchain, the method comprising the steps of: 1) creating a mobile edge computing network; 2) generating a key pair for each node in the mobile edge computing network; 3) creating a local model set of a mobile node set in the mobile node computing network; 4) enabling each mobile node to communicate with a corresponding nearest mobile edge computing node; 5) creating supernode sequences by the mobile edge computing node; 6) creating a blockchain based on the supernode sequences; and 7) updating the local model set.
Claims
1. A method for sharing models among autonomous vehicles based on a blockchain, comprising the steps of: (1) creating a mobile edge computing network by: providing autonomous vehicles each installed with on-board sensors as mobile nodes and providing road side units as mobile edge computing nodes, and creating the mobile edge computing network configured for a wireless communication between each mobile node and each mobile edge computing node by using a mobile node set V comprising m mobile nodes and a mobile edge computing node set MECN comprising n mobile edge computing nodes, where V={v.sub.1,v.sub.2, . . . ,v.sub.j, . . . ,v.sub.m}, v.sub.j represents a j-th mobile node and m≥2, and MECN={MECN.sub.1, MECN.sub.2, . . . , MECN.sub.k, . . . , MECN.sub.n}, MECN.sub.k represents a k-th mobile edge computing node and n≥50; (2) generating a key pair for each mobile node and each mobile edge computing node in the mobile edge computing network by: calculating a first key pair for each mobile node and a second key pair for each mobile edge computing node in the mobile edge computing network by using the Elliptic Curve Cryptography, to obtain a first key pair set Key.sub.V of the mobile node set V and a second key pair set Key.sub.MECN of the mobile edge computing node set MECN, wherein
Key.sub.V={(K.sub.1.sup.pu,K.sub.1.sup.pr),(K.sub.2.sup.pu,K.sub.2.sup.pr), . . . ,(K.sub.j.sup.pu,K.sub.j.sup.pr), . . . ,(K.sub.m.sup.pu,K.sub.m.sup.pr)}
Key.sub.MECN={(
LM={lm.sub.1,lm.sub.2, . . . ,lm.sub.j, . . . ,lm.sub.m} where lm.sub.j represents a local model of the j-th mobile node v.sub.j; (4) enabling the j-th mobile node v.sub.j to communicate with the nearest k-th mobile edge computing node MECN.sub.k from the j-th mobile node v.sub.j by the sub-steps of: (4a) selecting, by the j-th mobile node v.sub.j, the nearest k-th mobile edge computing node MECN.sub.k from the j-th mobile node v.sub.j, based on the environmental perception information acquired by the sensors of the j-th mobile node v.sub.j, and sending a local model uploading request L_Req.sub.v.sub.
2. The method according to claim 1, wherein in step (2), calculating the first key pair for each mobile node and the second key pair for each mobile edge computing node in the mobile edge computing network by using the Elliptic Curve Cryptography further comprises the sub-steps of: (2a) selecting a base point G on an elliptic curve by using the Elliptic Curve Cryptography, and generating a first 256-bit random number K.sub.j.sup.pr for the j-th mobile node v.sub.j and a second 256-bit random number
K.sub.j.sup.pu=K.sub.j.sup.pr.Math.G
3. The method according to claim 1, wherein in step (5b), selecting, by the mobile edge computing node set MECN, 21 mobile edge computing nodes as supernodes depending on a BFT-DPoS consensus mechanism comprises the step of: voting, by the mobile edge computing node set MECN, the 21 mobile edge computing nodes as the supernodes depending on the BFT-DPoS consensus mechanism in which all of the mobile edge computing nodes in the mobile edge computing node set MECN are considered as voting nodes and candidate nodes simultaneously, to obtain the 21 mobile edge computing nodes with the highest number of votes and set the 21 mobile edge computing nodes as the supernodes.
4. The method according to claim 1, wherein in step (7b), the parameter updating formulas are as below
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
(3) The present disclosure will be further described in detail below in conjunction with the drawings and specific embodiments.
(4) Referring to
(5) Step 1) creating a mobile edge computing network by: providing autonomous vehicles each installed with on-board sensors as mobile nodes and providing road side units as mobile edge computing nodes, and creating the mobile edge computing network configured for a wireless communication between each mobile node and each mobile edge computing node by using a mobile node set V comprising m mobile nodes and a mobile edge computing node set MECN comprising n mobile edge computing nodes, where V={v.sub.1,v.sub.2, . . . ,v.sub.j, . . . ,v.sub.m}, v.sub.j represents a j-th mobile node and m≥2, and MECN={MECN.sub.1, MECN.sub.2, . . . , MECN.sub.k, . . . , MECN.sub.n}, MECN.sub.k represents a k-th mobile edge computing node and n≥50;
(6) In an optional embodiment, m=4 and n=50, and for example an autonomous vehicle named TOYOTA RAV4 configured with an in-vehicle communication system and a comma.ai autopilot is selected as a mobile node. The autonomous vehicle has a driving speed in the range of 30˜50 km/h and an acceleration in the range of −2˜2 m/s.sup.2.
(7) Step 2) generating a key pair for each mobile node and each mobile edge computing node in the mobile edge computing network by the sub-steps of: (2a) selecting a base point G on an elliptic curve by using the Elliptic Curve Cryptography, and generating a first 256-bit random number K.sub.j.sup.pr for the j-th mobile node v.sub.j and a second 256-bit random number
K.sub.j.sup.pu=K.sub.j.sup.pr.Math.G
Key.sub.V={(K.sub.1.sup.pu,K.sub.1.sup.pr),(K.sub.2.sup.pu,K.sub.2.sup.pr), . . . ,(K.sub.j.sup.pu,K.sub.j.sup.pr), . . . ,(K.sub.m.sup.pu,K.sub.m.sup.pr)}
Key.sub.MECN={(
(8) Step 3) creating a local model set LM of the mobile node set V by: inputting, by each mobile node, environmental perception information acquired by the on-board sensors of each mobile node, to a deep neural network DNN for iterative training, to obtain the local model set LM of the mobile node set V, wherein
LM={lm.sub.1,lm.sub.2, . . . ,lm.sub.j, . . . ,lm.sub.m} where lm.sub.j represents a local model of the j-th mobile node v.sub.j
(9) In an optional embodiment, the DNN comprises 5 layers and each layer comprises 20 nodes.
(10) Step 4) enabling the j-th mobile node v.sub.j to communicate with the nearest k-th mobile edge computing node MECN.sub.k from the j-th mobile node v.sub.j by the sub-steps of: (4a) selecting, by the j-th mobile node v.sub.j, the nearest k-th mobile edge computing node MECN.sub.k from the j-th mobile node v.sub.j, based on the environmental perception information acquired by the sensors of the j-th mobile node v.sub.j, and sending a local model uploading request L_Req.sub.v.sub.
(11)
(12)
(13) As the identity of the j-th mobile node v.sub.j sending the local model uploading request L_Rec.sub.v.sub.
(14) Step 5) creating P supernode sequences, by the mobile edge computing node set MECN, by the sub-steps of: (5a) setting the number of iterations as p, where initially p=1, and setting the maximum number of iterations as P, where P≥1; (5b) voting, by the mobile edge computing node set MECN, 21 mobile edge computing nodes as supernodes depending on a BFT-DPoS consensus mechanism in which all of the mobile edge computing nodes in the mobile edge computing node set MECN are considered as voting nodes and candidate nodes simultaneously, to obtain the 21 mobile edge computing nodes with the highest number of votes and set the 21 mobile edge computing nodes as the supernodes
(15) Step 6) creating a blockchain based on the P supernode sequences, as shown in
(16) Every block except the genesis block in the blockchain to be created is generated by using the Hash Value of a previous block. Thus, it is necessary to modify data in all of the previous blocks to the genesis block for modifying data in the present block. The extreme difficulty of modifying the data ensures that the model in the blockchain would not be falsified by the malicious nodes, so as to significantly increase the accuracy of the decision made for autonomous driving.
(17) (7) updating the local model set LAI by the sub-steps of: (7a) downloading, by the j-th mobile node v.sub.j, the LM in an end block of the blockchain, and calculating a weight
(18)
(19)
(20)
represents a loss function related to
(21) Each mobile node may further include a first processor, a first memory and a first transceiver. The first processor may be configured to implement the proposed functions, procedures and/or methods as described in this description. Layers of the radio interface protocol may be implemented in the first processor. The first memory is operatively coupled with the first processor and stores a variety of information to operate the first processor. The first transceiver is operatively coupled with the first processor, and transmits and/or receives a radio signal.
(22) Similarly, each mobile edge computing node may include a second processor, a second memory and a second transceiver. The second processor may be configured to implement the proposed functions, procedures and/or methods as described in this description. Layers of the radio interface protocol may be implemented in the second processor. The second memory is operatively coupled with the second processor and stores a variety of information to operate the second processor. The second transceiver is operatively coupled with the second processor, and transmits and/or receives a radio signal.
(23) The first and second processors may include application-specific integrated circuit (ASIC), other chipset, logic circuit and/or data processing device. The first and second memories may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium and/or other storage device. The first and second transceivers may include baseband circuitry to process radio frequency signals. When the embodiments described above are implemented in software, the techniques described herein can be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The modules can be stored in memories and executed by processors. The first and second memories can be implemented within the first and second processors or external to the first and second processors in which case the memories can be communicatively coupled to the first and second processors via various means as is known in the art.
(24) The flowcharts in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. It is well-known to a person skilled in the art that the implementations of using hardware, using software or using the combination of software and hardware can be equivalent with each other.
(25) The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the present invention is defined by the attached claims.