链桨PaddleDTX包含区块链、去中心化存储、隐私计算三大重要模块,为理解其运行原理,需先了解一些基本概念。
一、区块链相关概念
区块链:区块链可以理解为一种新型的分布式数据库,全网通过特定共识机制(如pow、pos、vrf等)对账本和交易等状态达成一致,区块链利用哈希等密码学机制,保证链上数据的不可篡改。所有区块链全节点都保存区块链完整数据信息,即便有一方篡改数据,也不会被其他节点承认。PaddleDTX支持XuperChain和Fabric作为底层区块链架构。
智能合约:智能合约是运行在区块链上,旨在以信息化方式传播、验证或执行合同的计算机协议。PaddleDTX中节点的去中心化治理、数据的副本保持证明机制、计算任务管理等都基于智能合约完成。
二、去中心化存储相关概念
PaddleDTX的存储网络有三类主要节点:
- 数据持有节点:数据的归属方,有存储数据的需求;
- 存储节点:有丰富的闲置的存储资源,可以提供存储服务;
- 区块链节点:构成区块链网络,基于不同的区块链框架,他们有不同的定义。
副本保持证明:为保证文件被存储节点安全存储且未被篡改,PaddleDTX采用了副本保持证明挑战和应答机制。数据持有方定期向存储节点发起数据完整性证明挑战,存储节点对挑战进行应答,整个流程记录在区块链上,并通过智能合约进行自动化验证。
文件迁移:为保证文件的安全和高可用,数据持有方会定期检查己方文件的健康状态,并将非健康的文件切片从不健康的存储节点迁移到健康节点,保证每个文件都处于健康且可随时恢复的状态。
健康度:PaddleDTX支持存储节点和文件的健康状态监控,保证系统的高可用
- 存储节点健康状态:存储节点健康状态根据节点的活跃度和副本保持证明应答成功比例来衡量,文件分发时会优先选择健康的存储节点;
- 文件健康状态:文件健康状态根据每个切片的健康状态来衡量,每个切片的健康状态由其所在的存储节点健康状态决定。
三、隐私计算相关概念
PaddleDTX的计算网络有三类主要节点:
- 计算需求节点:有训练模型和预测的需求;
- 任务执行节点:拥有使用数据的权限,参与多方安全计算,进行模型训练和数据预测;
- 区块链节点:构成区块链网络,基于不同的区块链框架,他们有不同的定义。
PaddleDTX网络中包含两种计算任务:
- 模型训练任务:通过训练得到目标模型;
- 预测任务:通过预测得到数据的目标值。
模型评估:PaddleDTX支持对训练得到的模型效果进行分布式评估,支持动态评估和静态评估两种模式
- 动态模型评估:动态评估伴随训练任务同时进行,在指定的训练阶段触发模型评估,并获得当前阶段训练结束后的评估指标。训练过程中可以获取每个阶段模型的评估结果,以此判断是否终止训练;训练任务结束时,可获得一系列评估指标,展示训练效果变化趋势。PaddleDTX支持随机划分的动态模型评估方式;
- 静态模型评估:静态评估在训练任务结束后进行,评估器会划分训练样本、创建并运行训练任务和对应的预测任务,最后计算评估指标。PaddleDTX支持随机划分、交叉验证和留一法三种静态评估方式。
数据集:PaddleDTX中的训练样本和预测数据集都是以文件的形式存储于中心化存储网络,在发布训练任务或者预测任务的时候,由计算需求节点指定。
PaddleDTX开源了三种机器学习算法:
- 多元线性回归:多元线性回归用来描述一个变量受多个因素影响,且他们的关系可以用多元线性方程表示的场景;
- 多元逻辑回归:多元逻辑回归模型是基于线性回归模型变化得到的,不同于多元线性回归,多元逻辑回归的目标特征值是离散的,通常定义为{1,0},分别表示目标特征是否为指定值;
- 神经网络:神经网络是一种由大量的节点(或称为神经元)相互联接构成的运算模型,理论上可以逼近任意函数。
PaddleDTX对三种算法均进行了纵向联邦学习的改造,暂不支持横向联邦学习。
- 纵向联邦学习:参与方的样本重叠较多,而特征重叠较少。将样本按照纵向切分,取出各方样本相同而特征不同的那部分数据进行训练;
- 横向联邦学习:参与方的特征重叠较多,而样本重叠较少。将样本按照横向切分,取出各方特征相同而样本不同的那部分数据进行训练。