查看原文
其他

区块链融合MPC解决方案及其应用探索

中国光大银行 中国光大银行科技创新实验室 2023-03-29

在上期《基于区块链+隐私计算技术的数据共享平台初探》中,主要介绍隐私计算包括安全多方计算技术(MPC)、可信执行环境(TEE)、联邦学习(FL)这三类技术。安全多方计算主要解决在无可信第三方的情况下,多个参与方共同计算一个目标函数, 并且保证每一方仅获取自己的计算结果。可信执行环境依赖可信硬件构建一个可信的执行环境,在该环境中对加密数据进行解密计算,外部无法获取该数据。联邦学习则是实现在本地原始数据不出库的情况下,通过对中间加密数据的流通与处理来完成多方联合的机器学习训练。


本期主要对安全多方计算的技术架构、“区块链+MPC”解决方案和银行业应用实践进行介绍。



技术架构

安全多方计算技术并不是一个单一的技术,它本身是由一系列技术组成的协议栈,按层次可分为2层,即支撑技术层和MPC协议层。


1.1

 支撑技术层 

支撑技术层提供构建MPC的基础技术实现,包含常用的加密解密、hash函数、密钥交换、同态加密(HE,Homomorphic Encryption)、伪随机函数等,还包含MPC中的基础工具:秘密分享(SS,Secret Sharing)、不经意传输协议(OT,Oblivious Transfer)、不经意伪随机函数(OPRF,Oblivious Pseudorandom Function)等。


同态加密:指能够直接对密文进行计算得到加密的结果,同态加密按照其满足的运算类型可分为加法同态(Paillier同态加密),乘法同态(RSA同态加密),以及加法乘法都满足的全同态加密(Gentry同态加密)。

秘密分享:指技术本身可以直接构造安全多方计算协议,在计算时,各参与方将自己的输入数据通过秘密分享的方式将数据的分片分发到各参与方。


不经意传输:指数据发送方有n个数据,数据接收方接收其中的一个数据,且数据接收方不能获取其他的数据,数据发送方不知道接收方选择接收的数据具体是哪一个。

 

混淆电路:指将一参与安全多方计算协议的计算逻辑编译成布尔电路,然后将布尔电路中的每一个门进行加密并打乱加密顺序完成混淆操作。


1.2

 MPC协议层 

MPC协议层是利用支撑技术组合构造的MPC协议。构造的MPC协议又分为专用算法和通用框架两类。


通用框架:指可以满足大部分计算逻辑的通用MPC协议,主要基于混淆电路实现,可将计算逻辑编译成电路,然后混淆执行,支持大部分计算逻辑,但对于复杂计算逻辑,混淆电路的效率会有不同程度的降低。


专用算法:指为解决特定问题所构造出的特殊MPC协议,专用算法的效率会比基于混淆电路的通用框架高很多,具体包含四则运算,比较运算,矩阵运算,隐私集合求交集,隐私数据查询,差分隐私等算法;


专用算法和通用框架是解决隐私计算问题的两种不同思路,专用算法为特定隐私计算逻辑而设计,效率更高,但只能支持单一计算逻辑;通用框架可以支持大部分隐私计算逻辑,由于支持更多的计算逻辑,与专用算法相比效率会有很大的差距(约10~100倍)。



区块链融合安全多方计算解决方案

在实际应用中,安全多方计算保证传输过程中的原始数据和中间数据的隐私性以及独立性并使计算结果准确表达。由于区块链技术致力解决分布式环境中的安全和信任问题,可以和安全多方计算的多种协议更好的融合。联盟链和安全多方计算技术结合的解决方案包含两个部分:链上阶段保证计算执行的安全性;链下阶段负责密钥生成、数据加密等预处理操作。


在参与安全多方计算的成员间搭建联盟链网络后,当每一次安全多方计算任务发起时,对任务发起方、参与方进行身份校验,确保为数据联盟成员后才允许执行。在对原始混淆数据、中间数据、结果数据传输时,同一份数据将经过多节点验证,确保不被篡改。最后,在计算任务中针对不同数据提供方的贡献,区块链可以通过智能合约的形式为数据锚定贡献值、记录参与方的贡献量和提供评价、利润分配依据。


除此之外,基础的多方安全计算包括比较算法、四则运算、求交等基本算法,而目前市面上已出现了能够通过计算模型来整合基础算法,实现更复杂计算的多方计算平台。其中的计算模型本身是一些代码文件,同样存在运算逻辑被篡改的可能,对此,区块链亦能发挥防篡改作用。



银行业应用实践

当前,通过在银行间搭建区块链+多方安全计算平台,利用区块链去中心化和不可篡改的特性作为风险信息共享的基础手段,在保护信息安全的同时打破数据孤岛。在“数据可用不可见”的前提下,融合MPC技术对成员数据进行汇总分析,实现风险联防联控。联合风险画像便是一个典型落地案例,多家银行共同组成数据安全共享联盟,针对特定的个人或企业用户,通过合约调用的方式将需要共享的数据发布到链上形成共享的数据目录。在人行的监管下用户信贷数据可进行合规共享,不同银行持有的数据互为补充,通过联合查询(包括隐匿查询、隐私交集、差集和并集等运算)和联合统计(数据的隐私加减乘除、平均数等运算)等技术获得针对某一用户的风险画像(见下图)。


图1 联合风险画像



总结

本文从MPC技术架构入手,并进一步介绍区块链在安全多方计算中发挥的作用以及实际落地案例。在金融领域应用区块链和安全多方计算技术是大势所趋,尤其在银行业务的诸多场景中都会涉及到跨机构数据合作和共享,其中包括银政、银企、银银之间等互联场景。区块链联合安全多方计算技术可以很好的解决各机构间不愿共享数据,不敢共享数据的问题,能够在保证各方数据安全的前提下,进行多方数据的联合计算,拓宽数据的使用维度,随着区块链、安全多方计算技术应用水平的提升,数据必然能发挥更大的价值。


作者 | 杨玉冰

视觉 | 王朋玉

统筹 | 祖德光

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存