关于车联网联邦学习中可信信誉管理方法的研究*

2023-10-10 05:21周灵灵付宇钏李长乐
移动通信 2023年10期
关键词:侧链信誉联邦

周灵灵,付宇钏,李长乐

(西安电子科技大学空天地一体化综合业务网全国重点实验室,陕西 西安 710071)

0 引言

自动驾驶汽车需要从海量数据中学习与驾驶相关的功能[1-4]。与传统的分布式机器学习技术相比,联邦学习(Federated Learning,FL)由于其分布式、增强隐私保护等特性,可以在不共享原始数据的前提下实现大规模分布式训练[5-8]。随着通信技术的发展,自动驾驶汽车可以通过加入FL来实现协作式环境感知、协同决策、交通流预测等。因此,借助于FL,车辆可以从数据提供者向智能共享范式转变,有助于降低自动驾驶的开发成本,为自动驾驶的发展和运行提供显著的好处[9]。

目前将FL应用于车联网领域受到广泛研究。文献[10]介绍了一种用于自动驾驶车辆的端到端FL方法,并通过车轮转向角预测验证了所提出的方法,表明FL可以显着提高局部边缘模型的质量,并加快模型训练速度并减少通信开销。文献[9]提出一种选择性联邦强化学习策略,综合考虑模型质量、用户信誉和资源约束进行用户筛选,提高自动驾驶的准确性和环境适应性模型。文献[11]提出了一种联邦强化学习架构,以实现自动驾驶车辆在不同环境下的碰撞避免。以上工作有效地提升了自动驾驶模型的准确性,然而由于其基于传统FL的服务器/客户端架构,可扩展性较差,且存在服务器单点故障的可能性,系统可靠性会下降。另外,车辆参与者涉及不同的驾驶场景、数据异构,在这种架构下随着车辆参与者的增加,整体学习效率会下降[12]。区块链是一种去中心化的分布式数据库,由于其透明、不可篡改、数据可追溯的特点,成为分布式环境中可靠且值得信赖的系统,这种天然优势适用于和车联网相结合[13]。首先,区块链去中心化的特点使得每个节点都备份完整的数据信息,可以弥补集中式管理存在的单点故障的缺陷。其次,利用区块链的匿名性、不可篡改和可追溯性的技术特征,确保了数据流转的隐私性、安全性和完整性[14]。最后,可以设计共识算法、智能合约形成有效的管理和自动运行机制,以提高运行效率。例如,文献[15]将FL结合区块链引入自动驾驶,考虑了恶意移动边缘计算(Mobile Edge Computing,MEC)服务器和恶意车辆,并设计了相应的隐私保护方案。为了解决FL中的恶意攻击问题,文献[16]提出了一种车联网中结合FL和区块链的去中心化机器学习系统,所提出的方法在防止恶意攻击方面表现良好。然而,能耗和效率问题没有得到很好的考虑。同样,文献[17]提出了一种基于区块链的分布式自动驾驶架构,通过提高协作者和数据的质量来提升车辆协作定位精度。

然而,由于缺少相应的本地模型质量验证机制,联邦学习的全局模型容易受到恶意用户的攻击从而导致模型训练的准确率降低。此外,传统单一区块链在FL局部和全局模型更新管理问题上的灵活性也需要进一步研究。针对有关移动车联网联邦学习研究中缺乏对各方信誉的高效管理的问题,本文提出一种基于分层区块链的联邦学习信誉管理架构,以选择高质量的本地模型并提高系统灵活性以适用于车联网环境。首先介绍整个架构的组成以及具体的工作流程,然后设计智能合约为系统提供更加灵活可信的信誉意见共享环境,并开发一种轻量级的区块链共识算法,以提升区块链的运行效率,最后通过仿真验证所提方法的性能。

1 系统描述

如图1所示,构建的分层区块链联邦学习信誉管理架构包括3个主要部分:联邦学习层、信誉管理层和区块链层。在联邦学习层中,任务发布者、路侧设备和本地车辆用户参与联邦学习任务。信誉管理层负责将任务发布者计算得到的本地用户信誉值添加到任务区块侧链,每个任务发布者对应一个区块侧链。在区块链层中,使用分层联盟区块链结构将任务侧链和公共区块链结合起来,以分散和安全地存储信誉值,并通过智能合约提供可信的信誉意见共享环境[18]。具体流程如下:

图1 分层区块链使能的联邦学习信誉管理架构

(1)建立模型训练侧链和本地用户身份验证:请求者和参与者将他们的身份信息(公/私钥以及数字证书)发给最近的矿工进行验证,为用户创建合法账户;

(2)任务发布者发布联邦学习任务:系统中注册的请求者将感知任务请求发送给距其最近的矿工;

(3)本地车辆用户请求加入联邦学习任务:参与者收到平台发来的任务信息后,提出请求加入FL任务;

(4)本地车辆用户候选人选择:车辆参与者加入该FL任务的候选人集合,任务发布方选择相应的参与者;

(5)联邦学习训练的进行:车辆使用本地数据集独立训练模型,然后每辆车将本地更新上传到模型训练侧链;

(6)信誉意见的计算及上链操作:对参与者的模型质量和训练行为进行评估,更新声誉值,并存储在主链中。特别是,在每次迭代之后,参与者的声誉都会被记录为上传到区块链;

(7)任务区块侧链锚定到主链:为了有效监控子链的行为,避免单个区块链资源有限,所有子链在一段时间后都应该锚定到主链上。各子链的数据不存储在主链上,从而实现隐私保护、资源节省和可扩展性增加;

(8)选择高信誉的本地车辆用户加入联邦学习训练:为了获得高质量的全局模型,车辆声誉值计算完成后,任务发布者下载最新的区块数据,并选择声誉值大于预设阈值的车辆加入下一个FL任务。

2 高效信誉管理方法

2.1 智能合约设计

为了提高联邦学习的可信度和可靠性,联邦学习任务关键流程由智能合约承担。智能合约以代码形式存储在区块链上,包括预期条件、预期操作和图灵完备状态机。图灵状态机用于判断触发条件是否成立,一旦满足条件,智能合约将在每个节点上独立自动执行。合约及相关信息对所有网络节点都是公开可见的,从而防止感知系统中可能存在的“合谋”行为。

在任务执行过程中,节点可以通过调用相应的智能合约来完成任务,主要涉及4个智能合约,包括任务发布及车辆用户FLVC认证合约、信誉上传合约、信誉访问合约、信誉筛选合约。

(1)任务发布及FLVC认证合约

通过路侧单元(Roadside Unit,RSU)向平台发送请求,经矿工验证后任务发布者可以发布任务。参与者需要在系统中注册才能加入FL任务,当满足注册合约触发条件时,会触发任务发布及FLVC认证合约。请求者或参与者将身份信息发送给距离其最近的矿工进行身份验证,验证通过后系统为其分配一个合法的用户ID,并初始化其信誉值,将车辆客户端加入到FL任务的候选人集合。具体流程见算法1。该合约可以自动执行,实现高效任务发布和用户注册,并且不会干扰下次合约的触发。

(2)信誉上传合约

任务发布后,需要执行信誉上传合约,任务发布方FLTB首先计算得出FLVC的直接信誉值rep,其次根据密钥对信誉值进行加密,并将其上传任务区块侧链,由于任务区块侧链隔一段时间将会被锚定到主链,所以,信誉值也被上传至主链,同时主链返回信誉索引。再次验证FLTB的注册地址和公钥的关系,如果通过验证,则合约将通过操作获取FLVC信誉索引清单和其对应的私钥清单,否则验证失败。一方面,侧链的数据以分散和安全地存储信誉值,从而实现了隐私保护和可扩展性。其次,主链返回的信誉索引便于管理和访问。

(3)信誉访问合约

如算法3的流程描述,FLTB首先将FLVC的注册地址、信誉值索引、被访问的公钥和任务发布方的公钥发送到合约。合约验证需要获取其他FLVC的身份信息以验证间接信誉值。如果验证通过,当信誉索引值属于信誉索引清单时,更新记录的访问时间,返回加密密钥和给请求访问的FLTB,得到对称密钥并查询被访问FLVC的间接信誉值。当信誉索引值不属于信誉索引清单时,则无法访问FLVC的信誉索引。当一切顺利,返回允许访问的结果,并提供加密密钥和信誉索引清单。如果验证不通过,则返回拒绝访问的结果,即访问失败。该合约能够自动保护信誉访问的合法性,避免非法用户获取信誉信息。

(4)FLVC信誉筛选合约

如算法4的流程描述,FLTB通过信誉访问合约获取FLVC的信誉索引及信誉分数并建立FLVC任务群体名单。对于FLVC任务群体名单中的每个FLVC,FLTB根据FLVC的信誉分数以及提前设置的信誉阈值进行筛选,只有符合要求的FLVC能够留在任务群体名单中,并更新记录其相关信息。对于不符合要求的FLVC,则将其从任务群体名单中删除。该合约能够提高FLVC筛选效率,并避免低信誉值的用户后续影响任务质量。

2.2 共识算法设计

在共识算法选择方面,考虑到大规模车联网环境的复杂性和多变性,参考文献[19]中的方法,对传统的工作量证明(Proof of Work,PoW)共识算法进行改进,提出了一种基于参数训练质量(Proof of Quality,PoQ)的轻量级区块链共识算法。其中训练质量根据区块链上的历史训练记录、车辆用户的信誉值以及用户的活跃度进行计算。将PoW共识算法中无意义地寻找随机数的计算工作,替换为对模型参数准确率进行认证的工作。利用平均绝对误差来衡量训练所得模型的质量。与PoW共识算法相比,PoQ减少了大量寻找随机数的无意义工作,并且可以节省大量计算资源和通信资源。其共识过程如图2所示,流程如下:

图2 PoQ共识算法流程

(1)从信誉区块链中的所有节点中随机选择一些认证节点作为共识委员会节点;

(2)根据信誉区块链中记录的历史性能和一些随机因素,选出一个领导节点,收集打包的交易,并将区块广播给其他节点;

(3)共识委员会节点采用PoQ认证模型参数,将结果返回给领导节点;

(4)领导节点对返回的认证结果进行统计,根据综合认证结果判断区块的合法性。

3 仿真与结果分析

本节由两部分组成,第一部分介绍仿真,第二部分分析性能。

3.1 仿真设置

为了更好地与其他方法进行性能比较,使用 MNIST 数据集进行了模拟。在FL中,设置了3个任务发布者,全局模型和局部模型的迭代次数都设置为10。参与FL的车辆数量设置为100,每个任务选择10辆车辆进行训练FL任务。假设这100辆车在车联网环境中位置分布均匀,车辆行驶时速在0 到36 m/s之间。此外,在100个客户端中设置了3辆恶意车辆,其中7辆数据质量较差,其余为行为良好的车辆。在区块链架构中,设置了1条主链和3条任务侧链,所有侧链均采用PoQ共识算法。在声誉值的计算中,将任务发布者与车辆之间的事件设置为每周10~20个FL任务的交互频率。信息交换过程中数据包传输不成功的概率为1%~40%,参与FL任务的所有车辆的初始信誉值设置为0.5,范围为0~1。

3.2 仿真结果分析

图3为不同节点个数下数据传输成功概率为0和不为0情况下PoQ与PoW通信开销和计算开销的对比。结果表明,随着节点数的增加,两者的通信开销和计算开销都在增加,但PoQ的开销小于PoW的开销。这是因为传统的PoW共识算法在认证节点时需要寻找大量的随机数进行计算,这往往具有较高的计算复杂度。在PoQ算法中,将寻找无意义随机数的工作替换为验证模型参数准确性的工作,节省了计算资源和通信资源。

图3 不同节点个数下PoQ与PoW的通信与计算开销

图4验证了FedAvg[20]和提出的基于信誉筛选的联邦学习方法在数据为IID时网络中存在恶意节点的准确率性能。将恶意节点比例设置为50%。为了使效果最明显,每个恶意节点提供的数据质量为0%。从图4可以明显看出,本文提出的方法对恶意节点的抵抗能力相对较强。在恶意节点百分比达到50%时,该方法仍然保持较高的性能,而FedAVG的准确率受到严重破坏。

图4 所提方法与FedAvg的FL准确率对比

图5验证了分层区块链结构下单链与多侧链并行时的交易吞吐量和处理时间对比,通过数据以及折线图对比结果可以得知,对于单链的区块链系统来说,随着智能合约和交易数量增加,系统的吞吐量基本保持不变,大约为1 700 笔交易/s。而基于单主链多侧链的区块链系统,各侧链合约上的交易是并行处理的,随着智能合约数量增量即侧链数量增加,系统的交易吞吐量会稳步提升,在本实验的机器配置下,当侧链数量达到3的时候系统的交易吞吐量到达最高,大约有4 736 笔交易/s,是单链区块链系统的3倍左右。

图5 分层区块链性能对比图

4 结束语

本文提出了一种车联网场景中可扩展的分层区块链支持的联邦学习信誉管理方法,可以帮助FL全局模型筛选出恶意用户,同时保证数据隐私和安全,从而提高FL的准确性。仿真结果表明,所提出的方法能有效准确地检测出恶意用户,从而提高FL的模型准确性。此外,采用分层区块链结构和轻量级共识算法可以提高系统的吞吐量至单链的3倍。

猜你喜欢
侧链信誉联邦
以质量求发展 以信誉赢市场
基于单片机MCU的IPMI健康管理系统设计与实现
酞菁锌的侧链修饰及光动力活性研究
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
信誉如“金”
303A深圳市音联邦电气有限公司
含聚醚侧链梳型聚羧酸盐分散剂的合成及其应用
梳型接枝PVC的性能研究
江苏德盛德旺食品:信誉为翅飞五洲
紫杉醇C13侧链的硒代合成及其结构性质