mpc 安全多方计算协议_BNC公链 | 不看到数据却能进行计算?一文了解安全多方计算...
今天,數據可以用來分析復雜問題,提供解決方案,甚至解決無法回答的問題。但是,當涉及到利用數據為公眾服務時,數據共享和數據保護之間往往存在著許多矛盾。而安全多方計算(MPC)如何在不泄露隱私數據的情況下實現數據協作分析?又將為數據的秘密共享帶來了哪些新的機遇?
區塊鏈百科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的工資也按照同樣的流程完成秘密分享(見下表)。這樣的秘密分享完成后,每個人都持有三份工資份額。
當三個工資份額在參與者之間秘密共享時,他們對彼此的工資一無所知,畢竟每個數據片段本身不提供任何有用的信息。然而,當這些數字被加起來時,秘密共享提供了有價值的信息。每個部分結果經過重新集合相加再除以總人數時,便實現了在不披露員工各自薪資信息的情況下,得出平均收入水平。
實際上,安全多方計算已不再是數據科學家的夢想,而是一個被證明的事實。人們由此可對加密數據進行計算,從而更好地檢測金融欺詐,解決交通擁堵,預測疾病以及更多……
總結
以上是生活随笔為你收集整理的mpc 安全多方计算协议_BNC公链 | 不看到数据却能进行计算?一文了解安全多方计算...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言多层桑基图_桑基图的绘制核心微生物
- 下一篇: core和node开发小程序_成都小程序