CN109922149A - 一种基于区块链的车联网数据交换模型 - Google Patents

一种基于区块链的车联网数据交换模型 Download PDF

Info

Publication number
CN109922149A
CN109922149A CN201910166226.1A CN201910166226A CN109922149A CN 109922149 A CN109922149 A CN 109922149A CN 201910166226 A CN201910166226 A CN 201910166226A CN 109922149 A CN109922149 A CN 109922149A
Authority
CN
China
Prior art keywords
node
message
chain
alliance
nodes
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.)
Pending
Application number
CN201910166226.1A
Other languages
English (en)
Inventor
王国军
王啟帆
周雷
齐芳
雷向东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN201910166226.1A priority Critical patent/CN109922149A/zh
Publication of CN109922149A publication Critical patent/CN109922149A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Traffic Control Systems (AREA)

Abstract

本发明提供了一种基于区块链的车联网数据交换模型,模型基于联盟链(Consortium Blockchain)加中继链(Relay‑Chain),模型中的节点包括路边基础设施单元(RodeSide Unit,RSU)以及车辆单元(Onboard Unit),模型中各个节点都参与进来。通过设计节点之间的属性访问策略匹配,减少不必要的区块生成,降低区块链开销。将联盟链与跨链技术结合,实现不同联盟之间的消息传递。而且该模型实现过程规范、易操作。

Description

一种基于区块链的车联网数据交换模型
技术领域
本发明属于计算机科学与技术领域,特别涉及一种基于区块链的车联网数据交换模型。
背景技术
随着城市的发展,人们对交通出行的需求越来越高,城市中的车辆数目也越来越多,智能交通***在提升交通***运行效率方面正发挥着越来越重要的作用。其中,车联网(Vehicular Ad-hoc Network,VANET)是智能交通***(Intelligent TransportationSystem,ITS)的核心组成部分。车联网是由行驶在交通道路上的具有感知、计算、存储和无线通信能力的移动车辆以及道路上的基础通信设施而组成的新型自组织网络。它可以对交通全过程进行智能化控制,有效提高交通行驶安全以及方便用户驾驶,同时也为日常出行或者出行娱乐等交通增值服务提供了有效平台。
随着车联网技术的快速发展,出现许多可用于智能交通***的无线通信技术,包括3G/4G,WIFI,WAVE等。其中WAVE(Wireless Access in Vehicule Environment)协议栈是由DSRC(Dedicated Short Range Communication)标准发展而来的,包括IEEE 802.11p和IEEE P1609两部分。因此,车联网中的车辆需要支持IEEE 802.11p标准的内置的车载单元(On Board Unit,OBU)。行驶在公路上的车辆使用车内OBU定期发送安全信息。车联网的信息传递分为Vehicle-to-Vehicle(V2V)以及Vehicle-to-Infrastructure(V2I)。随着车联网的发展,隐私保护以及信息安全的问题越来越重要,然而由于车联网复杂的通信环境,导致通信过程存在诸多的安全隐患,例如:消息篡改、伪造、窃取等攻击、因此,近年来许多研究者针对车联网中身份认证、信息完整性、不可否认性等安全问题进行了研究。传统的车联网网络架构分为四层:第一层是中心管理机构,也就是证书管理机构CertificateAuthorities(CAs),第二层由一系列安全域组成,负责管理加密相关的信息材料,第三层由RSU组成,RSU按照一定规律建在公路上,最后一层是车辆节点。传统的中心化结构赋予了证书机构很大的权力,无法保证数据中心的安全,攻击者采取一定的攻击手段窃取和伪造用户的隐私信息,随意篡改消息,容易造成单点故障,即:可信授权中心被攻破无法正常工作等安全问题。
发明内容
本发明针对智能交通***中的车联网应用场景,设计一种基于区块链的车联网数据交换模型,模型基于联盟链(Consortium Blockchain)加中继链(Relay-Chain),模型中的节点包括路边基础设施单元(RodeSide Unit,RSU)以及车辆单元(Onboard Unit)。联盟链有多个按照方案中的定义划分的联盟构成,比如:商圈、飞机场、火车站等等。在商圈联盟链中,有多个车辆节点OBU,路边单元RSU。其中,RSU可以是商圈中的商店、加油站、收费站甚至是某个路口的交通灯监控***。联盟中的RSU按照区域划分成中心节点和边缘节点,某些中心节点在后续作为记账节点存在,边缘节点参与构成中继链中的节点,用以实现城市中各个联盟链之间的信息传递。基于此模型,车辆节点可以方便的传递信息,共享实时交通信息以及城市热点信息,实现去中心化的车联网***中节点之间的信息传递,解决传统中心化架构中存在的单点故障安全问题以及区块链中生成区块开销问题。
1.一种基于区块链的车联网数据交换模型,包括以下步骤:
步骤1:模型采用联盟链架构,在车联网中存在多个联盟,每个联网中的节点之间进行信息传递;
所述联盟链指的是共识过程中可以收到预选节点控制的区块链,在该模型中,通常选取联盟中处于区域中心的某些RSU节点作为记账节点,参与共识过程;
所述节点之间信息传递指的是一个车辆节点OBU发送一则消息,通过广播的形式传递,当其他车辆节点接收并验证成功后,通过共识算法共识生成记录区块,记入区块链网络中;
步骤2:用户在所处联盟区域中行驶时,提交一定的积分,发送一条实时消息,经过广播,等待其他车辆节点OBU响应并且验证成功;
所述积分指的是发送消息的车辆节点需要提交一定的积分,只有当其他车辆节点获取该条消息并且匹配成功之后生成响应区块,随之提交给记账节点通过共识之后返回积分给发送消息的车辆节点。
所述信息发送节点OBU1发送实时消息是指OBU1他向该联盟区域广播一条信息,它需要付出一定积分,之后该条信息被广播,等待其他车辆节点获取信息尝试匹配;
步骤3:其他车辆节点OBUX收到广播的消息,首先尝试进行访问策略匹配,匹配成功的用户才可以接收此条消息,之后接收消息的车辆节点OBUX需要提交一定的积分作为押金,之后将此条记录发送给记账节点,等待记账节点按照共识算法共识完成,加入区块链网络中;
所述访问策略匹配指的是准备接收消息的车辆节点OBUX需要通过自己的属性去匹配发送消息的车辆节点OBU1制定的访问策略树。例如:OBU1制定访问策略树{AND{“Parking”,OR{“Fee”,“next to the mall”,“Remaining space>3”}}},另一个车辆节点OBU2的属性是{“Parking”,“Free”,“Remaining space=5”};
所述接收消息的车辆节点OBUX提交积分作为押金指的是防止其他车辆节点虚假响应。例如:有的车辆节点没有匹配成功也会发送此条消息记录,随意去匹配消息。
所述记账节点通过共识算法验证此条记录指的是当消息匹配成功,接收消息的车辆节点OBUX可获取该条消息内容,之后将此条记录发送给记账节点等待共识。如果通过共识算法验证成功,则该条记录可加入联盟区块网络中;
所述共识算法指的是联盟链中常采用的防拜占庭容错的共识算法PBFT,PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式***的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。通常假设故障节点数为m个,整个服务节点数为|R|=3m+1个,这里m是有可能失效的副本的最大个数。尽管可以存在多于3m+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
所述PBFT算法步骤如下:
步骤A:从联盟所有节点选举出一个主节点(Leader),新区块由主节点负责生成;
步骤B:Pre-Prepare阶段:每个节点把客户端发来的交易向联盟中其他节点广播,主节点Node1将从网络收集到需放在新区块内的多个交易排序后存入列表,并将该列表向联盟广播,扩散至其他节点Node2、Node3、Node4等;
步骤C:Prepare阶段:每个节点接收到交易列表后,根据排序模拟执行这些交易。所有交易执行完后,基于交易结果计算新区块的哈希摘要,并向全网广播,Node2->Node1Node3Node4,Node3->Node1Node2Node4,Node4因为宕机无法广播(联盟中可能会出现这样的节点);
步骤D:Commit阶段:如果一个节点收到的2m(m为可容忍的拜占庭节点数)个其它节点发来的摘要都和自己相等,就向全网广播一条commit消息;
步骤E:Reply阶段:如果一个节点收到2m+1条commit消息,即可提交新生成的响应区块及其交易(发送的消息)到本地的区块链和状态数据库;
步骤4:每个联盟链中的消息进行共享,传递给其他联盟中需要知道此条消息的车辆节点,通过Tendermint团队开发的Cosmos跨链技术实现;
所述消息共享传递指的是每个联盟中通过记账节点共识验证成功的区块在联盟之间相互传递,共享给其他需要获得此类消息的车辆节点,例如:高速路区域联盟的车辆节点希望获得有关商圈中停车以及美食的消息;
所述的Cosmos跨链技术指的是Tendermint团队开发的技术。Cosmos是由许多被称之为“分区”的独立区块链组成的网络。Cosmos的第一个分区称之为Cosmos枢纽。Cosmos枢纽是一种多资产权益证明加密货币网络,它通过简单的治理机制能够对网络进行适配和升级。此外,Cosmos枢纽可以通过链接其他分区来实现扩展。
Cosmos网络的枢纽及各个分区可以通过区块链间通信(IBC)协议进行通信,这种协议就是针对区块链的虚拟用户数据报协议(UDP)或者传输控制协议(TCP)。代币可以安全、快速地从一个分区转到其他分区,而无需在两个分区之间拥具有汇兑流动性。相反,所有跨分区的代币转移都会通过Cosmos枢纽,以此来追踪记录每个分区持有代币的总量。这个枢纽会将每个分区与其他故障分区隔离开。因为每个人都可以将新的分区连接到Cosmos枢纽,所以分区将可以向后兼容新的区块链技术。利用Cosmos可以实现区块链间的互操作,其中,cosmos枢纽与分区之间采用跨链通信IBC。
步骤5:每个联盟中的节点之间通过以上步骤进行消息传递,进而通过cosmos跨链技术实现全网的信息传递。
有益效果
本发明提供一种基于区块链的车联网数据交换模型,在联盟链以及中继链的基础上,实现去中心化的车联网通信模型,支持用户行驶过程中传递实时消息,解决传统的车联网中心化结构中存在的安全以及性能问题。在该模型中,通过把城市中多个不同属性的区域划分成多个联盟,进而由不同节点组成联盟链,组成广泛的自理共同体,传递消息的速度更快。考虑到联盟中会有大量节点并且发生多次消息传递,如果验证消息成功需要生成大量的区块,提供一种匹配访问策略机制,匹配成功的才会尽进行验证,产生区块加入区块链网络。这种机制大幅度减少不必要的记录产生,从而降低了生成区块的开销。通过引入积分制度,对于传递虚假消息的节点扣掉其实现提交的积分,对于接收消息的节点,如果虚假响应,将会扣掉之前作为押金的积分,尽可能的保证信息的真实性、有效性。通过引入中继技术(Cosmos),实现该模型中不同联盟的交易,即消息传递。
附图说明
图1为本发明的***结构示意图;
图2为本发明中访问策略结构示意图;
图3为本发明中消息传递的流程图。
具体实施方式
下面结合具体实例和说明书附图对本发明作进一步说明。
在本实施例中,由于联盟链涉及区域多并且之间距离比较远,因此通过程序生成联盟中各个节点位置代替,通过仿真实验运行本实施例。结合JAVA区块链开源项目,联盟链采用JAVA语言,基于SpringBoot开发实现,车辆节点在程序中有不同的节点IP。Block内存储的是SQL语句,内嵌数据库采用MySQL。跨链技术采用开源项目Cosmos,只需要调用Cosmos-SDK,开发Plugin,处理特有业务,编写符合ABCI接口的应用程序。
一种基于区块链的车联网消息传递模型,包括以下几个步骤:
步骤1:模型采用联盟链架构,在车联网中存在多个联盟,每个联网中的节点之间进行信息传递;
所述联盟链指的是共识过程中可以收到预选节点控制的区块链,在该模型中,通常选取联盟中处于区域中心的某些RSU节点作为记账节点,参与共识过程;
所述节点之间信息传递指的是一个车辆节点OBU发送一则消息,通过广播的形式传递,当其他车辆节点接收并验证成功后,通过共识算法共识生成记录区块,记入区块链网络中;
在本实例中,节点发送一条消息M,接下来制定访问策略。
步骤2:用户在所处联盟区域中行驶时,提交一定的积分,发送一条实时消息,经过广播,等待其他车辆节点OBU响应并且验证成功;
所述积分指的是发送消息的车辆节点需要提交一定的积分,只有当其他车辆节点获取该条消息并且匹配成功之后生成响应区块,随之提交给记账节点通过共识之后返回积分给发送消息的车辆节点。
所述信息发送节点OBU1发送实时消息是指OBU1他向该联盟区域广播一条信息,它需要付出一定积分,之后该条信息被广播,等待其他车辆节点获取信息尝试匹配;
步骤3:其他车辆节点OBUX收到广播的消息,首先尝试进行访问策略匹配,匹配成功的用户才可以接收此条消息,之后接收消息的车辆节点OBUX需要提交一定的积分作为押金,之后将此条记录发送给记账节点,等待记账节点按照共识算法共识完成,加入区块链网络中;
所述访问策略匹配指的是准备接收消息的车辆节点OBUX需要通过自己的属性去匹配发送消息的车辆节点OBU1制定的访问策略树。例如:OBU1制定访问策略树{AND{“Parking”,OR{“Fee”,“next to the mall”,“Remaining space>3”}}},另一个车辆节点OBU2的属性是{“Parking”,“Free”,“Remaining space=5”};
本实例中,程序采用以下代码作为访问策略以及用户属性:
//实例1
static String[]attr={"baf1","fim","foo"};
static String policy="bar foo fim goo 1of2baf1 1of2 2of3baf bob 1of21of2";
//实例2
static String[]attr_sara={
"hire_date_flexint_0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"hire_date_flexint_1332980893",
"hire_date_flexint_x0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"hire_date_flexint_xx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"hire_date_flexint_xxx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"hire_date_flexint_xxxx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
……
"hire_date_ge_2^02","hire_date_ge_2^04","hire_date_ge_2^08","hire_date_ge_2^16",
"hire_date_lt_2^32","it_department",
"office_flexint_0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"office_flexint_1431",
"office_flexint_x0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
……
"office_ge_2^02","office_ge_2^04","office_ge_2^08",
"office_lt_2^16","office_lt_2^32","sysadmin"};
static String policy_kevin_or_sara=
"hire_date_flexint_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xxxxx
"+"hire_date_flexint_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xxxx"
+"2of2hire_date_flexint_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xxxxxxxx"
+"hire_date_flexint_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xxxxxxx"
+"hire_date_flexint_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xxxxxx"
+
……
+"1of2executive_level_ge_2^04executive_level_ge_2^08executive_level_ge_2^16executive_level_ge_2^32 1of5audit_group strategy_team 2of3business_staff 2of2 1of2";
所述接收消息的车辆节点OBUX提交积分作为押金指的是防止其他车辆节点虚假响应。例如:有的车辆节点没有匹配成功也会发送此条消息记录,随意去匹配消息。
所述记账节点通过共识算法验证此条记录指的是当消息匹配成功,接收消息的车辆节点OBUX可获取该条消息内容,之后将此条记录发送给记账节点等待共识。如果通过共识算法验证成功,则该条记录可加入联盟区块网络中;
通过读取访问策略中的非叶子节点的值,识别成分割的字符串,最后去属性匹配:
所述共识算法指的是联盟链中常采用的防拜占庭容错的共识算法PBFT,PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式***的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。通常假设故障节点数为m个,整个服务节点数为|R|=3m+1个,这里m是有可能失效的副本的最大个数。尽管可以存在多于3m+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
所述PBFT算法步骤如下:
步骤A:从联盟所有节点选举出一个主节点(Leader),新区块由主节点负责生成;
步骤B:Pre-Prepare阶段:每个节点把客户端发来的交易向联盟中其他节点广播,主节点Node1将从网络收集到需放在新区块内的多个交易排序后存入列表,并将该列表向联盟广播,扩散至其他节点Node2、Node3、Node4等;
步骤C:Prepare阶段:每个节点接收到交易列表后,根据排序模拟执行这些交易。所有交易执行完后,基于交易结果计算新区块的哈希摘要,并向全网广播,Node2->Node1Node3Node4,Node3->Node1Node2Node4,Node4因为宕机无法广播(联盟中可能会出现这样的节点);
步骤D:Commit阶段:如果一个节点收到的2m(m为可容忍的拜占庭节点数)个其它节点发来的摘要都和自己相等,就向全网广播一条commit消息;
步骤E:Reply阶段:如果一个节点收到2m+1条commit消息,即可提交新生成的响应区块及其交易(发送的消息)到本地的区块链和状态数据库;
当每个节点都收到2m+1个对同一个view的提议后,以下程序代表生成新的区块:
从服务器获取各节点ip port列表,加入group:
步骤4:每个联盟链中的消息进行共享,传递给其他联盟中需要知道此条消息的车辆节点,通过Tendermint团队开发的Cosmos跨链技术实现;
所述消息共享传递指的是每个联盟中通过记账节点共识验证成功的区块在联盟之间相互传递,共享给其他需要获得此类消息的车辆节点,例如:高速路区域联盟的车辆节点希望获得有关商圈中停车以及美食的消息;
所述的Cosmos跨链技术指的是Tendermint团队开发的技术。Cosmos是由许多被称之为“分区”的独立区块链组成的网络。Cosmos的第一个分区称之为Cosmos枢纽。Cosmos枢纽是一种多资产权益证明加密货币网络,它通过简单的治理机制能够对网络进行适配和升级。此外,Cosmos枢纽可以通过链接其他分区来实现扩展。
Cosmos网络的枢纽及各个分区可以通过区块链间通信(IBC)协议进行通信,这种协议就是针对区块链的虚拟用户数据报协议(UDP)或者传输控制协议(TCP)。代币可以安全、快速地从一个分区转到其他分区,而无需在两个分区之间拥具有汇兑流动性。相反,所有跨分区的代币转移都会通过Cosmos枢纽,以此来追踪记录每个分区持有代币的总量。这个枢纽会将每个分区与其他故障分区隔离开。因为每个人都可以将新的分区连接到Cosmos枢纽,所以分区将可以向后兼容新的区块链技术。利用Cosmos可以实现区块链间的互操作,其中,cosmos枢纽与分区之间采用跨链通信IBC。
Github上的cosmos-sdk开源代码有以下:client、crypto、networks、servers、tools、scripts等等核心代码包。其中,ABCI App程序的逻辑实现在app以及server目录。App程序的逻辑相对简单,主要是实现ABCI的接口,调用Stack,具体的操作由Stack的一个个的middleware处理。
通过实现Msg接口来创建消息:
消息用JSON编码并由发送人签名:
实现了核心逻辑之后,通过初始化存储,调用ABCI接口。开始进行消息传递。
用账户信息填充存储:
步骤5:每个联盟中的节点之间通过以上步骤进行消息传递,进而通过cosmos跨链技术实现全网的信息传递。
实例结果分析,通过该模型可大幅度降低不必要的区块生成,生成区块开销平均减少42.5%,降低区块开销,提升效率;同时本发明在联盟链的基础上采用Cosmos跨链技术实现区块链之间一大难题,链链之间的交易。尽管跨链技术仍在不断完善发展,该发明初步结合此技术解决车联网去中心化问题以及实现不同联盟之间的信息传递。

Claims (3)

1.一种基于区块链的车联网数据交换模型,包括以下步骤:
步骤1:模型采用联盟链架构,在车联网中存在多个联盟,每个联网中的节点之间进行信息传递;
所述联盟链指的是共识过程中可以收到预选节点控制的区块链,在该模型中,通常选取联盟中处于区域中心的某些RSU节点作为记账节点,参与共识过程;
所述节点之间信息传递指的是一个车辆节点OBU发送一则消息,通过广播的形式传递,当其他车辆节点接收并验证成功后,通过共识算法共识生成记录区块,记入区块链网络中;
步骤2:用户在所处联盟区域中行驶时,提交一定的积分,发送一条实时消息,经过广播,等待其他车辆节点OBU响应并且验证成功;
所述积分指的是发送消息的车辆节点需要提交一定的积分,只有当其他车辆节点获取该条消息并且匹配成功之后生成响应区块,随之提交给记账节点通过共识之后返回积分给发送消息的车辆节点。
所述信息发送节点OBU1发送实时消息是指OBU1他向该联盟区域广播一条信息,它需要付出一定积分,之后该条信息被广播,等待其他车辆节点获取信息尝试匹配;
步骤3:其他车辆节点OBUX收到广播的消息,首先尝试进行访问策略匹配,匹配成功的用户才可以接收此条消息,之后接收消息的车辆节点OBUX需要提交一定的积分作为押金,之后将此条记录发送给记账节点,等待记账节点按照共识算法共识完成,加入区块链网络中;
所述访问策略匹配指的是准备接收消息的车辆节点OBUX需要通过自己的属性去匹配发送消息的车辆节点OBU1制定的访问策略树。例如:OBU1制定访问策略树{AND{“Parking”,OR{“Fee”,“next to the mall”,“Remaining space>3”}}},另一个车辆节点OBU2的属性是{“Parking”,“Free”,“Remaining space=5”};
所述接收消息的车辆节点OBUX提交积分作为押金指的是防止其他车辆节点虚假响应。例如:有的车辆节点没有匹配成功也会发送此条消息记录,随意去匹配消息。
所述记账节点通过共识算法验证此条记录指的是当消息匹配成功,接收消息的车辆节点OBUX可获取该条消息内容,之后将此条记录发送给记账节点等待共识。如果通过共识算法验证成功,则该条记录可加入联盟区块网络中;
所述共识算法指的是联盟链中常采用的防拜占庭容错的共识算法PBFT,PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式***的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。通常假设故障节点数为m个,整个服务节点数为|R|=3m+1个,这里m是有可能失效的副本的最大个数。尽管可以存在多于3m+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
所述PBFT算法步骤如下:
步骤A:从联盟所有节点选举出一个主节点(Leader),新区块由主节点负责生成;
步骤B:Pre-Prepare阶段:每个节点把客户端发来的交易向联盟中其他节点广播,主节点Node1将从网络收集到需放在新区块内的多个交易排序后存入列表,并将该列表向联盟广播,扩散至其他节点Node2、Node3、Node4等;
步骤C:Prepare阶段:每个节点接收到交易列表后,根据排序模拟执行这些交易。所有交易执行完后,基于交易结果计算新区块的哈希摘要,并向全网广播,Node2->Node1 Node3Node4,Node3->Node1 Node2 Node4,Node4因为宕机无法广播(联盟中可能会出现这样的节点);
步骤D:Commit阶段:如果一个节点收到的2m(m为可容忍的拜占庭节点数)个其它节点发来的摘要都和自己相等,就向全网广播一条commit消息;
步骤E:Reply阶段:如果一个节点收到2m+1条commit消息,即可提交新生成的响应区块及其交易(发送的消息)到本地的区块链和状态数据库;
步骤4:每个联盟链中的消息进行共享,传递给其他联盟中需要知道此条消息的车辆节点,通过Tendermint团队开发的Cosmos跨链技术实现;
所述消息共享传递指的是每个联盟中通过记账节点共识验证成功的区块在联盟之间相互传递,共享给其他需要获得此类消息的车辆节点,例如:高速路区域联盟的车辆节点希望获得有关商圈中停车以及美食的消息;
所述的Cosmos跨链技术指的是Tendermint团队开发的技术。Cosmos是由许多被称之为“分区”的独立区块链组成的网络。Cosmos的第一个分区称之为Cosmos枢纽。Cosmos枢纽是一种多资产权益证明加密货币网络,它通过简单的治理机制能够对网络进行适配和升级。此外,Cosmos枢纽可以通过链接其他分区来实现扩展。
Cosmos网络的枢纽及各个分区可以通过区块链间通信(IBC)协议进行通信,这种协议就是针对区块链的虚拟用户数据报协议(UDP)或者传输控制协议(TCP)。代币可以安全、快速地从一个分区转到其他分区,而无需在两个分区之间拥具有汇兑流动性。相反,所有跨分区的代币转移都会通过Cosmos枢纽,以此来追踪记录每个分区持有代币的总量。这个枢纽会将每个分区与其他故障分区隔离开。因为每个人都可以将新的分区连接到Cosmos枢纽,所以分区将可以向后兼容新的区块链技术。利用Cosmos可以实现区块链间的互操作,其中,cosmos枢纽与分区之间采用跨链通信IBC。
步骤5:每个联盟中的节点之间通过以上步骤进行消息传递,进而通过cosmos跨链技术实现全网的信息传递。
2.根据权利要求1所述的方法,其特征在于,区别于传统的基于中心化架构的车联网,该发明基于联盟链以及中继链实现,采用跨链技术解决区块链之间的交易难题,在一定程度上实现去中心化,解决单点故障问题以及性能问题。该发明中联盟链里路边设施单元节点可以是加油站、零售店、交通监控设施等节点,便于共识过程中验证区块信息的正确性。
3.根据权利要求1所述的方法,其特征在于,所述访问策略匹配包括以下步骤:
步骤1:发送消息节点OBU1制定属于自己的访问策略树{AND{“Parking”,OR{“Fee”,“next to the mall”,“Remaining space>3”}}};
步骤2:接收消息的节点先进行匹配,OBU2的属性是{“Parking”,“Free”,“Remainingspace=5”};通过匹配OBU1的访问策略发现OBU2的属性符合该访问策略,则OBU2可获得该条消息,之后由OBU2发送该条记录给记账节点,通过共识验证是否生成新区块。
CN201910166226.1A 2019-03-06 2019-03-06 一种基于区块链的车联网数据交换模型 Pending CN109922149A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910166226.1A CN109922149A (zh) 2019-03-06 2019-03-06 一种基于区块链的车联网数据交换模型

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910166226.1A CN109922149A (zh) 2019-03-06 2019-03-06 一种基于区块链的车联网数据交换模型

Publications (1)

Publication Number Publication Date
CN109922149A true CN109922149A (zh) 2019-06-21

Family

ID=66963438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910166226.1A Pending CN109922149A (zh) 2019-03-06 2019-03-06 一种基于区块链的车联网数据交换模型

Country Status (1)

Country Link
CN (1) CN109922149A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535687A (zh) * 2019-07-30 2019-12-03 大连理工大学 一种基于车联网环境下轻量级区块链的协同缓存方法
CN110766408A (zh) * 2019-10-24 2020-02-07 杭州趣链科技有限公司 异构区块链的跨链交易验证方法、引擎、设备和存储介质
CN110942524A (zh) * 2019-12-05 2020-03-31 中国科学院自动化研究所 基于区块链的云边端协同停车管理计时收费***、方法
CN110995852A (zh) * 2019-12-12 2020-04-10 北京诚达交通科技有限公司 车辆路径记录方法和***
CN111050303A (zh) * 2019-12-13 2020-04-21 国家计算机网络与信息安全管理中心山东分中心 一种基于区块链技术的智能车联网实现方法及***
CN111064800A (zh) * 2019-12-26 2020-04-24 杭州云象网络技术有限公司 一种基于区块链技术的安全车联社交网络建设方法
CN111277978A (zh) * 2020-01-21 2020-06-12 南京如般量子科技有限公司 基于秘密共享和联盟链的车联网***及方法
CN111404962A (zh) * 2020-03-26 2020-07-10 杭州复杂美科技有限公司 联盟链节点数据传输方法、设备和存储介质
CN111447591A (zh) * 2020-02-18 2020-07-24 江苏荣泽信息科技股份有限公司 一种基于区块链的车联网数据交换方法
CN111479237A (zh) * 2020-04-06 2020-07-31 湖南大学 一种基于区块链和深度学习的去中心化分布式vanet***
CN111510496A (zh) * 2020-04-16 2020-08-07 山东交通学院 基于区块链信息共享的交通诱导***及方法
CN111600908A (zh) * 2020-06-17 2020-08-28 杭州云链趣链数字科技有限公司 数据处理的方法、***、计算机设备和可读存储介质
CN111601258A (zh) * 2020-05-15 2020-08-28 浙江树人学院(浙江树人大学) 一种基于区块链的车联网节点数据安全通信方法
CN111797171A (zh) * 2020-07-22 2020-10-20 南京纯白矩阵科技有限公司 一种基于区块链跨链技术的数据同步***
CN111866066A (zh) * 2020-06-04 2020-10-30 江苏理工学院 基于DPoS的车联网共识算法
CN112398853A (zh) * 2020-11-16 2021-02-23 东软集团股份有限公司 一种实现联盟链跨链通信的方法、装置及***
CN112636897A (zh) * 2020-12-17 2021-04-09 清华大学 面向智能网联汽车云控应用的数据加密方法及云控节能***
CN114048482A (zh) * 2021-11-05 2022-02-15 大连海事大学 基于区块链的lstm风险预测访问控制方法
CN114980023A (zh) * 2022-06-02 2022-08-30 昆明理工大学 一种基于跨链技术的车联网数据共享方法
CN117478304A (zh) * 2023-12-28 2024-01-30 湖南天河国云科技有限公司 区块链管理方法、***和计算机设备

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535687A (zh) * 2019-07-30 2019-12-03 大连理工大学 一种基于车联网环境下轻量级区块链的协同缓存方法
CN110535687B (zh) * 2019-07-30 2021-06-04 大连理工大学 一种基于车联网环境下轻量级区块链的协同缓存方法
CN110766408A (zh) * 2019-10-24 2020-02-07 杭州趣链科技有限公司 异构区块链的跨链交易验证方法、引擎、设备和存储介质
CN110942524A (zh) * 2019-12-05 2020-03-31 中国科学院自动化研究所 基于区块链的云边端协同停车管理计时收费***、方法
CN110942524B (zh) * 2019-12-05 2021-03-02 中国科学院自动化研究所 基于区块链的云边端协同停车管理计时收费***、方法
CN110995852A (zh) * 2019-12-12 2020-04-10 北京诚达交通科技有限公司 车辆路径记录方法和***
CN111050303A (zh) * 2019-12-13 2020-04-21 国家计算机网络与信息安全管理中心山东分中心 一种基于区块链技术的智能车联网实现方法及***
CN111050303B (zh) * 2019-12-13 2022-12-06 国家计算机网络与信息安全管理中心山东分中心 一种基于区块链技术的智能车联网实现方法及***
CN111064800A (zh) * 2019-12-26 2020-04-24 杭州云象网络技术有限公司 一种基于区块链技术的安全车联社交网络建设方法
CN111064800B (zh) * 2019-12-26 2022-04-19 杭州云象网络技术有限公司 一种基于区块链技术的安全车联社交网络建设方法
CN111277978A (zh) * 2020-01-21 2020-06-12 南京如般量子科技有限公司 基于秘密共享和联盟链的车联网***及方法
CN111277978B (zh) * 2020-01-21 2022-11-01 南京如般量子科技有限公司 基于秘密共享和联盟链的车联网***及方法
CN111447591A (zh) * 2020-02-18 2020-07-24 江苏荣泽信息科技股份有限公司 一种基于区块链的车联网数据交换方法
CN111404962B (zh) * 2020-03-26 2022-06-24 杭州复杂美科技有限公司 联盟链节点数据传输方法、设备和存储介质
CN111404962A (zh) * 2020-03-26 2020-07-10 杭州复杂美科技有限公司 联盟链节点数据传输方法、设备和存储介质
CN111479237A (zh) * 2020-04-06 2020-07-31 湖南大学 一种基于区块链和深度学习的去中心化分布式vanet***
CN111510496B (zh) * 2020-04-16 2023-04-07 山东交通学院 基于区块链信息共享的交通诱导***及方法
CN111510496A (zh) * 2020-04-16 2020-08-07 山东交通学院 基于区块链信息共享的交通诱导***及方法
CN111601258A (zh) * 2020-05-15 2020-08-28 浙江树人学院(浙江树人大学) 一种基于区块链的车联网节点数据安全通信方法
CN111866066B (zh) * 2020-06-04 2023-11-07 江苏理工学院 基于DPoS的车联网共识算法
CN111866066A (zh) * 2020-06-04 2020-10-30 江苏理工学院 基于DPoS的车联网共识算法
CN111600908A (zh) * 2020-06-17 2020-08-28 杭州云链趣链数字科技有限公司 数据处理的方法、***、计算机设备和可读存储介质
CN111797171A (zh) * 2020-07-22 2020-10-20 南京纯白矩阵科技有限公司 一种基于区块链跨链技术的数据同步***
CN112398853B (zh) * 2020-11-16 2023-04-18 东软集团股份有限公司 一种实现联盟链跨链通信的方法、装置及***
CN112398853A (zh) * 2020-11-16 2021-02-23 东软集团股份有限公司 一种实现联盟链跨链通信的方法、装置及***
CN112636897A (zh) * 2020-12-17 2021-04-09 清华大学 面向智能网联汽车云控应用的数据加密方法及云控节能***
CN114048482A (zh) * 2021-11-05 2022-02-15 大连海事大学 基于区块链的lstm风险预测访问控制方法
CN114980023A (zh) * 2022-06-02 2022-08-30 昆明理工大学 一种基于跨链技术的车联网数据共享方法
CN117478304A (zh) * 2023-12-28 2024-01-30 湖南天河国云科技有限公司 区块链管理方法、***和计算机设备
CN117478304B (zh) * 2023-12-28 2024-03-01 湖南天河国云科技有限公司 区块链管理方法、***和计算机设备

Similar Documents

Publication Publication Date Title
CN109922149A (zh) 一种基于区块链的车联网数据交换模型
Baza et al. B-ride: Ride sharing with privacy-preservation, trust and fair payment atop public blockchain
Shrestha et al. A new type of blockchain for secure message exchange in VANET
Hammi et al. Bubbles of Trust: A decentralized blockchain-based authentication system for IoT
Wang et al. Challenges and solutions in autonomous driving: A blockchain approach
Li et al. Toward blockchain-based fair and anonymous ad dissemination in vehicular networks
Lopez et al. A multi-layered blockchain framework for smart mobility data-markets
CN109275122B (zh) 一种基于服务证明的共识协议设计及其车联网应用方法
Sharma et al. Blockchain-based internet of vehicles (IoV): an efficient secure ad hoc vehicular networking architecture
CN111314871B (zh) 一种基于联盟区块链的安全共享出行服务方案
Guo et al. Proof-of-event recording system for autonomous vehicles: A blockchain-based solution
CN109068299A (zh) 一种基于区块链的车联网架构及其工作方法
Feng et al. Blockchain-based data management and edge-assisted trusted cloaking area construction for location privacy protection in vehicular networks
Abbade et al. Blockchain applied to vehicular odometers
Zhao et al. Federated learning-based collaborative authentication protocol for shared data in social IoV
CN106572088A (zh) 一种基于虚拟用户的车载自组织网络假名变换方法
CN113905351A (zh) 一种基于区块链和机密计算的车联网认证方法
Meijers et al. Blockchain for v2x: Applications and architectures
CN110233724A (zh) 雾计算环境下基于双重假名的车联网隐私数据保护方法
Lu et al. ATMChain: Blockchain‐Based Security Framework for Cyber‐Physics System in Air Traffic Management
Jabbarpour et al. Proposing a secure self-fining vehicle using blockchain and vehicular edge computing
CN117241242A (zh) 一种面向车联网的分层区块链共识方法
Xu et al. Benefit and pricing of spatio-temporal information in Mobile Peer-to-Peer networks
Sarkar et al. Cloud enabled Blockchain-based secured communication in mutual intelligent transportation using neural synchronization
Chen et al. An IoT and blockchain based logistics application of UAV

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190621

WD01 Invention patent application deemed withdrawn after publication