1. 区块链
区块链通过一个点对点(peer-to-peer)网络,在各个分布式节点之间,以区块的形式维护着相同的账本记录。这些区块中的记录具有防篡改、可追溯等特征。依据账本权限准入机制的不同,区块链可以分为公有链、联盟链、私有链三类。公有链上的数据对全网公开,由全体网络节点共同维护,依赖“币”去激励节点参与维护,保证系统的稳定性和不可篡改性。私有链则建立在一套身份认证与权限设置的机制上,对参与节点有更多的控制权。介于前二者之间,联盟链采用了一种混合的组网机制,对于网络内的节点具有部分的控制权。联盟链保留了公有链的部分透明、公开、防篡改等特征,并且具备权限管理、身份认证等特点,受到广泛青睐,主要侧重于区块链在数据安全、可信认证等方面的应用。
当前区块链的广泛应用,主要是利用了其以下特点:
- (1)身份管理:区块链通过哈希地址以及权限认证,实现对参与节点的安全管理。
- (2)数据记录:借助非对称加密(如椭圆曲线)、哈希算法等技术,区块链上的数据具有透明、可追溯、防篡改等特性。
- (3)激励机制:区块链通过激励机制.如数字货币,确保参与方共同维持区块链的运转。
- (4)共识机制:共识机制是区块链在分布式节点间保证数据安全可靠的关键。通过共识机制,各个参与方对数据进行认证,可以有效降低数据被篡改的风险,确保链上数据的一致性。
2. 联邦学习
传统的机器学习将数据集中到服务端,通过运行机器学习算法训练相应的模型。当前,随着用户对隐私保护的重视,此类算法面临着巨大的隐私挑战。而联邦学习将用户数据留存在本地,仅收集模型参数,从而大大降低用户数据泄露的风险。联邦学习中存在用户与服务端两个角色。在初始阶段,服务器会依据计算任务,下发将要学习的模型。在每个参与用户端,用户基于其本地学习模型。通常采用基于数据来训练指定的机器学二梯度的算法训练本地模型参数。其基本原理为:向着损失函数的负梯度方向,调整更新本地模型参数,使损失函数最小化。在服务端,服务器会收集用户训练的模型参数,并将这些参数做聚合,对整体模型的参数进行更新。
3. 联邦学习与区块链融合
基于如前所述存在的问题,现在可以考虑将区块链与联邦学习进行融合,以建立一种安全可靠、智能隐私的机制。二者的融合,主要从以下两个角度出发:
- (1)区块链赋能联邦学习。区块链为联邦学习的各个参与方(用户)提供了一种可信的机制。通过区块链尤其是联盟链的授权机制、身份管理等,可以将互不可信的用户作为参与方整合到一起,建立一个安全可信的合作机制。此外,联邦学习的模型参数可以存储在区块链中,保证了模型参数的安全性与可靠性。
- (2)联邦学习赋能区块链。区块链节点有限的存储能力与区块链较大存储需求之间的矛盾,一直是限制区块链发展的瓶颈所在。通过联邦学习对原始数据的处理,仅存储计算结果,可以降低存储资源的开销。此外,基于联邦学习对区块链交易的认证计算、传输通信等进行优化,可以提升区块链的运行效率。
基于以上分析,本文提出区块链与联邦学习相融合的架构。该架构主要分为用户层和边缘服务层。用户主要由物联网设备、移动终端等构成;服务端主要由配备有移动边缘计算(Mobile Edge Computing,MEC)服务器、具备一定存储与计算能力的基站构成。该架构依据功能可以划分为联邦学习和区块链两个模块。其中,联邦学习本地训练运行在用户侧,依据用户侧的数据学习本地模型参数。区块链则运行在边缘服务侧,接收并存储联邦学习的模型参数,并通过共识协议对参数进行认证。其整体流程如下:
- (1)用户本地训练。参与的用户在本地依据所持有的数据,通过基于梯度下降的算法,寻找模型参数,使损失函数最小化。
- (2)服务端参数收集。用户训练的模型参数,通过无线网络传输至边缘服务层,基站收集来自各个用户的参数,并以交易的形式存储在各区块链节点。
- (3)产生交易区块。各参与节点收集来自用户层的交易(模型参数),并通过加密签名,打包进区块。节点间通过运行共识机制,决定出块权所属。获得出块权的节点,将区块广播至全网,认证通过后加入区块链。
- (4)模型聚合。位于边缘服务层的聚合节点依据区块链上的记录,聚合模型参数,并更新整体的模型。进一步,将该模型下发至各参与用户,从而开始新一轮的训练学习。
以上基于区块链与联邦学习的架构,将区块链安全、可信,以及联邦学习分布式智能、保护数据隐私等特点进行了互补,提升了系统整体的安全性,构建了更为智能的区块链机制。然而,区块链共识机制的效率,是限制系统整体性能、影响进一步应用的瓶颈。