不看到数据却能进行计算?一文了解安全多方计算

金色财经 閱讀 62290 2020-7-17 11:46
分享至
微信掃一掃,打開網頁後點擊屏幕右上角分享按鈕

区块链百科No.35:安全多方计算

从百万富翁问题说起

两个百万富翁在街头邂逅,他们都想比比看谁更有钱。但是出于隐私,谁都不想让对方知道自己到底拥有多少财富。在不借助第三方的情况下,如何得出谁的财富更多呢?

这就是著名的“姚式百万富翁问题”。1980年代,姚期智院士在其论文中提出:Alice有一个私人数字a, Bob有一个私人数字b,双方的目标是解不等式a是否≤b。或者更严格来说,除了得到不等式了a≤b或a>b外,不会得出任何与a或b相关的其他信息。

姚期智

计算机学者,2000年图灵奖获得者(唯一获得该奖的华人学者),研究方向包括计算理论及其在密码学和量子计算中的应用。

在这个经典问题之下,诞生了「安全多方计算」(Secure Multiparty Computation,以下简称MPC)这门密码学分支。MPC技术能够在不泄露数据的情况下,联合多方数据进行计算并得到明文结果,最终实现数据的所有权和数据使用权的分离。

在此之后,该领域出现了一系列基础结果,用来解决分布式计算问题,同时保证输入信息的隐私性和安全性。

什么是MPC?

安全多方计算(MPC)可以理解为一种加密协议,它将计算分布在多方之间,使得任何一方在看不到其他方输入数据的情况下,开展安全且私密的联合计算。

值得注意的是,隐私和安全是有区别的。

安全问题,就像是信用卡出现安全漏洞被盗了钱,人们可以通过一些措施来阻止它并要求退款。而隐私问题,在于当个人隐私受到侵犯时,我们无法采取同样的措施。隐私信息一旦被公开,就无法再次收回。因此,需要设计一种安全协议,在不泄露隐私的前提实现共享数据的价值。

通过MPC协议,各方数据可经由编码后发送至多个服务器进行联合计算,并保证数据的隐私性。简而言之,MPC可以应用于任何涉及多方机密数据的问题。

MPC是如何工作的?

为了说明这个概念,我们以计算平均工资来举例。某公司的A、B、C三位员工想计算一下他们的平均工资,但在这个过程中,每个人都不想让其他员工知道自己的薪资信息。

假设A的工资是10万元,可通过加密方式将其随机分为三部分:2万、3万和5万,A自己保留一部分(2万),并将其他信息提供给B(3万)和C(4万)。B和C的工资也按照同样的流程完成秘密分享(见下表)。这样的秘密分享完成后,每个人都持有三份工资份额。

当三个工资份额在参与者之间秘密共享时,他们对彼此的工资一无所知,毕竟每个数据片段本身不提供任何有用的信息。然而,当这些数字被加起来时,秘密共享提供了有价值的信息。每个部分结果经过重新集合相加再除以总人数时,便实现了在不披露员工各自薪资信息的情况下,得出平均收入水平。

实际上,安全多方计算已不再是数据科学家的梦想,而是一个被证明的事实。人们由此可对加密数据进行计算,从而更好地检测金融欺诈,解决交通拥堵,预测疾病以及更多……

btcfans公众号

微信掃描關注公眾號,及時掌握新動向

來源鏈接:https://www.jinse.com/
免責聲明:
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
標籤: 区块链技术
上一篇:交易所公链路在何方,筹备600天的OKChain能突围吗? 下一篇:什么是零售央行数字货币(CBDC)?

相關資訊