Page 315 - 《软件学报》2026年第1期
P. 315

312                                                        软件学报  2026  年第  37  卷第  1  期


                    目前学界一般根据交互模式将零知识证明划分为交互式零知识证明                        (interactive zero-knowledge proof) 和非交
                 互式零知识证明      (non-interactive zero-knowledge proof, NIZK). 交互式零知识证明通过多轮交互完成验证. 每一轮
                 中, 验证者发送随机挑战, 证明者根据挑战生成响应. 通过反复交互, 验证者逐步确信陈述的真实性, 同时不获取额
                 外信息. 交互式零知识证明适合小规模实时场景, 但通信开销高. 非交互式零知识证明仅生成一次证明, 验证者无
                 需额外交互即可独立验证. 其通过公共参考字符串                (common reference string, CRS) 或随机谕示器  (random oracle)
                 实现, 适用于大规模隐私计算场景, 但需权衡信任假设与性能. 特别地, Fiat 等人                   [47] 在研究基于二次剩余根的身份
                 识别协议过程中发现可将交互式证明转换为非交互式证明, 因此零知识证明协议的构造可从交互式证明入手.
                    目前零知识证明仍然存在如下挑战: 一是性能瓶颈问题. 零知识证明的生成和验证计算量大, 如何提高效率并
                 降低计算存储成本一直是一个重要挑战. 尽管近年来出现了                    zk-SNARKs (zero-knowledge succinct non-interactive
                 arguments of knowledge) [48] 这样的高效零知识证明协议. 但是其证明生成时间仍较长          (分钟级), 需在硬件加速与算
                 法优化上开展进一步研究. 现有大部分协议还是需求对数或对数多项式级验证时间和证明长度, 能否将三者降低
                 到线性复杂度仍有待研究. 二是安全与信任假设. zk-SNARKs               [48] 和  zk-STARKS  是近年来出现的两种高效零知识
                 证明协议. 其中    zk-SNARKs 基于椭圆曲线双线性配对和多项式承诺              (如  KZG  承诺), 依赖公共参考字符串的可信
                 设置, 一定程度上降低了协议的安全性和实用性. STARK               协议则基于哈希函数和默克尔树使用可公开验证的随机
                 性解决交互问题, 缺点是证明空间需求大, 导致              STARK 证明在以太坊上的验证成本更高, 难以适配低带宽场景.
                 设计高效且不依赖可信设置的系统和基于               SNARK  或  STARK  协议的优化问题将是该领域的重要研究方向. 三是
                 标准化与用户友好性. 现有的零知识证明技术框架繁琐, 多种零知识证明框架                        (Circom、Noir、Leo) 并存, 缺乏统
                 一标准. 如何将其应用于实际系统并使其对终端用户友好是一个充满挑战性的课题.
                  3.2   基于合作学习技术
                  3.2.1    联邦学习
                    联邦学习    [49−51] 由谷歌工程师于  2016  年首先提出. 联邦学习实现了在数据不离开本地客户端的前提下进行多
                 方数据的联合学习, 一定程度上解决了“数据孤岛”问题, 避免了隐私数据的直接泄露. 文献中提出的                             FedAvg [52]  算
                 法建立了基于梯度聚合的服务器-客户端联邦学习框架, 这种基于服务器-客户端的联邦学习框架结构被大多数的
                 联邦学习算法所采用. 虽然联邦学习的出发点契合当今时代对数据隐私的要求, 但是后续的研究表明: 联邦学习算
                 法并未真正解决分布式数据的隐私安全问题, 利用梯度代替客户端数据递交给服务器可能间接导致数据隐私的泄
                 露  [53,54] . 为进一步提高联邦学习的隐私性, 隐私联邦研究者一方面围绕算法本身进行改变, 如                    FedProto [55] 中就提出
                 使用原型代替梯度作为信息传递的媒介, 利用原型计算的不可逆性防止数据信息的泄露; 另一方面, 联邦学习在交
                 叉领域潜力极大, 与其他隐私计算技术具有极佳的兼容性, 代表性成果包括结合差分隐私技术                              [56] , 根据隐私性需
                 求对数据添加不同强度的噪声; 结合同态加密技术                [57] , 对传递的梯度进行加密, 从而在密文上实现梯度的聚合.
                  3.2.2    传统联邦学习
                    传统联邦学习普遍采取的方式是使用梯度信息代替原始数据, 用以进行联合训练. 这类基于梯度聚合的联邦
                 学习算法, 本文将其归纳为传统联邦学习算法. 一般地, 每一通信轮次传统联邦学习算法分为如下                              5  个步骤, 整体
                 工作流程如图     3  所示.
                    1) 模型初始化. 中央服务器挑选参与训练的客户端, 并对全局模型的参数进行初始化设置.
                    2) 模型广播. 传统联邦学习中服务器和客户端一般采用相同结构, 因此, 本步骤在操作中一般直接传递模型参
                 数, 以实现模型下发的目的.
                    3) 本地更新. 客户端下载全局模型参数以更新本地模型, 并使用本地数据集进行若干轮次的本地训练, 准备将
                 训练所得到的梯度或模型参数信息回传中央服务器.
                    4) 模型上传. 本地客户端上传本地模型           (梯度或其他参数), 服务器接收来自各个客户端的回传信息, 根据联邦
                 学习算法进行模型聚合.
                    5) 全局更新. 服务器根据聚合的结果对全局模型参数进行更新, 用于下一轮次训练的初始化.
   310   311   312   313   314   315   316   317   318   319   320