面向车载网络的边缘计算区块链联邦学习系统(学习笔记)

摘要:在大多数现有的联网和自动驾驶汽车(CAV)中,从多辆车收集的大量驾驶数据被发送到中央服务器进行统一训练。然而,在数据共享过程中,数据隐私和安全没有得到很好的保护。此外,集中式体系结构还存在一些固有问题,如单点故障、过载请求、无法容忍的延迟等。在本文中,我们提出了Bift:一个完全去中心化的机器学习系统,结合了联合学习和区块链,为CAV提供了一个保护隐私的ML过程。Bift使分布式CAV能够使用自己的驱动数据在本地训练机器学习模型,然后将本地模型上传到最近的移动边缘计算节点(MECN),以获得更好的全局模型。更重要的是,Bift提供了一个名为PoFL的共识算法来抵御可能的对手。我们评估了Bift的性能,并证明了Bift具有可扩展性和健壮性,可以抵御恶意攻击。

智能驾驶采用传统的联邦学习会有隐私问题、集中故障问题、过载问题、延迟高问题,提出了Bift,把区块链和联邦学习结合起来,实现去中心化,又提出了PoFL算法,可以抵御恶意攻击。



CAV上强大的传感器可以访问前所未有的数据,驾驶数据对于机器学习(ML)算法中的模型训练至关重要,这对大多数自动驾驶技术(ADT)至关重要。传统上,数据被发送回中央服务器,用于学习自动驾驶算法,主要是ML模型。然而,这种方法很难保证在数据传输和数据共享过程中从单个车辆收集的驾驶数据的隐私和安全,此外,大量数据被少数公司持有,这严重阻碍了ADT的进一步发展。联合学习(FL)是分布式ML中隐私保护的一个突出解决方案:客户端在不暴露其本地数据的情况下在本地训练模型,然后向中央服务器更新本地模型参数,以帮助构建新的强大的全局FL模型。由于客户端从不上传本地数据,FL提高了用户隐私。

模型训练需要大量的数据,传统是把数据传到中央服务器,但一没法保证隐私,二数据被少数公司持有,不利于智能驾驶发展。联邦学习不需要传数据,更新本地模型上传,能保护隐私。

然而,由于在去中心化场景中可能存在恶意客户端,因此FL模型可能无法有效训练。使用FL引入了一些新的威胁:1)恶意客户端可以很容易地通过中毒攻击来攻击联合学习过程,例如,不诚实的客户端可以上传不正确的梯度或参数来破坏全局模型。2) 收集和聚合模型参数的中央服务器很容易出现单点故障,导致服务崩溃。一旦单个服务器发生故障,就会引发大规模事故。3) 中央服务器很难承受来自许多客户端的巨大吞吐量,并且路上的CAV需要相互传输数据,例如每个CAV随时收集的高精度地图。4) 很难评估特定节点对模型的贡献。在现实世界中,客户不愿意在没有激励的情况下贡献自己的数据。

联邦训练的缺点:1.恶意破坏 2.单点故障 3.容易过载 4.客户端未必主动贡献数据

区块链是一个去中心化的系统,使不同的客户端能够通过共识算法在不可信的环境中协同工作。在[15]中,提出了一个基于区块链和FL的FLChain框架来解决单个中心服务器问题和用户激励问题。但恶意上传模型数据的检测难度大,训练时延高。在[16]中,赵等人使用行星间文件系统(IPFS)作为分布式存储解决方案来解决数据传输问题。尽管区块链是使FL更加健壮的关键分布式方法,但区块链和联合学习的结合仍然需要解决实践中的许多非琐碎问题。

区块链技术能使FL更健壮,但它们的结合也是有很多困难的。

随着云计算和移动终端的发展,移动边缘计算(MEC)最近被提出。MEC可以在移动网络的边缘提供云计算能力。MEC具有低延迟、高带宽的特点,在车载网络中得到了广泛的应用。更重要的是,移动边缘计算节点(MECN)可以为机器学习中的训练提供稳定的计算能力。在本文中,我们提出了Bift,这是一个完全去中心化的机器学习系统,具有区块链、IPFS、边缘计算和联邦学习,为CAV提供了一个保护隐私的ML过程。对等CAV可以加入Bift并贡献其本地数据来训练全局模型。Bift旨在支持联邦平均(FedAvg)算法,该算法将每个客户端上的局部随机梯度下降(SGD)与执行模型平均的服务器相结合。FedAvg是一种针对不平衡分布的聚合算法,可以减少通信次数。我们的主要贡献总结如下:

•与以太坊或其他公共区块链框架实现的其他区块链应用[17]相比,Bift是由我们自己设计和编码的。Bift结合了几种现有技术,在CAV场景中提供了安全和激励的多方机器学习以及高效的数据共享机制。

•我们提出了一种独特的共识协议,称为联邦学习证明(PoFL),它结合了传统的基于哈希的协议工作证明(PoW)和三种多重聚合规则(Krum[18]、Bulyan[19]和修剪平均值[20])。通过将这三个规则从FedSGD算法修改为FedAvg算法,Bift可以减少FL过程的通信和计算开销。此外,即使在存在恶意节点的情况下,Bift也能获得良好的性能。

•通过在MECN建立区块链网络,MECN可以提供分布式计算能力。具体而言,MECN作为矿工存在于Bift,并使用自己的计算能力。

提出了Bift这个去中心化的机器学习系统,就是采用联邦平均算法,即把梯度下降算法和执行模型平均的服务器相结合。有三点贡献:1. Bift提供了安全和激励的多方机器学习以及高效的的数据共享机制。2. 提出了新的共识机制(PoFL),这是结合了基于哈希的PoW和三种多重聚合规则。将梯度下降算法改为了联邦平均算法,既能减少通信开销,又能抵御恶意攻击。3. MECN可以提供分布式计算能力


关于IPFS的知识

星际文件系统(InterPlanetary File System):IPFS,是点到点的超媒体协议,它让网络更快、更安全、更开放。说简单一点,它就是一个去中心化互联网。说技术一点,它是一个基于分布式哈希表DHT进行内容寻址的,一种分布式文件系统。从技术角度看,IPFS是一个协议,它借鉴了许多技术,(P2P+BitTorrent+Git+Hash+kademlia DHT+SFS+Merkel DAG等等)。通过这些技术,IPFS能将网站、应用、文件和各种数据,建立在点对点分布式网络上,并且高效的索引,这种高效的核心在于它是基于内容寻址的。哈希值就是一段数据的身份证或者指纹。


我们通过在docker容器中部署30个对等体来评估Bift,并研究其性能、可扩展性和抵御不同攻击的能力。结果表明,Bift比集中式服务更具鲁棒性。此外,我们还证明了Bift可以通过使用PoFL算法来防止恶意上传模型。


关于拜占庭的知识

“拜占庭”一词通常用来形容复杂、官僚化、难以理解或者过于繁琐的制度、组织或者程序。这个词源于拜占庭帝国,原为罗马帝国东部的一个重要政治实体,因其官僚化、复杂的政治体系和宫廷文化而成为了这个词的代名词。在现代使用中,”拜占庭”通常用来形容官僚化、复杂、难以理解的组织或者程序。

拜占庭故障(Byzantine Fault)是指在一个分布式系统中,系统的一部分节点出现了任意类型的错误,包括发送错误的信息、发送不一致的信息、或者完全停止发送信息等。这些节点的行为可能是由于硬件故障、软件错误或者恶意攻击引起的。拜占庭故障因为其不可预测性和恶意性而对分布式系统的安全性和一致性构成了挑战。

拜占庭将军问题(Byzantine Generals Problem)是一个经典的分布式系统问题,最早由Leslie Lamport、Robert Shostak和Marshall Pease在1982年提出。问题的场景是这样的:一支拜占庭军队被分成多个部分,每个部分由一个将军领导,这些将军需要通过传递消息来协调他们的行动,以决定是进攻还是撤退。然而,其中一些将军可能是叛徒,他们可能会发送错误的消息,导致其他将军做出错误的决定。

拜占庭将军问题的关键是如何在存在叛徒将军的情况下,确保忠诚的将军能够达成一致的决策。这个问题的解决方案需要满足以下条件:1)所有的忠诚将军必须达成一致的决策;2)如果将军是忠诚的,他们的决策必须是一个已经被提出的值;3)如果一个将军是叛徒,他们的决策对其他忠诚将军的决策不能产生影响。

在计算机科学中,拜占庭将军问题被广泛应用于分布式系统和区块链技术中,研究如何在存在拜占庭故障的情况下,确保系统能够达成一致的共识。解决拜占庭将军问题是拜占庭容错(Byzantine Fault Tolerance)的核心内容,而拜占庭容错是确保分布式系统在存在拜占庭故障的情况下仍然能够保持正常运行的能力。


系统概述

图1显示了我们的Bift系统架构的概述。Bift基于区块链实现高效安全的对等FL。对于这个过程,Bift的设计有以下目标:

•生成一个最优的全局模型,即使在有限的恶意环境(高达30%的恶意节点)中,其性能也与没有对手的原始FL大致相同。

•我们的联合学习证明共识算法与多个拜占庭稳健聚合规则相结合,防止了中毒。

•不需要中央服务器,中央服务器随时可能崩溃,由一家公司控制。在我们的制度中,每个人都是平等的。

Bift通过我们将在本节中描述的基于区块链的方法来解决这些目标。具体来说,Bift有两个角色:MECN作为矿工,CAV作为客户。CAV上传由其自身数据训练的局部模型,MECN通过PoFL算法聚合全局模型。

这一段写了Bift系统的框架结构,目标是:1. 生成一个最优的全局模型,更好的实现机器学习 2. PoFL共识算法和多个拜占庭稳健聚合规则相结合,抵御恶意攻击 3. 去中心化

共识机制算法是用来执行工作量证明的,就是确保谁记账有效,接下来的区块谁来产生,从而继续形成区块链,从而聚合了全局模型。在传统的联邦学习中,全局模型由中央服务器产生,再下发给本地客户端进行模型更新。在基于区块链的联邦学习中,中央服务器由区块链取代,形成的一个个区块就是更新的全局模型,本地客户端也从区块链中更新模型。


区块链的共识机制

是指在分布式网络中,各个节点之间如何就交易的有效性达成一致意见的规则和算法。在区块链中,共识机制的作用是确保所有节点对交易的顺序和有效性达成一致,从而保证整个网络的安全性、一致性和可靠性。区块链的共识机制是用来执行工作量证明的,也就是来确定谁记账是有效的,确定这个区块是谁来产生的。


如图1所示,区块链中的每个区块都包含最后一次FL迭代的记录。每个MECN可以获得最新模型的信息,如模型id、模型的IPFS哈希值。当最后一个任务完成时,CAV可以上传一个训练任务,Bift将向其他CAV广播包含FL训练任务信息的块。一旦CAV收到广播,它将开始使用自己的数据和计算能力训练本地机器学习模型。当足够多的CAV通过IPFS上传了他们自己的局部模型时,MECN将通过PoFL算法对它们进行聚合,并将聚合的全局模型发送回CAV,然后CAV开始该任务的下一次迭代,直到模型收敛。

每次训练都把每个CAV的本地模型形成一个块,然后当足够多的本地模型形成一个个块,MECN将通过共识机制算法把这些本地模型聚合成全局模型,发送回本地,开始下一次迭代。

具体来说,我们分四个详细步骤来阐明Bift的迭代过程,如下所示:

第一步:提出培训任务。当最后一个任务完成时(总iter−当前iter=0),单个CAV请求提出一个训练任务,然后将初始模型推送到IPFS,并获得该模型的IPFS哈希值(整个模型太大,无法将其存储在区块链中)。最后,该模型的信息将上传到区块链,并广播给其他CAV。

第二步:训练本地模型。一旦CAV收到最新的训练任务,它将从区块链中获取模型信息,并通过IPFS获得初始模型,然后加载该初始模型,使用自己的驱动数据和计算能力对其进行训练。本地训练完成后,CAV将获得本地模型和模型精度,然后将其上传到区块链。

第三步:汇总本地模型并给予奖励。Bift等待一段时间,当在一段时间内有足够的本地模型上传时,Bift会收集这些本地模型,并丢弃其他延迟上传的模型。然后,MECN从所有模型中过滤出模型参数,丢弃恶意模型,并用PoFL聚合诚实模型,生成最新的全局模型。MECN将把全局模型上传到区块链,设置当前iter=当前iter+1。最后,Bift将所有对训练迭代做出贡献的CAV相加,并通过转移一些堆栈或硬币来奖励他们。

步骤4:迭代训练本地模型。当CAV从Bift接收到最新全局模型的广播时,他们将判断当前iter是否等于总iter,如果是,则所有CAV都知道当前FL任务已完成,然后等待下一个任务。否则,他们继续在最新的全局模型的基础上迭代训练局部模型。

Bift中的块结构如图2所示,一个块分为主体和头部两部分。块头主要包括六个字段:index、hash、nonce、previor hash、timestamp、model flag。当一个新区块进入时,区块链将验证新区块与之前包含的区块相比的合法性。具体地说,假设前一个块中的字段是indexp、hashp、noncep、前一个hashp、timestampp,新来的块中的域是:indexc、hashc、nonsec、上一个hashc、timestampsc,默认难度为difficulty。

区块链的块头(Block Header)是区块中的一个重要部分,用于记录和验证区块的信息。通常情况下,块头包括以下六个字段:

1. Index(索引):区块在区块链中的位置,也可以理解为区块的高度。每个区块都有一个唯一的索引,用于标识它在区块链中的位置。

2. Hash(哈希值):区块头的哈希值,是通过对区块头的所有信息进行哈希计算得到的固定长度的字符串。哈希值的计算结果是唯一的,可以用于验证区块的完整性和一致性。

3. Nonce(随机数):一个随机数,用于在工作量证明(PoW)共识机制中寻找符合一定条件的哈希值。在PoW中,矿工通过不断尝试不同的随机数来计算满足条件的哈希值,从而获得记账权。

4. Previous Hash(上一个区块的哈希值):指向前一个区块的哈希值,用于构成区块链的链接。通过前一个区块的哈希值,可以确保区块链的不可篡改性和顺序性。

5. Timestamp(时间戳):区块生成的时间戳,记录了区块的创建时间。时间戳对于确保区块链中的交易顺序和一致性非常重要。

6. Model Flag(模型标志):这个字段可能是指向区块中所包含的交易数据的哈希值,也可以是其他特定的标志,取决于具体的区块链实现。

这些字段组成了区块头的基本结构,每个字段都承载着重要的信息,用于确保区块链的安全性、一致性和可靠性。

一个新区块必须满足以下限制才能被包含在区块链中,否则将被视为非法并被丢弃:

indexc = indexp + 1
previous hashc = hashp
timestampc > timestampp
SHA256(hashc + noncec) < difficulty

让我来解释一下这个表达式的各个部分:

1. SHA256:代表了使用SHA-256哈希算法进行哈希运算。

2. (hashc + noncec):这部分是指将区块头的哈希值(hashc)与一个随机数(noncec)相结合,然后再进行哈希运算。

3. < difficulty:这里的“<”表示小于,difficulty则代表了一个固定的难度目标值。在PoW共识机制中,矿工需要找到一个符合条件的哈希值,这个条件就是比预定的难度值小。

综合起来,这个表达式的含义是,矿工需要不断尝试不同的随机数(noncec),并将其与区块头的哈希值相结合,然后通过SHA-256哈希算法得到一个新的哈希值。然后,矿工需要验证这个新的哈希值是否小于预定的难度值,如果小于难度值,那么这个哈希值就符合条件,矿工就可以宣布成功找到了一个符合条件的哈希值,从而获得记账权或者奖励。

这个过程是PoW共识机制中挖矿的基本流程,而这个表达式则描述了矿工如何通过不断尝试不同的随机数来计算符合条件的哈希值。

“SHA256”是指Secure Hash Algorithm 256-bit,即安全哈希算法256位。SHA-256是一种密码学哈希函数,用于产生一个256位(32字节)的哈希值,通常用于加密和验证数据的完整性。

SHA-256是美国国家安全局(NSA)设计的一种哈希算法,它被广泛应用于许多加密和安全领域,包括密码学、数字签名、数据完整性验证等。在区块链中,SHA-256算法被广泛用于生成区块的哈希值,以及对交易数据进行哈希计算。

SHA-256算法的特点包括:

1. 不可逆性:SHA-256算法是单向的,即无法通过哈希值还原出原始数据。这意味着无法从哈希值推导出原始的输入数据,保证了数据的安全性。

2. 唯一性:不同的输入数据经过SHA-256算法得到的哈希值是唯一的,即不同的输入数据对应不同的哈希值。

3. 固定长度:SHA-256算法生成的哈希值长度固定为256位,无论输入数据的长度如何,输出的哈希值都是固定长度的。

因此,SHA-256算法在信息安全领域具有重要的作用,它被广泛应用于加密通信、数字签名、数据完整性验证等方面。在区块链中,SHA-256算法是确保区块链数据不可篡改性的重要基础之一。

这个表达式是典型的用于工作量证明(Proof of Work,PoW)共识机制的算法表达式,通常用于区块链中的挖矿过程。

此外,Bift中的区块链为CAV提供了一种激励机制。每当一个CAV为联合学习做出贡献时,Bift就会奖励它一定数量的股份(我们将该值初始化为20)。这些股份可以在CAV之间自由交易。在未来,它甚至可以用来交换预先训练好的模型和其他任何东西。这种激励机制可以鼓励CAV积极培训和上传其本地模型。

这个框架还提供了奖励机制,这样数据样本会更多。

共识算法是区块链的核心组成部分,用于解决分布式系统中的一致性问题。我们将Bift中的一致性问题分为三个问题:1)矿工(参与模型聚合的CAV)如何有效和稳健地聚合本地上传的FL模型?2) 哪位矿工有权将其汇总结果写入区块链?针对这两个问题,提出了一种独特的一致性算法——联合学习证明(PoFL)。PoFL使用混合聚合算法和节点选择来解决问题。在本节中,我们将详细描述这两种方法。

混合聚合算法

在纯区块链系统中,共识算法只负责解决一致性问题。然而,在Bift中,我们必须面对如何有效和稳健地聚合局部FL模型的问题。因为Bift是一个去中心化的系统,我们没有其他方法来控制用户行为。我们必须考虑恶意节点的存在。恶意节点可以故意上传伪造的模型参数,以防止模型收敛,甚至影响模型的输出。正如我们在第一节中介绍的那样,提出了一些拜占庭鲁棒聚合规则(Krum、Trimmed和Bulyan)来抵御恶意节点。然而,这些规则有其自身的局限性,只能防御某些特定的攻击方法,因此我们将上述三条规则结合到我们的PoFL中,以处理更具体的情况。我们将前面提到的三种算法从适用于FedSGD的FedSGD修改为适用于FedAvg的FedAvg,并在Bift中将它们组合起来以防御攻击者。混合聚合算法如算法1所示。在聚合的每次迭代中,我们随机选择一个规则来执行。特别地,该算法从上传的许多局部模型β1,β2,…,βi中过滤出有效值,并且每个βi包含特定的权重wi1,wi2…wij,最后,输出一个聚合的全局模型。

这个算法包含了Krum、Trimmed和Bulyan三种聚合规则,Krum是求各模型彼此之间的欧几里得距离,哪个模型和其他模型总距离最小,就说明该模型和其它模型差距最小,也就是更符合要求的模型,Trimmed Mean是去掉最大最小值之后求均值,这两种方法都能有效避免恶意模型。Bulyan是把两种方法结合起来。混合聚合算法解决的是用什么方法聚合模型的问题。

节点选择

想要聚合本地模型并将其推送到区块链的MECN被称为矿工。在区块链系统中,哪个矿工有权创建新区块是一个重要问题。假设每个矿工可以随时创建一个区块并将其链接到区块链,这将不可避免地造成混乱(每个节点的区块信息将不一致),因此区块链必须在每一轮区块生产中精确选择一个矿工来创建新的区块。在纯区块链系统中,共识算法主要用于解决这个问题:在PoW中,计算能力较大的节点更有可能被选择,在PoS中,股份较大的节点更可能被选择。区块链中最早的共识算法是PoW。然而,到目前为止,它在操作中显示出一个明显的缺点:为了有更好的机会被选中,矿工们会尽可能地提高他们的计算能力。这个问题造成了巨大的计算资源浪费,更严重的是,计算能力的集中将影响区块链的安全。在我们的Bift中,可以避免两个缺点:首先,每个MECN的计算能力几乎相同,并且不允许多个MECN使用一个地址。因此,Bift不会存在计算能力过于集中的问题。其次,Bift不是根据计算能力来评估节点贡献,而是根据其聚合模型的质量来评估,因此difficult的值被定义为尽可能小,以减少每个MECN的计算资源消耗

节点选择解决的是哪位矿工将结果写入区块链的问题。PoW是根据算力选择的,容易造成计算资源浪费。PoS是选择股份大的节点,容易造成计算能力集中的问题。Bift解决了这两个问题。

实验结果

为了评估所提出的Bift,我们部署Bift在30个docker容器中训练ML模型,以模拟30个CAV节点。基本服务器有4个CPU核心、512 GB RAM和8个GTX 1080 GPU。对于FL过程,我们使用由两个完全连接层组成的卷积神经网络(CNN)来识别MNIST数据集,并评估了PoFL算法。尽管我们在实验中选择的数据集和CNN网络非常基本,但我们声称,由于通用的PyTorch API,Bift可以处理任何关于机器学习的任务。总之,表I显示了我们在实验中使用的MNIST信息。表二显示了Bift的系统配置。

MNIST 数据集已经成为了机器学习领域中的一个标准基准数据集,用于测试和比较不同机器学习算法的性能。许多机器学习教程、案例和研究论文都会使用 MNIST 数据集来演示和验证模型的性能。

如前所述,纯联邦学习不具备抵御恶意节点的能力,因为它假设自己处于机构间合作的“联盟”环境中。然而,在CAV场景中,我们处于一个完全分布式和去中心化的环境中,很难从复杂的环境中直接消除恶意节点。为了评估Bift对恶意节点的容忍能力,我们首先比较了Bift和纯FL对常见LabelFlip攻击的性能。然后,我们通过使用几种独特的攻击,将Bift与三种单一拜占庭鲁棒聚合规则进行了比较。具体来说,攻击方法如下:1. LabelFlip攻击。我们在Huang等人[24]中部署了LabelFlip攻击。具体来说,恶意节点会将所有1s-6s标记为0s。2. 局部模型中毒攻击。常见的拜占庭式聚集规则(Krum、Trimmed Mean、Bulyan)确实可以抵御一些攻击,但它们对一些精心构建的攻击缺乏鲁棒性。在[12]中,提出了几种局部模型中毒攻击来攻击这三种聚合规则。我们复制了[12]中的攻击,并评估了它们在Bift上的性能。假设m个CAV中有c个恶意节点,在一次迭代中,wi表示第i个节点打算上传的局部模型参数,对于这三种聚合规则,分别有三种相应的攻击方法:

•Krum攻击:克鲁姆攻击:克鲁姆选择与其他模型欧拉距离最近的一个局部模型,攻击方法是让克鲁姆选择某个精心制作的模型。具体而言,我们通过wm = wr−α构造了一个特定的局部模型wm,并且对于所有恶意节点,它们都将wm作为其局部模型上传。注意,wr是上一次迭代的模型,我们通过以下方法得到α的值:

•TrimmedMean攻击:修剪平均值丢弃最大和最小的局部参数,然后取其余的平均值。设wij为第i个节点上的第j个模型参数,wmax,j wmin,j为诚实节点上的第j个模型参数的最大值和最小值。我们通过使每个wi,j在区间[wmax,j, 2 * wmax,j](当wmax,j > 0)或[wmax,j, wmax,j/2](当wmax,j < 0)内构造所有恶意节点的特定局部模型。

•Bulyan攻击:因为Bulyan实际上是Krum和trim Mean组合,所以使用Krum攻击来代替Bulyan攻击。

图3显示了30% labelflip攻击恶意节点和无恶意节点情况下,对于MNIST的Bift与联邦学习的测试误差。结果表明,即使在存在30%恶意节点的情况下,我们的Bift也可以达到与基本纯联邦学习相似的性能对比。其中,经过100次迭代,无恶意节点的FL准确率为93.5%,含有30% LabelFlip-Attack恶意节点的FL准确率为74.0%,含有30%恶意节点的Bift准确率为92.6%。

在机器学习领域,”labelflip”通常指的是标签翻转,也被称为标签噪声。标签翻转是指在监督学习任务中,标签数据中存在一定比例的错误或者噪声,即部分样本的标签被错误地标记。这种情况可能是由于人为错误、数据采集问题或者其他原因导致的。

对于KrumAttack,结果如图4所示。我们可以看到克鲁姆攻击能够很好地攻击克鲁姆的防御方法。

然而,我们的Bift可以抵御它,使训练效果与没有攻击时相同。

类似地,图5显示了TrimmedMMean算法和Bift在TrimmedMeanAttack下的比较,图6显示了Bulyan和Bift之间的比较。

总的来说,Bift在恶意环境下比目前已知的算法具有更好的鲁棒性,具有实际应用价值。

结论及未来工作

在本文中,我们提出了一个基于区块链的联网和自动驾驶汽车联合学习系统,名为Bift。Bift将区块链与联邦学习相结合,为CAV提供了一个完全分布式和去中心化的机器学习环境。此外,提出了一种名为PoFL的共识算法来防御恶意节点,并通过IPFS提供了一个高效稳定的数据共享系统。在我们的评估中,我们证明了Bift可以容忍高达30%的恶意节点,时间消耗和网络速度也符合要求。

在未来,我们将改进Bift的软件架构,以提供更好的系统鲁棒性和更快的网络通信,我们计划使用账户权益作为权重,以更有效地过滤恶意上传模型(我们保留了相关接口)。