区块链与联邦学习综述
本期分享的论文是由Dinh C. Nguyen等人在2021年发表在IEEE Internet of Things Journal的文章《Federated Learning Meets Blockchain in Edge Computing Opportunities and Challenges》。
一、摘要
移动边缘计算(Mobile edge computing,MEC)用来处理来自无处不在的移动设备的大量数据,以便在人工智能(AI)的帮助下实现智能服务。传统上,AI技术通常需要在单个实体中进行集中数据收集和训练,但是MEC服务器由于数据隐私问题和大数据量通信开销无法计算。基于上述背景提出联邦学习(FL)通过协调多个移动设备联合训练AI模型,而无需泄露本地的数据。
为了提高安全性和联邦学习的可扩展性,区块链的分布式账本技术可以很好的代替联邦学习的中心服务器。特别当blockchain和FL结合形成的新范式FLchain,可以转换MEC网络成为分布式的,安全和隐私增强的系统。本文总结了MEC网络中的FLchain的基本概念和发展方向,讨论了FLchain的主流问题,包括通信开销,资源分配,奖励机制和隐私保护。
二、引言
现代生活中,智能手机、笔记本电脑和平板电脑等移动设备的感知和计算能力无处不在。为了适应人工智能服务对计算和存储的需求,提出了移动边缘计算(MEC)。随着物联网数据量的不断增加以及对下一代无线网络中数据隐私的日益关注,在中央服务器上实施集中式人工智能训练可能不再合适。联邦学习(FL)最近已成为一种分布式人工智能方法,通过协调多个设备来执行人工智能训练,而无需共享原始数据以增强隐私和节省网络资源。
然而,目前的FL系统仍然存在一些问题。
- 用户需要完全信任MEC服务器进行模型聚合,但在现实的无线网络中并不总是能够做到这一点。
- 尽管FL有助于增强用户隐私,但将学习参数传输到MEC服务器容易受到安全瓶颈的影响,例如恶意威胁,这些威胁可能会修改或窃取本地更新的信息[5]。此外,一旦服务器受到攻击,MEC服务器对模型聚合的依赖将引入单点故障瓶颈,从而中断整个FL系统。
- 考虑到现代边缘计算网络的高可扩展性,单个MEC服务器无法聚合从数百万设备上传的所有更新。因此,迫切需要在不使用中央服务器的情况下开发更分散的FL方法,以解决安全性和可扩展性问题,从而实现下一代智能边缘网络。
区块链作为账本技术[6]可以为基于FL的智能边缘计算提供解决方案,因为它具有分布式、不变性和可追溯性等特点。区块链是由共识机制(例如工作证明(PoW))控制下的散列值链接的区块的一种形式,矿工利用数字签名挖掘区块,使链接区块不受修改和变更的影响。通过使用区块链,FL可以通过分散的数据分类账来实现,而无需任何中央服务器来降低单点故障的风险,所有网络实体以透明的方式跟踪任何更新事件和用户行为。此外,可以通过事务日志轻松跟踪在训练过程中修改或更新模型参数的来源,这在传统FL系统中是无法满足的。因此,FL和区块链的整合创造了一种称为FLchain的新范式,它潜在地改变了具有分散和安全性质的智能边缘网络。
在FLchain中,每个设备都可以作为一个客户端,以分散的方式更新和聚合学习模型。每个客户端首先初始化一个数据模型并计算学习参数。然后,它以事务的形式将计算出的模型更新上传给一组矿工。挖掘者在一段时间后将客户端创建的事务(包含本地更新)合并到一个区块中,然后由挖掘者通过挖掘过程进行验证。一旦区块被挖掘,它将被附加到区块链并广播到整个网络。每个客户端下载最新更新的区块,并计算全局模型的新版本。迭代该过程,直到全局损失函数收敛或达到所需精度。通过这种方式,区块链有助于消除对中央服务器的需求,从而潜在地降低通信成本并实现更好的智能网络可扩展性。此外,区块链通过不可变的区块分类账为FL训练提供了高安全性。
本文主要贡献如下:
- 概述了FL和blockchain的基本原理,提出用于边缘计算的通用框架FLchain
- 讨论了FLchain中的关键技术问题,包括通信开销,资源分配,奖励机制和隐私保护
- 分析了FLchain在边缘计算的机遇和可能的应用领域,例如边缘数据共享,边缘内容缓存和边缘众感知。
- 讨论了FLchain的关键挑战和未来的发展方向。
三、联邦学习-FL
自2016年提出以来,FL通过在网络边缘与多个移动设备合作提供分布式AI解决方案,改变了许多应用。
FL不是将所有原始数据上传到云服务器或者集中数据训练AI模型,而是通过将AI模型训练过程直接分配到本地设备来实现分布式学习,以在服务器端(例如,基站(BS)或接入点(AP)的MEC服务器)上构建共享全局模型。
随着移动硬件的最新发展和对用户隐私的日益关注,FL对于各种智能边缘服务(如智能交通和智能医疗)尤其具有吸引力。
例如,在智能车辆网络中,车辆可以充当学习客户端来训练本地模型,并与路边单元(RSU)协作来构建交通预测模型,旨在构建一个全面的车辆路线图以减少交通拥堵。
由于基站无法从分布式移动设备收集所有数据用于AI/ML训练,FL对于在下一代移动边缘网络中实现完全智能化至关重要。FL允许设备和BS训练通用模型,同时原始数据集保存在数据所在的用户本地。
如图所示为经典的FL架构,包括分布式设备和聚合服务器,运行流程可以分为4个步骤:
-
服务器上的MEC服务器首先选择计算任务(例如车辆交通分析),以及任务要求(分类任务或回归任务),以及学习参数(学习率等)。然后,MEC服务器选择设备子集作为协作训练的学习客户端。实际上,MEC服务器可以通过使用合适的客户端调度机制在不同的更新轮中选择不同的设备子集,以提高其训练质量。
-
服务器初始化global model并将其发送给所有客户端,以创建新一轮训练。在这里,每个客户机使用自己的数据集训练模型local model,并计算新的更新。
-
每个客户端将其local model的上传到MEC服务器进行全局聚合。通过聚合来自客户端的所有模型,服务器以最小化损失函数的方式构建了一个新的全局模型global model。
-
务器将计算出的全局模型广播给所有客户端,以便进行下一轮训练。迭代上述过程,直到全局损失函数收敛或达到所需精度。
四、区块链-blockchain
4.1 区块链基础
区块链本质上是一个在点对点(P2P)网络上运行的公共、可信和共享的分布式账本。
区块链概念背后的关键思想是去中心化,即区块链上的数据不受任何单一实体的控制。相反,所有区块链节点(如边缘网络中的移动设备和MEC服务器)都有同等权利验证和管理由共识机制启用的区块链中存储的数据。
这种分散功能使区块链能够抵御数据修改或攻击。此外,去除中央服务器避免了单点故障的风险,从而提高了区块链系统的可靠性和稳定性。
上图描述了典型的区块链操作,主要包括3个步骤:
-
移动用户使用其钱包账户(包括私钥和公钥)创建具有元数据(即用户ID)、用户签名和时间戳的交易。由于移动设备的资源限制,包括挖掘在内的大量计算任务,智能合约执行可以在云计算上组织和实施。然后,用户向云计算服务器提交特定请求的事务,例如物联网数据任务处理、用户身份验证、云服务查询等。
-
云服务器发布可用资源并处理用户的请求。智能合约自动执行交易身份验证、用户验证和交易(即用户和服务提供商之间的资产交易)。此外,云服务器授权区块链矿工(即虚拟机)验证用户交易。该事务被添加到未确认事务池中,等待矿工提取该事务。虚拟矿工网络可以通过协商一致的机制(如PoW)达成协议。
-
最快验证区块的矿工会将签名发送给其他矿工进行验证。如果所有矿工达成协议,则验证区块及其签名将按时间顺序附加到区块链。最后,所有网络实体接收该块并同步区块链的副本。
区块链的运营也会产生延迟和能耗方面的成本。事实上,区块链挖掘任务的执行,例如区块验证和矿工之间的信息交换,需要消耗大量能源。为了将新交易附加到区块链,区块链用户或矿工需要运行一个挖掘谜题,例如PoW,它通常很复杂,需要大量的计算和存储资源。在移动区块链网络中,这一问题变得更加重要,移动设备的电池和内存通常有限,这使得它们很难适应所有挖掘任务。此外,采矿组矿工之间的重复信息交换也需要大量带宽资源,并导致高通信延迟,这可能会降低FLchain训练的整体性能,例如延迟模型聚合。
4.2 区块链类别
区块链可分为三种主要类型,包括公共链(或无许可)、私人链(或许可)和联盟链。
-
公共链
公共链是一个开放的网络,允许每个人加入并进行交易,以及参与共识过程。最著名的公共区块链包括比特币和以太坊,以及开源和智能合约区块链平台。例如,以太坊是一个分布式公共区块链网络,类似于比特币等大多数平台。以太坊的一大优势是通过在以太坊虚拟机上运行的智能合约实现自动数字资产管理的能力。区块通过矿工管理的PoW算法验证并附加到区块链,以在网络中的所有节点之间实现安全、防篡改的共识。每个区块都需要消耗一定数量的gas(以太坊的货币),作为其执行的一部分,并为采矿者支付开采区块的报酬。
-
私人链
私人链是一个由权威机构管理的仅限邀请的网络,区块链中的所有活动(如交易写入和检索)都需要通过验证机制进行许可。私有区块链假设网络由单个实体运营,而联盟区块链则在一组所有者的管理下运营。它们限制用户访问网络和网络成员执行的事务。由于能够在网络中提供协作控制,联盟区块链能够实现组织间的互联业务转型和创新商业模式。
-
联盟链
联盟链是一个由多个组织共同管理的区块链平台。Hyperledger Fabric是一个受欢迎的区块链联盟平台。RealDealGeFaby是由Linux基金会在2015创建的财团BuffClinux平台。与其他区块链技术类似,Hyperledger Fabric有一个账本,使用称为链码的智能合约,并协调交易组织中的参与者。然而,管理网络访问的概念是不同的。Hyperledger结构网络的成员必须得到会员服务提供商的信任,而不是允许网络中所有成员参与的开放式无权限系统。Fabric采用了一种新的体系结构方法,改进了区块链应对不确定性、资源消耗和性能攻击的方式。Fabric还可以创建通道,使一组参与者能够建立单独的交易分类账。为了在网络中达成共识,Fabric使用拜占庭容错(PBFT),这非常适合于成员部分受信任的企业联盟。
五、FL和blockchain为什么要结合
5.1 威胁模型和安全需求
威胁模型
-
内部威胁
在FLchain系统中,MEC服务器在训练过程中假设是半诚实的。在此假设下,MEC服务器遵守规则训练,但对其他方参数更新好奇,因此可以从区块链上的交易中推断出一些敏感信息。更具体地说,尽管数据没有以原始格式显式共享,但好奇的MEC服务器仍有可能从梯度中窃取训练数据并大致重建原始数据,尤其是在架构和参数没有完全保护的情况下。此外,恶意客户端可以利用和学习数据结构,如从全局模型更新中提取的图像像素,而无需征得其他客户端和MEC服务器的同意。
-
外部威胁
在客户端,对手可以修改数据特征或在原始数据集中注入不正确的数据子集,以将后门嵌入模型,从而改变本地客户的训练目标。攻击者还可以破坏某些客户端设备,并且攻击者在学习过程中操纵受损客户端设备上的本地模型参数,从而导致全局模型更新出错。此外,对手可以在FL训练期间在无线通信信道上部署攻击,以获取客户的个人信息。例如,对手可以检索混合在参数更新包中的敏感用户信息,如年龄和用户偏好。此外,外部窃听者可以获得对MEC服务器的未经授权的访问,以便控制模型更新聚合过程。
安全需求
- 重要的是为FL训练提供高度的隐私保护,以确保数据信息安全并鼓励用户参与数据训练。这可以通过使用微扰技术来实现,例如差分隐私技术可以用来保护训练数据集,防止数据泄露。
- 需要威胁管理和攻击防御解决方案来解决客户端和MEC服务器端的安全问题。例如,需要在聚合服务器上部署攻击检测机制,以评估每个客户端的权重贡献,目的是过滤掉敌对客户端,并在每个通信回合中检测攻击,如模型更新中毒攻击、数据中毒攻击和规避攻击。
- 在参数交换和更新广播过程中,保证无线通信信道的安全性和隐私性是非常必要的。使用区块链和智能合约的数据加密、通信身份验证和安全账本配置是满足FL通信中这些安全要求的有用解决方案。
- FLchain系统中的移动设备能够建立事务并与相关MEC服务器通信,以进行安全的FLchain训练。每个设备还应投入资源(如存储和计算)来训练学习模型和运行挖掘以获得额外利润。
5.2 FL和blockchain结合
区块链凭借其独特的特性,在边缘网络中提高FL的安全性方面具有巨大的潜力。
- 使用分散的区块链可以消除FL训练中对中央服务器的需求。相反,一个共享的不可变账本用于聚合全局模型,并将全局更新分发给学习客户端,以便在设备上进行直接计算。模型聚合的非集中化不仅降低了单点故障的风险,从而提高了训练可靠性,而且还降低了在全局模型聚合中对中央服务器造成的负担,尤其是在边缘网络具有多个客户端时。学习更新被附加到不可变的块中,用于在训练期间在客户端之间进行信息交换,从而确保针对外部攻击的训练的高安全性。将区块复制到整个网络还允许所有客户端验证和跟踪训练进度,以确保FLchain系统的高度信任和透明度。
- 消除FLchain模型聚合的中央服务器可能会降低通信成本,并吸引更多移动用户参与基于其分散网络拓扑的数据训练,从而提高移动边缘网络的可扩展性。
六、联邦区块链架构-FLchain
从经典联邦学习架构训练过程中,我们可以看到,FL依赖于集中式服务器,即MEC服务器进行模型聚合,这在无处不在的无线网络中存在故障和可伸缩性问题。此外,这种集中式FL架构无法吸引远离服务器的设备进行训练,从而限制了整个系统的学习性能。
一个替代方案是,FLchain通过将全局模型计算直接分配到每个设备上而不需要任何集中式服务器。FLchain为不可变区块链提供的FL训练过程提供了独特的安全功能,从而实现了可靠的智能分散边缘网络。FLchain架构如上图所示,包括一组MEC服务器和连接区块链网络中的分布式设备。由于高计算能力,MEC服务器通常被选择执行挖掘任务以维护区块链网络,而移动设备可以参与本地训练或挖掘,或者同时执行训练和挖掘任务。FLchain程序包括以下几个步骤