完全同態加密
❶ 區塊鏈中現代密碼學
1983年 - David Chaum描述的盲簽
1997年 - Adam Back發明的HashCash(工作證明制度的一個例子)
2001年 - Ron Rivest,Adi Shamir和Yael Tauman向加密社區提出了環簽名
2004年 - Patrick P. Tsang和Victor K.提出使用環簽名系統進行投票和電子現金;
2008年 - 由Satoshi Nakamoto出版的Bitcoin白皮書
2011年 - 比特幣系統中的匿名分析,Fergal Reid和Martin Harrigan
2012 - 目的地址比特幣匿名(CryptoNote中的一次性地址)。
安全多方計算起源於1982年姚期智的百萬富翁問題。後來Oded Goldreich有比較細致系統的論述。
姚氏百萬富翁問題是由華裔計算機科學家、圖靈獎獲得者姚啟智教授首先提出的。該問題表述為:兩個百萬富翁Alice和Bob想知道他們兩個誰更富有,但他們都不想讓對方知道自己財富的任何信息。該問題有一些實際應用:假設Alice希望向Bob購買一些商品,但她願意支付的最高金額為x元;Bob希望的最低賣出價為y元。Alice和Bob都非常希望知道x與y哪個大。如果x>y,他們都可以開始討價還價;如果z<y,他們就不用浪費口舌。但他們都不想告訴對方自己的出價,以免自己在討價還價中處於不利地位。
該方案用於對兩個數進行比較,以確定哪一個較大。Alice知道一個整數i;Bob知道一個整數j, Alice與B0b希望知道究竟i>=j還是j>i,但都不想讓對方知道自己的數。為簡單起見,假設j與i的范圍為[1,100】。Bob有一個公開密鑰Eb和私有密鑰Db。
安全多方計算(Secure Multi-Party Computation)的研究主要是針對無可信第三方的情況下, 如何安全地計算一個約定函數的問題. 安全多方計算在電子選舉、電子投票、電子拍賣、秘密共享、門限簽名等場景中有著重要的作用。
同態加密(Homomorphic Encryption)是很久以前密碼學界就提出來的一個Open Problem。早在1978年,Ron Rivest, Leonard Adleman, 以及Michael L. Dertouzos就以銀行為應用背景提出了這個概念[RAD78]。對,你沒有看錯,Ron Rivest和Leonard Adleman分別就是著名的RSA演算法中的R和A。
什麼是同態加密?提出第一個構造出全同態加密(Fully Homomorphic Encryption)[Gen09]的Craig Gentry給出的直觀定義最好:A way to delegate processing of your data, without giving away access to it.
這是什麼意思呢?一般的加密方案關注的都是數據存儲安全。即,我要給其他人發個加密的東西,或者要在計算機或者其他伺服器上存一個東西,我要對數據進行加密後在發送或者存儲。沒有密鑰的用戶,不可能從加密結果中得到有關原始數據的任何信息。只有擁有密鑰的用戶才能夠正確解密,得到原始的內容。我們注意到,這個過程中用戶是不能對加密結果做任何操作的,只能進行存儲、傳輸。對加密結果做任何操作,都將會導致錯誤的解密,甚至解密失敗。
同態加密方案最有趣的地方在於,其關注的是數據處理安全。同態加密提供了一種對加密數據進行處理的功能。也就是說,其他人可以對加密數據進行處理,但是處理過程不會泄露任何原始內容。同時,擁有密鑰的用戶對處理過的數據進行解密後,得到的正好是處理後的結果。
有點抽象?我們舉個實際生活中的例子。有個叫Alice的用戶買到了一大塊金子,她想讓工人把這塊金子打造成一個項鏈。但是工人在打造的過程中有可能會偷金子啊,畢竟就是一克金子也值很多錢的說… 因此能不能有一種方法,讓工人可以對金塊進行加工(delegate processing of your data),但是不能得到任何金子(without giving away access to it)?當然有辦法啦,Alice可以這么做:Alice將金子鎖在一個密閉的盒子裡面,這個盒子安裝了一個手套。工人可以帶著這個手套,對盒子內部的金子進行處理。但是盒子是鎖著的,所以工人不僅拿不到金塊,連處理過程中掉下的任何金子都拿不到。加工完成後。Alice拿回這個盒子,把鎖打開,就得到了金子。
這裡面的對應關系是:盒子:加密演算法盒子上的鎖:用戶密鑰將金塊放在盒子裡面並且用鎖鎖上:將數據用同態加密方案進行加密加工:應用同態特性,在無法取得數據的條件下直接對加密結果進行處理開鎖:對結果進行解密,直接得到處理後的結果同態加密哪裡能用?這幾年不是提了個雲計算的概念嘛。同態加密幾乎就是為雲計算而量身打造的!我們考慮下面的情景:一個用戶想要處理一個數據,但是他的計算機計算能力較弱。這個用戶可以使用雲計算的概念,讓雲來幫助他進行處理而得到結果。但是如果直接將數據交給雲,無法保證安全性啊!於是,他可以使用同態加密,然後讓雲來對加密數據進行直接處理,並將處理結果返回給他。這樣一來:用戶向雲服務商付款,得到了處理的結果;雲服務商掙到了費用,並在不知道用戶數據的前提下正確處理了數據;
聚合簽名由Boneh等人提出,主要是通過聚合多個簽名為一個簽名,來提高簽名與驗證的效率。要對多個用戶的數據進行簽名,聚合簽名能夠極大地降低簽名計算復雜度。CL就是聚合簽名。
零知識證明過程有兩個參與方,一方叫證明者,一方叫驗證者。證明者掌握著某個秘密,他想讓驗證者相信他掌握著秘密,但是又不想泄漏這個秘密給驗證者。
雙方按照一個協議,通過一系列交互,最終驗證者會得出一個明確的結論,證明者是或不掌握這個秘密。
對於比特幣的例子,一筆轉帳交易合法與否,其實只要證明三件事:
發送的錢屬於發送交易的人
發送者發送的金額等於接收者收到金額
發送者的錢確實被銷毀了
整個證明過程中,礦工其實並不關心具體花掉了多少錢,發送者具體是誰,接受者具體是誰。礦工只關心系統的錢是不是守恆的。
zcash 就是用這個思路實現了隱私交易。
零知識證明的三條性質對應:
(1)完備性。如果證明方和驗證方都是誠實的,並遵循證明過程的每一步,進行正確的計算,那麼這個證明一定是成功的,驗證方一定能夠接受證明方。
(2)合理性。沒有人能夠假冒證明方,使這個證明成功。
(3)零知識性。證明過程執行完之後,驗證方只獲得了「證明方擁有這個知識」這條信息,而沒有獲得關於這個知識本身的任何一點信息。
只有環成員,沒有管理者,不需要環成員之間的合作,簽名者利用自己的私鑰和集合中其他成員的公鑰就能獨立的進行簽名,不需要其他人的幫助,集合中的其他成員可能不知道自己被包含在了其中。
環簽名可以被用作成一種泄露秘密的方式,例如,可以使用環形簽名來提供來自「白宮高級官員」的匿名簽名,而不會透露哪個官員簽署了該消息。 環簽名適用於此應用程序,因為環簽名的匿名性不能被撤銷,並且因為用於環簽名的組可以被即興創建。
1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)
2)簽名。簽名者用自己的私鑰和任意n個環成員的公鑰為消息m生成簽名a
3)簽名驗證。簽名者根據環簽名和消息m,驗證簽名是否是環中成員所簽。如果有效就接收,如果無效就丟棄。
群簽名的一般流程
盲數字簽名(Blind Signature)簡稱盲簽名——是一種數字簽名的方式,在消息內容被簽名之前,對於簽名者來說消息內容是不可見的。1982年大衛·喬姆首先提出了盲簽名的概念。盲簽名因為具有盲性這一特點,可以有效保護所簽署消息的具體內容,所以在電子商務和電子選舉等領域有著廣泛的應用。
類比例子:對文件簽名就是通過在信封里放一張復寫紙,簽名者在信封上簽名時,他的簽名便透過復寫紙簽到文件上。
所謂盲簽名,就是先將隱蔽的文件放進信封里,而除去盲因子的過程就是打開這個信封,當文件在一個信封中時,任何人不能讀它。對文件簽名就是通過在信封里放一張復寫紙,簽名者在信封上簽名時,他的簽名便透過復寫紙簽到文件上。
一般來說,一個好的盲簽名應該具有以下的性質:
不可偽造性。除了簽名者本人外,任何人都不能以他的名義生成有效的盲簽名。這是一條最基本的性質。
不可抵賴性。簽名者一旦簽署了某個消息,他無法否認自己對消息的簽名。
盲性。簽名者雖然對某個消息進行了簽名,但他不可能得到消息的具體內容。
不可跟蹤性。一旦消息的簽名公開後,簽名者不能確定自己何時簽署的這條消息。
滿足上面幾條性質的盲簽名,被認為是安全的。這四條性質既是我們設計盲簽名所應遵循的標准,又是我們判斷盲簽名性能優劣的根據。
另外,方案的可操作性和實現的效率也是我們設計盲簽名時必須考慮的重要
因素。一個盲簽名的可操作性和實現速度取決於以下幾個方面:
1,密鑰的長度;
2,盲簽名的長度;
3,盲簽名的演算法和驗證演算法。
盲簽名具體步驟
1,接收者首先將待簽數據進行盲變換,把變換後的盲數據發給簽名者。
2,經簽名者簽名後再發給接收者。
3,接收者對簽名再作去盲變換,得出的便是簽名者對原數據的盲簽名。
4,這樣便滿足了條件①。要滿足條件②,必須使簽名者事後看到盲簽名時不能與盲數據聯系起來,這通常是依靠某種協議來實現的。
❷ 同態加密的實現原理是什麼在實際中有何應用
同態加密是一種加密形式,它允許人們對密文進行特定的代數運算得到仍然是加密的結果,將其解密所得到的結果與對明文進行同樣的運算結果一樣。換言之,這項技術令人們可以在加密的數據中進行諸如檢索、比較等操作,得出正確的結果,而在整個處理過程中無需對數據進行解密。其意義在於,真正從根本上解決將數據及其操作委託給第三方時的保密問題,例如對於各種雲計算的應用。
這一直是密碼學領域的一個重要課題,以往人們只找到一些部分實現這種操作的方法。而2009年9月克雷格·金特里(Craig Gentry)的論文 從數學上提出了「全同態加密」的可行方法,即可以在不解密的條件下對加密數據進行任何可以在明文上進行的運算,使這項技術取得了決定性的突破。人們正在此基礎上研究更完善的實用技術,這對信息技術產業具有重大價值。
❸ 全同態加密和部分同態的加密有什麼區別
區別:
1、部分同態既能做乘法又能做加法,但是不能同態計算任意的函數;全同態加密可以對密文進行無限次數的任意同態操作,也就是說它可以同態計算任意的函數。
2、部分同態加密能做的事情,全同態加密也能做;但是全同態加密一般計算開銷比較大,所以部分同態加密方案夠用的時候沒必要選用全同態加密;
3、設計出全同態加密的協議是比設計部分同態加密的演算法要難的。
同態加密規定
如果有一個加密函數f,把明文A變成密文A』,把明文B變成密文B』,也就是說f(A)=A』,f(B)=B』。另外還有一個解密函數,能夠將f加密後的密文解密成加密前的明文。
對於一般的加密函數,如果我們將A』和B』相加,得到C』。我們用對C』進行解密得到的結果一般是毫無意義的亂碼。
但是,如果f是個可以進行同態加密的加密函數, 我們對C』使用進行解密得到結果C, 這時候的C = A + B。這樣,數據處理權與數據所有權可以分離,這樣企業可以防止自身數據泄露的同時,利用雲服務的算力。
❹ 未來5年哪些技術將雄霸天下
3月19日-22日,IBM將召開IBM Think 2018大會,這個全球性的盛會將匯集40000多個高科技愛好者,會議主題將涵蓋人工智慧、數據分析以及物聯網等諸多熱點話題,旨在「讓商業世界更智能」。
在這次活動中,IBM將給出他們對於未來五年的技術發展的預測,並解答有關新技術創新的問題以及這些創新會如何影響我們的生活。這五大技術預測包括Crypto-Anchors、Quantum Computing、Hacking、AI Bias、 AI Microscopes。

1. Crypto-Anchors
造假者人人喊打,而Crypto-Anchors和區塊鏈結合起來能夠有效打假。據悉,因經濟欺詐全球每年會損失超6000億美元,而IBM開發的防篡改數字指紋可嵌入產品中並與區塊鏈鏈接以幫助證明真實性。
例如,Crypto-Anchors可以幫助證明拯救生命的葯物是合法的,而不是偽造的。原本的瘧疾葯片可以塗上一層可食用的磁性墨水,只需簡單掃描一下智能手機,醫生或患者就可以立即發現該葯片是安全和真實的。
除此之外,Crypto-Anchors還可以與特殊的光學設備、人工智慧演算法相結合,以識別物體的結構和標簽,以驗證它們是否真的如他們所說的。例如,一瓶1982年的波爾多葡萄酒或者昂貴的金屬。
IBM設計了世界上最小的計算機,據了解這款電腦比我們平時見到的鹽粒還要小,計算機能力可以達到1990年x86 PC的性能。
Crypto-Anchors的第一批模型可能會在未來18個月內推出,未來五年內,它們將推動各個領域的創新和進步。
2.量子計算
現在量子計算已經備受研究人員的青睞,五年內,量子計算必將成為主流,幫助開發人員解決之前一度被認為無法解決的問題。據IBM表示,量子計算只是將成為所有科學和工程計算的先決條件,大學教育將納入量子計算的教學,量子演算法和經典演算法會同時教授。
而這些進步將推動著量子時代的到來,量子計算機將能夠模擬更大的分子、化學反應和原子結合,這有助於新型材料的創造、個性化葯物的開發以及更高效和可持續能源的發現。
未來,量子計算機不再是神秘的,會被普通大眾所接受,未來五年內,業界將實現量子計算機和傳統計算機共同解決特定問題的應用。
3.黑客
未來,量子計算機能夠快速篩選出所有可能的安全概率,並且解密最強大的加密。目前IBM正在開發一種基於格密碼的安全方法,它會將數據隱藏在格的復數代數結構中。
在數學領域,lattice存在很難解決的問題,而這個困難問題對於密碼學家來說很有用,它可以用來保護數據,即使是在量子計算機中。
在數學領域,晶格存在很難解決的問題。這個困難對密碼學家來說很有用,因為它可以用來保護信息,即使黑客在量子計算方面也是如此。基於格的密碼術也是完全同態加密(FHE)的基礎,而這可以在不查看敏感數據的情況下在文件上執行計算,從而防止受到攻擊。通過FHE,信用報告機構可以在不解密個人數據的情況下分析和生成信用評分,初級保健醫生可以在不透露患者身份的情況下共享醫療記錄和相關數據。
目前我們的安全措施是嚴重不足的,未來五年,我們要在安全方面應該有更多的突破。
4. AI偏見
人工智慧偏差將在未來五年內爆發。人工智慧系統只與我們輸入的數據保持一致,如果我們輸入具有某些種族,性別或意識形態偏見的數據,那麼人工智慧偏見就會產生。不幸的是,許多AI系統現在都在接受這些不良數據的培訓。IBM研究人員正在考慮如何確保人為偏差不會影響AI。
MIT-IBM Watson AI實驗室正在研究使用計算認知建模來構建在決策中應用某些人類價值觀和原則的機器,這其中的一個關鍵原則是避免偏見和歧視。IBM研究人員開發了人工智慧演算法,通過從之前被認為具有歧視性的數據中學習,減少了訓練數據的偏差。IBM科學家還在開發一種無偏差的AI服務,a)補償數據偏差,b)跟蹤訓練集中的偏差,或者c)引入偏差。最終用戶可以確定每個場景中的可信度和偏差程度。
在未來的五年內,減少人工智慧系統的偏差將是人類信任人工智慧的關鍵,而且只有無偏差的人工智慧才能生存。
5. AI顯微鏡
2025年,世界將有一半以上的人口生活在水資源緊張的地區,因此科學家們正在努力收集相關數據以防止這種情況發生。但即使是能夠探測到水環境和化學物質的專門感測器,也不會無法預測意想不到的情況。
而檢測浮游生物是一種感知水生健康的有效方法,但因為它們的微觀大小,研究這些生物是困難的。IBM的研究人員正在建造小型、自主、人工智慧的機器人顯微鏡,可以監測浮游生物,更好地了解浮游生物的行為,以及它們如何應對環境變化,並預測供水威脅。顯微鏡的晶元可以捕捉浮游生物的影子,從而產生一個健康的數字樣本,而不需要聚焦。
在未來5年內,這些顯微鏡將發展的足夠先進,能夠在本地和實時分析解釋數據。
❺ 隱私計算-密碼學-同態加密
近年來,隨著大數據與人工智慧的盛行,針對個人的個性化的推薦技術的不斷發展,人們在享受便利的同時,也深深的感覺到無處不在的監控與監事,比如剛剛瀏覽了一個網站的商品,當去其他網站訪問的時候就會推薦類似的產品;剛剛搜索了某件商品,在很多其他的場景中都會給你推薦。這種體驗,談不上不好,也談不上多壞,但是如果仔細想想,就感覺自己的網上進行裸奔,個人隱私,一清二楚,毫無隱私可言,細思極恐。
不過隨著廣大用戶對於個人隱私的重視程度不斷加強,以及法律法規的不斷完善,針對個人隱私的保護提出了更高的要求,什麼樣的數據可以採集、收集與使用,如何使用都是一個比較敏感的問題。十三屆全國人大常委會第三十次會議表決通過了《 中華人民共和國個人信息保護法 》,並與2021年11月1日起施行。確立個人信息保護原則、規范處理活動保障權益、禁止「大數據殺熟」規范自動化決策、嚴格保護敏感個人信息、賦予個人充分權利等。新規施行後,違法的主體將 最高可處五千萬以下或者上一年度營業額百分之五 以下的罰款。
鑒於上述情況,近年來隱私計算技術被不斷的提及,源於其有優秀的數據保護作用,使得 「數據不出域、數據可用不可見、數據可算不可見」 ,限定了數據的使用場景,防止了數據的泄露,而引起了業界的熱捧。
隱私計算技術的演進歷程如下圖描述,以下是楊強教授在KDD 2021中國區的分享材料:
可以看到,隱私計算技術從1979年就開始了,最開始是安全多方計算、到差分隱私、到TEE, 再到最近火的不能再火的聯邦學習 ,一系列的技術應運而生。那為啥現在隱私計算這么火呢。
註:隱私計算技術成熟度曲線
但是這些技術本身的安全加密都是採用共同的方法與策略,下面講述下隱私計算的加密技術。
本文主要介紹同態加密,
眾所周知,優秀的程序員需要 嚴謹的邏輯思維與具象能力 ,當然在材料的時候,可能需要適當的渲染。但是對於技術的理解,對技術的探索,嚴謹的邏輯與堅實的推理是非常重要的。所以,對於「數據加密」這個命題,需要進行一番探索。
如此三態合一,即可保障數據的全鏈路的生命周期安全 。
那麼有沒有辦法解決數據計算的安全問題呢?答案就是 同態加密技術 。保障數據的運行態的安全,那麼同態加密技術具體是如何實現,如何應用,並且有哪些限制呢?
什麼是同態加密? ,引用Gentry大佬的原話:
同態加密(Homomorphic Encryption, HE),指滿足密文同態運算性質的加密演算法,即數據經過同態加密之後,對密文進行某些特定的計算,得到的密文計算結果在進行對應的同態解密後的明文等同於對明文數據直接進行相同的計算, 實現數據的「可算不可見」 。同態加密的實現效果如圖所示。
舉個例子: 國內某家大型的三甲醫院,由於歷史悠久,並且醫術精湛,歷史遺留了大量的用戶病例數據 。如今思考基於這些病例數據進行建模分析。但是由於數據量特別巨大,醫院本身的IT資源有限,計算能力不足。
這個時候,雲廠商找了過來。但是對於醫院來說,這些數據本身是用戶的隱私信息,並且也是醫院的核心價值,所以盡管雲廠商再三保證數據安全, 但是醫院還是不能夠放心的將數據上傳到雲廠商進行計算 。
正當這個事情推進不下去的時候,雲廠商從密碼行業花大價錢招來某個大牛,大牛提出一個方案,這樣吧,我們現在有 這樣一門技術,不需要傳輸明文數據,只需要傳輸密文就好,而且加密秘鑰由醫院自己保存,我們基於上傳的密文數據做不解密的密態運算( 並計算函數醫院提供就好),這樣數據不會泄露,雲廠商對數據無感知,之後傳回密文結果,醫院自己解密就好 。醫院一聽非常高興,那就這么辦吧。
下面將核心流程描述下。
這里,大家可能有個問題,這個f應該是什麼樣的函數,有什麼樣的限制條件?HE方案是支持任意的數據處理方法f,還是說只支持滿足一定條件的f呢?根據f的限制條件不同,HE方案實際上分為了兩類:
Paillier加密演算法是Pascal paillier[1]在1999年發明的概率公鑰加密演算法,該演算法 基於復合剩餘類的困難問題,是一種滿足加法的同態加密演算法 ,已經廣泛應用在加密信號處理或第三方數據處理領域。
前面我們分析過 同態加密的核心流程 ,大家可以一起回憶一下。核心的函數包括:秘鑰生成、明文加密、密文解密,下面我們來一步一步的分析,並且描述下,
秘鑰的生成主要有如下的步驟,
下面介紹一個完整的同態運算,m由 組成,介紹下同態加密的是如何使用密文計算的。
❻ 同態加密的同態加密的相關概念
同態加密的思想起源於私密同態,代數同態和算術同態是私密同態的子集。
R 和 S 是域,稱加密函數 E:R→S 為:
加法同態,如果存在有效演算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成立,
並且不泄漏 x 和 y。
乘法同態,如果存在有效演算法 ,E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成立,
並且不泄漏 x 和 y。
混合乘法同態,如果存在有效演算法 ,E(x×y)=E(x) y 或者 xy=D(E(x) y)成立,並
且不泄漏 x。
減法同態,如果存在有效演算法○- ,E(x-y)=E(x)○- E(y)或者 x-y=D(E(x)○- E(y))成立,
並且不泄漏 x 和 y,則稱 E 為減法同態。
除法同態,如果存在有效演算法○/ ,E(x/y)=E(x)○/ E(y)或者 x/y=D(E(x)○/ E(y))成立,
並且不泄漏 x 和 y,則稱 E 為減法同態。
代數同態,如果 E 既是加法同態又是乘法同態。
算術同態,如果 E 同時為加法同態、減法同態、乘法同態和除法同態。
❼ 中幣9 月 16 日上線的 NuCypher(NU)怎麼樣值不值得投資
從NU技術面來看,還是有一定發展前景的。值得投資一下。
中幣是全球領先的數字資產交易平台,中國最早的比特幣以太坊交易平台之一。2013年成立至今,中幣已為全球超過600萬人提供數字資產交易服務,提供金融級別的安全風控系統,平穩運營超過6年。
NuCypher是一個去中心化的密鑰管理系統 (KMS) 和基於區塊鏈的代理重加密服務。NuCypher KMS 由 NuCypher token(NU) 提供支持,使開發人員能夠通過 NuCypher 網路保護區塊鏈上的信息。這為用戶提供了完全同態加密、訪問控制和其他復雜形式的數據加密。
此外,通過質押NU幣,節點可以獲得 NuCypher 質押獎勵以保護網路。NuCypher 負責委託訪問控制和加密管理系統的大量創新,NuCypher KMS 和 NuCypher Hadoop 在數據管理和安全方面取得了長足的進步。
在本文中,我們將深入研究NuCypher (NU幣)技術並探索各種可用的數據加密協議。此外,我們將討論NuCypher 當前服務中一些最流行的元素,以及開發人員如何利用這些元素。
此外,我們將研究 NuCypher 代幣 (NU)、NuCypher 抵押設施和 NuCypher 去中心化自治組織 (DAO) 的角色和職責。
❽ 請大神解答一下什麼是同態加密,百度的都看不懂。
同態加密是一種特殊的加密方法,將明文加密之後通過特殊的運算處理得出的結果與把明文經過特殊處理再進行加密的結果是一樣的。這項技術可以在加密的數據中進行諸如檢索、比較等操作而無需對數據先進行解密,從根本上解決將數據委託給第三方時的保密問題。這種專業術語在網路上都是解釋地比較深奧的,沒有基礎很難看懂,推薦你們去看煊凌科技的官網,上面的區塊鏈專業術語都是解釋得比較通俗。如果看不懂的話還可以在網站聯系客服,請他們解答。
❾ 零知識證明
https://arxiv.org/abs/1906.07221
零知識簡潔的非交互知識論證(zk SNARK)是一種真正巧妙的方法,可以在不透露任何其他信息的情況下證明某件事是真的,然而,為什麼它首先是有用的呢?
零知識證明在無數應用中是有利的,包括:
關於私人數據的證明聲明:
匿名授權:
匿名付款:
外包計算:
盡管表面上聽起來很棒,但底層方法是數學和密碼學的「奇跡」,自 1985 年在主要著作「互動式證明系統的知識復雜性中引入以來,已經進行了第四個十年的研究 隨後引入了非互動式證明,這在區塊鏈的背景下尤為重要。
在任何零知識證明系統中,都有一個驗證人想要說服驗證人某些陳述是真實的,而不披露任何其他信息,例如,驗證人了解到驗證人的銀行賬戶中有X多個,但沒有其他信息(即,未披露實際金額)。協議應滿足三個屬性:
讓我們從簡單開始,並嘗試證明某些東西,而不必擔心零知識,非交互性,其形式和適用性。
想像一下,我們有一個長度為 10 數組,我們想向驗證者(例如程序)證明所有這些位都設置為 1,即我們知道一個數組,使得每個元素都等於 1。
驗證者一次只能檢查 (即讀取) 一個元素。為了驗證語句,可以通過以某種任意順序讀取元素,並檢查它是否真正等於1,如果是,則在第一次檢查後該語句的置信度為10%,或者如果該位不等於1,則語句完全無效。驗證者必須進入下一輪,直到他獲得足夠的信心。在一些情況下,可以信任證明者並且只需要50% 置信度,在需要95% 置信度的其他情況下,必須檢查所有單元。很明顯,這種證明協議的缺點是,必須進行與元素數量成比例的檢查數量,如果我們考慮數百萬個元素的數組,這是不切實際的。
讓我們考慮多項式,有一個曲線對應於多項式: 。多項式有一個有利的性質,即如果我們有兩個不相等的次數最多為 d 的多項式,它們相交的點不超過 d。 例如,讓我們稍微修改原始多項式 。如果我們想找到兩個多項式的交點,我們需要將它們等同起來。例如,要找到多項式與x軸相交的位置 (即 ),我們將 等同,並且此類方程的解將是那些共享點: , 和 。
同樣,我們可以將多項式的原始版本和修改版本等同起來,以找到它們的交點。所得的多項式為1,且有明顯的解 。因此只有一個交點。
對於任意次數為 d 的多項式,任何此類方程的結果始終是另一個次數最多為 d 的多項式,因為沒有乘法可以產生更高的次數。 示例: ,簡化為 。代數基本定理告訴我們,d 次多項式最多可以有 d 個解。因此,我們可以得出結論,任意點處的任何多項式的求值類似於其唯一身份的表示。讓我們在x = 10處評估我們的示例多項式。
事實上,在所有要計算的x選項中,最多隻有3個選項在這些多項式中具有相同的計算,而所有其他選項都會不同。這就是為什麼如果證明者聲稱知道一些多項式 (無論其次數有多大),他們可以遵循一個簡單的協議來驗證語句:
例如,如果我們考慮 x 從 1 到 的整數范圍,則評估不同的點數為 。 此後,x 意外「擊中」任何 個共享點的概率等於 ,這被認為可以忽略不計。
注意:與無效位檢查協議相比,新協議只需要一輪,並且在聲明中給出了壓倒性的信心(假設 d 充分小於范圍的上限,幾乎 100%)。
這就是為什麼多項式是zk-SNARK的核心,盡管也可能存在其他證明介質。
我們從證明多項式知識的問題開始,然後採用通用方法。 在此過程中,我們將發現多項式的許多其他性質。 到目前為止的討論集中,關注一個弱的證明概念上,即各方必須相互信任,因為還沒有措施來執行協議的規則。 例如,證明者不需要知道多項式,他可以使用任何其他可用的方法來得出正確的結果。 此外,如果驗證者的多項式評估的幅度不大,比如說 10,驗證者可以猜測一個數字,並且它被接受的概率是不可忽略的。 我們必須解決協議的這種弱點,但首先知道多項式意味著什麼? 多項式可以表示為以下形式(其中 n 是多項式的次數):
如果有人說他知道一個 1 次多項式(即 ),那意味著他真正知道的是系數 。 此外,系數可以有任何值,包括 0。讓我們說,證明者聲稱知道3次多項式,使得x = 1和x = 2是所有可能解中的兩個。這樣的有效多項式之一是 。
代數的基本定理指出,只要多項式是可解的,任何多項式都可以分解為線性多項式 (即代表直線的1次多項式)。因此,我們可以將任何有效多項式表示為其因子的乘積:
同樣,如果這些因子中的任何一個為零,則整個方程為零,因此,所有 都是唯一的解。我們的示例可以分解為以下多項式:
x的值是:0,1,2,你可以很容易地在多項式的任一形式上檢查這一點。
回到證明者聲稱他知道根為 1 和 2 的 3 次多項式,這意味著他的多項式具有以下形式:
換句話說,(x − 1) 和 (x − 2) 是所討論的多項式的余因子。因此,如果證明者想要證明他的多項式確實具有這些根而不公開多項式本身,則他需要證明他的多項式p(x) 是那些協因子 的乘法,稱為目標多項式,和一些任意多項式h(x) ,即:
換句話說,p(x) 具有t(x) 的所有根。找到h(x) 的自然方法是通過除法 。如果證明者找不到這樣的h(x),這意味著p(x) 沒有必要的協因子t(x),在這種情況下,多項式除法將具有餘數。在我們的示例中,如果我們將 除以 。我們得到了無余數的結果 。
使用我們的多項式身份檢查協議,我們可以比較多項式 和 :
為了將其付諸實踐,讓我們在示例中執行此協議:
相反,如果證明者使用不同的 ,它沒有正確的輔因子,例如 ,那麼:
我們將得到 ,余數為 ,即: 。這意味著證明者必須將余數除以 才能評估 。因此,由於驗證者對x的隨機選擇,因此對於余數 被t(x) 整除的概率很低,因此,如果驗證者將檢查p和h補是整數,這樣的證明將被拒絕。但是,該檢查要求多項式系數也必須是整數。
現在,我們可以在不學習多項式本身的情況下檢查多項式的特定屬性,因此這已經為我們提供了某種形式的零知識和簡潔。盡管如此,此構造仍存在多個問題:
我們將在以下部分解決所有問題。
在上文中,如果將 和 不是明文給出,而是作為黑匣子給出,那將是理想的選擇,因此人們無法篡改協議,但仍然能夠計算對這些模糊值。類似於哈希函數,因此在計算時很難返回到原始輸入。
這正是同態加密的目的。也就是說,它允許對一個值進行加密,並能夠對這種加密應用算術運算。有多種方法可以實現加密的同態特性,我們將簡要介紹一種簡單的方法。
一般的想法是,我們選擇一個基數的自然數g(比如5),然後對一個值進行加密,我們將g乘以該值的冪。例如,如果我們想要加密數字3:
其中125是3的加密。如果要將這個加密的數字乘以2,則將其提高為2的指數:
我們能夠將未知值乘以2,並對其進行加密。我們還可以通過乘法添加兩個加密值,例如3+2:
同樣,我們可以通過除法減去加密的數字,例如5 − 3:
但是,由於基數5是公共的,因此很容易回到秘密數字,將加密的數字除以5,直到結果為1。除法的次數即為明文。
這就是模演算法發揮作用的地方。模運算的思想如下:我們聲明只選擇前n個自然數,即0,1,…,n-1而不是擁有一個無限的數字集。如果任何給定的整數不在這個范圍內,我們將其「環繞」。例如,讓我們先選擇六個數字。為了說明這一點,請考慮一個具有六個相等單位刻度的圓;這是我們的射程。
現在讓我們看看數字8將落在哪裡。 打個比方,我們可以把它想像成一根繩子,它的長度是八個單位。如果我們把繩子連接到圓圈的開頭並開始將繩子纏繞在它周圍,旋轉一圈後,我們還剩下一部分繩子.因此,如果我們繼續這個過程,繩子將在2處結束。
它是模運算的結果。 不管繩子有多長,它總是會停在圓圈的刻度之一處。 因此,模運算將使其保持在一定范圍內。 15 個單位的繩索將在 3 處停止,即 6 + 6 + 3(兩個完整的圓圈,剩餘 3 個單位)。 負數的工作方式相同,唯一的區別是我們將其包裝在相反的方向,對於 -8,結果將是 4。
而且,我們可以進行算術運算,結果總是在n個數的范圍內。 我們現在將使用符號「mod 」來表示數字的范圍。 例如:3 × 5 = 3 (mod 6); 5 + 2 = 1 (mod 6).
此外,最重要的特性是運算順序無關緊要,例如,我們可以先執行所有運算,然後在每次運算後應用模或應用模。例如: 相當於:2 × 4 = 2 (mod 6); 2 − 1 = 1 (mod 6); 1 × 3 = 3 (mod 6).
那到底為什麼有幫助呢?事實證明,如果我們使用模算術,則具有運算結果,回到原始數字是不平凡的,因為許多不同的組合將具有相同的結果: 5 × 4 = 2 (mod 6); 4 × 2 = 2 (mod 6); 2 × 1 = 2 (mod 6).
如果沒有模算術,結果的大小為它的解決方案提供了線索。 否則,這條信息會被隱藏,而常見的算術屬性會被保留。
如果我們回到同態加密並使用模運算,例如模 7,我們將得到:
和不同的指數會有相同的結果:
這是很難找到指數的地方。 事實上,如果模數足夠大,這樣做就變得不可行,而現代密碼學的很大一部分是基於這個問題的「難度」。該方案的所有同態屬性都保留在模領域中:
encryption:
multiplication:
addition:
讓我們明確說明加密函數: ,其中 v 是我們要加密的值。
這種同態加密方案存在局限性,盡管我們可以將加密值乘以未加密值,但我們不能將兩個加密值乘以 (和除以),也不能對加密值求冪。雖然從第一印象來看是不幸的,但這些屬性將成為zk-SNARK的基石。
有了這樣的工具,我們現在可以評估一個加密隨機值為x的多項式,並相應地修改零知識協議。
讓我們看看如何評估多項式 。正如我們以前建立的那樣,多項式就是知道它的系數,在這種情況下,它們是: 1,-3,2。因為同態加密不允許對加密值求冪,所以我們必須得到從1到3的x冪的加密值: , , ,這樣我們可以對加密多項式求值如下:
作為這些操作的結果,我們在我們未知的某個 x 處對我們的多項式進行了加密。 這是一個非常強大的機制,並且由於同態特性,相同多項式的加密計算在加密空間中總是相同的。我們現在可以更新協議的先前版本,對於d次多項式:
Verifier:
Prover:
Verifier:
由於證明者對s一無所知,因此很難提出不合法但仍匹配的評估。
雖然在這樣的協議中,證明者的敏捷性是有限的,但他仍然可以使用任何其他方法來偽造證明,而無需實際使用所提供的 s 冪的加密,例如,如果證明者聲稱僅使用 2 次冪 和 有一個令人滿意的多項式 ,這在當前協議中無法驗證。
多項式的知識是其系數 。 我們在協議中「分配」這些系數的方式是通過對秘密值 s 的相應加密冪求冪(即 )。 我們已經在選擇 s 的加密冪時限制了證明者,但這種限制並未強制執行,例如,可以使用任何可能的方法來找到滿足方程 的任意值 和 並將它們提供給驗證者而不是 和 。 例如,對於一些隨機 , 和 ,其中 可以從提供的 s 的加密冪計算。 這就是為什麼驗證者需要證明僅使用 s 的冪的加密來計算 和 而沒有別的。
讓我們考慮一個1次多項式的基本例子,該多項式具有一個變數和一個系數 ,相應地,s的加密 。我們正在尋找的是確保只有s的加密,即 ,被一些任意系數c同態「乘以」,而不是其他任何東西。所以對於任意的c,結果必須是 形式。
一種方法是要求對另一個移位的加密值與原始值一起執行相同的操作,充當「校驗和」的算術模擬,確保結果是原始值的取冪。這是通過引入的指數知識假設Knowledge-of-Exponent Assumption (或KEA) 來實現的,更確切地說:
Alice有一個值a,她希望Bob指數到任何冪,唯一的要求是只有這個a可以指數,沒有別的,以確保她:
因為 Bob 無法從元組 中提取 ,因此推測 Bob 可以產生有效響應的唯一方法是通過以下過程:
最終,這樣的協議向Alice提供了一個證據,證明Bob確實將a乘以他已知的某個值,並且他不能進行任何其他操作,例如乘法、加法,因為這將消除 移位關系。
在同態加密上下文中,冪運算是加密值的乘法。我們可以在簡單的單系數多項式 的情況下應用相同的構造:
這種結構限制證明者僅使用提供的加密 s,因此證明者可以僅將系數 c 分配給驗證者提供的多項式。 我們現在可以將這種單項多項式方法縮放為多項多項式,因為每個項的系數分配是單獨計算的,然後同態地「相加」在一起。 因此,如果向證明者提供 s 的加密冪以及它們的移位值,他可以評估原始多項式和移位多項式,其中必須進行相同的檢查。 特別是對於 d 次多項式:
對於我們之前的示例多項式 ,這將是:
現在我們可以確定,驗證程序除了使用驗證程序提供的多項式外,沒有使用任何其他方法,因為沒有其他方法來保持 移位。此外,如果驗證者希望確保在驗證者的多項式中排除一些s的冪,例如j,他將不提供加密 及其移位 。
與我們一開始的相比,我們現在有了一個健壯的協議。 然而,無論加密如何,零知識屬性仍然存在一個明顯的缺點:雖然理論上多項式系數 可以有很大范圍的值,但實際上它可能非常有限(上例中為 6),這意味著 驗證者可以暴力破解有限范圍的系數組合,直到結果等於證明者的答案。 例如,如果我們考慮每個系數的 100 個值的范圍,則 2 次多項式將總共有 100 萬個不同的組合,考慮到蠻力將需要不到 100 萬次迭代。 此外,即使在只有一個系數且其值為 1 的情況下,安全協議也應該是安全的。
因為驗證器只能從驗證器發送的數據中提取關於未知多項式p(x)的知識,所以讓我們考慮那些提供的值(證明): 。他們參與以下檢查:
gp=gh(多項式p(x)有t(x)的根)
(gp)α=gp′t(s)(使用正確形式的多項式)
問題是我們如何改變證據,使支票仍然有效,但無法提取任何知識?從上一節可以得出一個答案:我們可以用一些隨機數δ(δ)來「移位」這些值,例如(gp)δ。現在,為了提取知識,首先需要找到被認為不可行的δ。此外,這種隨機化在統計學上與隨機性是無法區分的。
為了保持關系,讓我們檢查驗證者的檢查。證明者的值之一位於方程式的每一側。因此,如果我們用相同的 δ 「移動」 它們中的每一個,方程必須保持平衡。
具體地,證明者對隨機 δ 進行采樣,並用g α p(s) δ gh(s) δ 對其證明值求冪,並提供給驗證者進行驗證:
(gp)δ = gh δ t(s) (gp)δ α = gp′ δ
合並後,我們可以觀察到支票仍然有效:
注意: 零知識是多麼容易被編織到建築中,這通常被稱為 「免費」 零知識。
到目前為止,我們有一個互動式零知識方案。為什麼會這樣?由於該證明僅對原始驗證者有效,其他任何人(其他驗證者)都不能信任同一證明,因為:
因此,為了證明語句(在這種情況下是多項式的知識),需要與每個驗證者進行單獨的交互。
雖然互動式證明系統有其使用案例,例如,當證明人只想說服一個專用的驗證人(稱為指定驗證人),這樣證明就不能再用於向其他人證明同一陳述時,當一個人需要同時(例如,在區塊鏈等分布式系統中)或永久地說服多方時,這是非常有效的。驗證方需要始終保持在線,並對每個驗證方執行相同的計算。
因此,我們需要的秘密參數是可重用的,公開的,可信的和不可濫用的。
讓我們首先考慮在秘密 (t(s),α) 產生後如何保護它們。我們可以像驗證者在發送給證明者之前對s的指數進行加密一樣對它們進行加密。然而,我們使用的同態加密不支持兩個加密值的乘法,這對於驗證檢查以使t(s) 和h以及p和 α 的加密相乘都是必需的。這就是密碼配對的地方。
密碼配對(雙線性映射)是一種數學構造,用函數 , 給定來自一組數字的兩個加密輸入(例如, ,允許將它們確定地映射到不同數字輸出集中的乘法表示,即, 。
由於源和輸出編號集合不同,因此配對的結果不能用作另一個配對操作的輸入。我們可以將輸出集 (也稱為 「目標集」) 視為來自 「不同的宇宙」。因此,我們不能將結果乘以另一個加密值,並通過名稱本身建議我們一次只能乘以兩個加密值。在某種意義上,它類似於一個散列函數,它將所有可能的輸入值映射到一組可能的輸出值中的一個元素,並且它不是平凡可逆的。
注意: 乍一看,這種限制只能阻礙依賴的功能,具有諷刺意味的是,在zk-SNARK情況下,它是該方案的安全性所擁有的最重要的屬性。
配對函數 的一個基本(技術上不正確)的數學類比是說明有一種方法可以「交換」每個輸入的基數和指數,這樣基數 在轉換過程中會被修改成指數,例如 。 然後將兩個「交換的」輸入相乘,使得原始 a 和 b 值在相同的指數下相乘,例如:
因此,由於在「交換」期間使用結果 在另一個配對(例如, )中改變了鹼基,因此不會產生所需的加密乘法 。配對的核心屬性可以用等式表示:
e(ga, gb) = e(gb, ga) = e(gab, g1) = e(g1, gab) = e(g1, ga)b= e(g1, g1) ab= . . .
從技術上講,配對的結果是目標集不同生成器g下原始值的加密產物,即 。因此,它具有同態加密的特性,例如,我們可以將多對的加密產物添加到一起:
注意:加密配對利用橢圓曲線來實現這些屬性,因此從現在起,符號 將表示曲線上的生成器點,該點將被添加到自身 次,而不是我們在前面部分中使用的乘法群生成器。
有了加密配對,我們現在可以設置安全的公共和可重用參數。讓我們假設我們信任一個誠實的一方來生成秘密 s 和 α。一旦 α 和具有相應 α 位移的 s 的所有必要冪被加密(gα, gsi , gαsi for i in 0, 1, ..., d),必須刪除原始值。
這些參數通常被稱為公共參考字元串common reference string或CRS。CRS生成後,任何prover和verifier都可以使用它來執行非互動式零知識證明協議。雖然不重要,但CRS的優化版本將包括對目標多項式target polynomial 的加密評估。
此外,CRS分為兩組(對於 中的 ):
由於能夠乘以加密值,verifier可以在協議的最後一步檢查多項式,讓verification key verifier進程從證明者那裡接收到加密多項式評估 gp、gh、gp':
雖然可信設置是有效的,但它並不有效,因為 CRS 的多個用戶將不得不相信一個刪除的 和 ,因為目前沒有辦法證明這一點。 因此,有必要最小化或消除這種信任。 否則,不誠實的一方將能夠在不被發現的情況下製作假證據。
實現這一點的一種方法是由多方使用前面部分中介紹的數學工具生成復合 CRS,這樣這些方都不知道秘密。這是一種方法,讓我們考慮三個參與者 Alice、Bob 和 Carol,對應的索引為 A、B 和 C,對於 i 在 1、2、...中。 . . , d:
作為這種協議的結果,我們有復合 和 並且沒有參與者知道其他參與者的秘密參數,除非他們串通。事實上,為了學習 和 ,必須與其他所有參與者串通一氣。因此,即使一個人是誠實的,也無法提供假證明。
注意:此過程可以根據需要對盡可能多的參與者重復。
可能存在的問題是如何驗證參與者是否與 CRS 的每個值一致,因為對手可以采樣多個不同的 s1、s2、...。 . . 和α1, α2, . . .,並將它們隨機用於 s 的不同冪(或提供隨機數作為增強的公共參考字元串),從而使 CRS 無效且不可用。
幸運的是,因為我們可以使用配對來乘以加密值,所以我們能夠執行一致性檢查,從第一個參數開始,並確保每個下一個參數都是從它派生的。參與者發布的每個 CRS 都可以檢查如下:
請注意,雖然我們驗證每個參與者都與他們的秘密參數一致,但使用先前發布的 CRS 的要求並未對每個下一個參與者強制執行(在我們的示例中為 Bob 和 Carol)。因此,如果對手是鏈中的最後一個,他可以忽略先前的 CRS 並從頭開始構造有效參數,就好像他是鏈中的第一個,因此是唯一知道秘密 s 和 α 的人。
我們可以通過額外要求除第一個參與者之外的每個參與者加密和發布他的秘密參數來解決這個問題,例如,Bob 還發布:
這允許驗證 Bob 的 CRS 是 Alice 參數的適當倍數,因為 i in 1, 2, . . . , d:
同樣,Carol必須證明她的CRS是Alice-Bob的CRS的適當倍數。
這是一個強大的CRS設置方案,不完全依賴任何一方。實際上,即使只有一方是誠實的,並且刪除並且從不共享其秘密參數,即使所有其他各方都合謀,它也是非常明智的。因此,CRS 設置中不相關的參與者越多,偽造證據的可能性就越小,如果競爭方參與,其可能性就可以忽略不計。該方案允許涉及對設置的易讀性有疑問的其他不受信任的各方,因為驗證步驟確保他們不會破壞最終的公共參考字元串 (也包括使用弱 α 和s)。
我們現在准備鞏固進化的zk-SNARKOP協議。形式上,為簡潔起見,我們將使用大括弧來表示由其旁邊的下標填充的一組元素,例如si i ∈[d] 表示集合s1,s2,...,sd。
已商定目標多項式t(x)和校準儀多項式的d次:
Setup:
❿ 區塊鏈與隱私計算的結合是必然趨勢嗎
區塊鏈與隱私計算的結合是必然趨勢嗎?
我們目前對這個問題的思考框架是:如果不與隱私計算技術結合,區塊鏈技術的應用是 否受到限制、無法向前發展;如果不與區塊鏈技術結合,隱私計算技術是否受到限制、無法 向前發展。如果二者對彼此都是剛需,那麼它們相結合的趨勢就是必然。
以下為我們對這個問題的思考:
1、隱私計算技術的應用是否區塊鏈技術的剛需
區塊鏈技術有巨大的優勢,但是如果沒有隱私計算技術,區塊鏈技術的應用會大大受到 限制,因為無法解決鏈上數據的隱私保護問題,這使得大量涉及敏感數據的場景不願應用區 塊鏈技術,比如金融和醫療領域。
(1)區塊鏈技術的局限性
第一,鏈上數據公開透明,數據的合規處理和隱私保護能力不足 區塊鏈作為分布式賬本系統,數據的公開透明盡管有利於存證、防篡改,但也存在數據 可輕易被復制、泄漏個人隱私的風險。區塊鏈在公有鏈上要求不同節點對交易和交易狀態進 行驗證、維護,形成共識,因此每個參與者都能擁有完整的數據備份,所有的交易數據公開 透明。如果知道某個參與者的賬戶,就很容易獲取其每一筆交易記錄,從而據此推斷其 社會 身份、財產狀況等。以消費場景為例,平台之間存在競爭壁壘,用戶也希望保留消費隱私, 因此區塊鏈缺乏對用戶流水、物流信息、營銷情況等與企業、個人隱私相關的數據缺乏保護 能力,往往導致數據擁有方不願意讓數據進入流通環節。在鏈上系統的交易不再受中心賬本的控制,用戶通過使用唯一的私鑰進行交易,交易過 程被加密且加密前數據很難還原,僅以私鑰作為交易憑證使得區塊鏈內的交易變得更加匿名 和不可控。在分布式賬本系統上,所有的轉賬以地址形式進行,一但發生了詐騙或者洗錢等 金融犯罪,即便可以公開查詢地址,但對資金追蹤的難度極大,且私鑰作為交易憑證很難證 明使用者的身份,因此許多企業、個人通過區塊鏈進行洗錢等違法交易,不利於數據的合規 處理和合法共享。
第二,數據處理能力不足,制約技術的進一步落地和商業化拓展 鏈上計算受限於網路共識的性能,使得鏈上交易難以具備實時性和高效率,區塊鏈智能 合約的計算能力需要擴展。以最大的加密支付系統比特幣為例,每秒鍾只能夠處理大約 3 到 7 筆交易5 ,且當前產生的交易的有效性受網路傳輸影響,往往需要等待 10 分鍾左右的記賬周 期才能讓網路上的節點共同知道交易內容。此外,如果鏈上有兩個及以上節點同時競爭到記賬權力,則還需要等待下一個記賬周期才能確認交易的准確性,最終由區塊最長、記賬內容 最多的鏈來完成確認。
完全去中心化的系統與現實中大部分現有體系的兼容性不足,缺乏鏈上鏈下協同、多業 務發展的系統和功能,制約區塊鏈技術的進一步落地。在區塊鏈的技術落地過程中,首先, 各行業本身具有成熟的體系,區塊鏈完全去中心化的形式不一定適合所有的領域和行業;其 次,區塊鏈的平台設計和實際運行成本巨大,其所具備的低效率和延遲性的交易缺陷非常明 顯,是否能夠彌補原系統更換的損失需要經過一定的精算和比較;此外,使用區塊鏈存儲數 據需要對原有數據格式進行整理,涉及到政務、司法領域的敏感數據,更需要建立鏈接線上 和線下數據的可信通道防止數據錄入有誤,這帶來了較高的人力、物力成本。
(2)隱私計算技術對區塊鏈技術的幫助
隱私計算技術保障數據從產生、感知、發布、傳播到存儲、處理、使用、銷毀等全生命 周期過程中的隱私性,彌補區塊鏈技術的隱私保護能力,實現數據的「可用不可見」。通過 引入隱私計算技術,用戶的收支信息、住址信息等個人數均以密文的形式呈現,在平台進行 數據共享的過程中,既能防止數據泄露,又能夠保障用戶個人隱私的安全,有利於進一步打 破數據孤島效應,推動更大范圍內的多方數據協作。隱私計算技術可與區塊鏈技術形成技術組合,提升數據處理能力、擴大可應用范圍。隱 私計算技術通過對數據進行規范化處理,能夠提升數據處理、數據共享的效率,提升區塊鏈 的數據處理能力。此外,隱私計算技術+區塊鏈技術的技術組合能夠應用於缺乏中心化系統、 但又對敏感數據分享有強烈需求的合作領域,擴展區塊鏈技術的應用場景。
區塊鏈技術的應用是否隱私計算技術的剛需
(1)隱私計算技術的局限性
第一,數據共享缺乏安全檢驗,制約數據流通的可信性
數據共享的整個流程涉及到採集、傳輸、存儲、分析、發布、分賬等多個流程,隱私計 算主要是解決全流程的數據「可用不可見」的問題,但是難以保證數據來源可信和計算過程 可信。
從數據來源可信的角度來說,在數據採集的環節,數據內容本身可能不完整,數據的錄 入可能會存在失誤;在數據傳輸的環節,數據的傳輸可能會被其他的客戶端攻擊,導致數據 在傳輸的過程中泄漏;在數據的儲存環節,儲存數據的角色方有可能會篡改數據或者將數據 復制轉賣到黑市,這些都不會被隱私計算技術記錄。如果無法保證數據共享各方的身份得到 「可信驗證」,就有可能導致數據的隱私「名不副實」。從計算過程可信的角度來說,在數 據分析和發布的環節,數據的共享方有可能私自篡改數據的運行結果和發布內容,對最終數 據處理的結果進行造假。因此,一旦信息經過驗證並添加到隱私計算的環境中,很難發現數 據是否被篡改、被泄漏,很難防止不同時間點不同節點的數據造假的情況,在涉及到金融、政務、醫療、慈善等關鍵領域里,如果數據有誤則產生的一系列法律問題則難以追究。
第二,業務水平整體層次不齊,制約技術平台的擴展
當前,隱私計算的技術實現路徑主要分為三種:多方安全計算、聯邦學習、TEE 可信執行 環境。三種技術路徑存在各自的應用缺陷和問題,由於行業內不同公司對於技術的掌握能力 和研發能力有限,導致技術平台的實際應用范圍有限,可擴展能力不足。
多方安全計算盡管具有復雜高標準的密碼學知識,但其計算性能在實際應用的過程中存 在效率低的缺陷。隨著應用規模的擴大,採用合適的計算方案保證運算時延與參與方數量呈 現線性變化是目前各技術廠商面臨的一大挑戰。多方安全計算雖然能保證多方在數據融合計 算時候的隱私安全,但是在數據的訪問、控制、傳輸等環節,仍然需要匹配其他的技術手段 防止數據泄露、篡改。
聯邦學習技術目前在業內的應用通常以第三方平台為基礎模型,在基礎模型之上進行隱 私計算,這樣的基礎模型本身存在被開發者植入病毒的隱患。此外,聯邦學習的機制默認所 有的參與方都是可信方,無法規避某個參與方惡意提供虛假數據甚至病害數據,從而對最終 的訓練模型造成不可逆轉的危害。由於聯邦學習需要各個參與式節點進行計算,因此節點的 計算能力、網路連接狀態都將限制聯邦學習的通信效率。
TEE 可信執行環境在國內目前核心硬體技術掌握在英特爾、高通、ARM 等少數外國核心供 應商中,如果在關鍵領域從國外購買,則存在非常高的安全風險和應用風險。第三,數據共享缺乏確權機制,制約數據流通的應用性 隱私計算通過使用多方數據共同計算、產生成果,然而在實際合作的過程中,由於各個 數據共享方業務水平不同、數據質量不一導致在數據處理的每一個環節難以實現合理的確權。
按照常規的利益分配機制,擁有高質量數據、高成果貢獻率的數據擁有方理應從中獲取更多 的利潤,但是隱私計算僅考慮到數據的「可用不可見」,數據共享方難以從最終結果來判斷 誰的數據對於成果的貢獻最大,造成利益分配的不公平。如果缺乏合理的成果貢獻評估機制和利益分配機制,就會難以激勵數據所有者和其他數 據持有者進行合作。尤其是在不信任的多方合作的場景下,會更加增加合作的信任成本,使 得多方協作難以達成,制約數據流通的實際應用性。
(2)區塊鏈技術對隱私計算技術的幫助
區塊鏈技術通過數據流通的所有環節、所有參與者進行記錄,實現數據共享流程中的權 責分明,提升了數據流通的可信性。在數據傳輸的環節,區塊鏈記錄數據的提供者,確認數 據提供方身份的真實性和有效性,有利於數據確權,為公平可行的利益分配機制提供參考;在數據儲存的環節,區塊鏈保證數據的每一次修改都有跡可循,防止數據的惡意篡改。區塊 鏈技術可作為隱私計算技術的底層平台,保證了加密數據本身的真實有效性,提升了隱私計 算平台里數據流通的可信性,拓展隱私計算技術的應用范圍。
3. 結論
隱私計算技術和區塊鏈技術的融合是必然的趨勢。對於數據資產的流轉來講,沒有隱私 計算,不能解決數據本身的安全和隱私保護問題;沒有區塊鏈,不能解決數據的確權問題以 及在更大范圍內的數據網路協作問題。將區塊鏈和隱私計算二者結合起來,建設大規模數據 流通網路,在目前的實踐中成為有所共識的 探索 方向。
區塊鏈與隱私計算的結合會改變什麼?
1、形成大規模數據流通網路和數據要素市場
當前,數據流通存在三方面問題:數據擁有方的數據保護和數據確權難以實現;不同來 源數據的整合處理成本過高、缺乏統一標准;數據利益的分配機制不完善。
如前文所述,區塊鏈和隱私計算技術相結合,可以一方面解決隱私保護問題,一方面解 決數據確權和多方協作問題,從而建立大規模的數據流通網路。
在大規模數據流通網路建立的基礎上,真正意義上的數據要素市場才能夠形成,數據作 為生產要素的價值才能夠被充分發掘出來。
2、推動數據資產化的發展
所謂資產,是指由企業過去的交易或事項形成的,由企業擁有或者控制的,預期會給企 業帶來經濟利益的資源。
數據的資產化就是讓數據在市場上發現價值,能夠為企業創造新的經濟益。
大規模數據流通網路和數據要素市場的形成,將大大推動數據價值的發現、數據資產化 的發展。
從企業一側來看,企業的生產經營活動當中沉澱下來的數據會成為寶貴的資產。一方面, 對這些數據的分析和運用,將推動企業改善自身的業務;另一方面,與外部機構進行數據的 共享,能夠推動數據發揮出更大的價值,企業自身也將從中獲取更多收益。這會反過來進一 步推動企業的數字化轉型和對數據資產的管理。未來,對數據資產的盤點可能成為企業在資 產負債表、現金流量表、利潤表之外的「第四張表」。
數據資產化的發展,也會推動圍繞數據價值挖掘形成全新的服務體系。其中包括數據確 權、定價、交易等各個環節。上海 社會 科學院信息研究所副所長丁波濤將未來數據資產服務體系中的機構分成四類:
第一類提供中介服務,包括數據經紀人,還有數據代理。
第二類提供數據評估,由於數據市場信息不對稱或信息混亂,需要提供合規評估、數據 質量和數據價格的評估。
第三類提供價格咨詢,如提供法律、經濟咨詢或者是上市輔導等的咨詢服務企業。
第四類提供專業技術服務,包括數據開發、數據處理服務、數據交付服等。數據資產化的發展,帶來的將是人們認知的提升、生產效率的提高、生產要素的重組、 創新的產生、經濟的發展以及全 社會 整體福利的提升。
3、對現有業態的改變
區塊鏈與隱私計算的結合,將提升企業和個人分享數據、利用數據的積極性,進一步推 動打破「數據孤島」。其對現有業態的改變主要體現在以下幾個層面:
第一,這將帶來新的數據和 科技 變革。
首先,這將推動數據密態時代的到來。數據密態時代的核心,是數據流通使用方式的巨 大改變,數據將以密態形式在主體間流動和計算,顯著降低數據泄露的風險,並在合規前提 下支撐各種形態業務的發展。此前,數據被加密之後只能用來傳輸或者存儲,但是未來數據 在加密狀態下可以被計算。這將帶來一系列新的問題和挑戰,引發許多相關技術領域的連鎖 反應。
其二,這將重塑大數據產業。隨著數據流通的安全化,以往較為敏感的數據領域逐漸開 放。以政務數據為例,隱私計算使聯合政務、企業、銀行等多方數據建模和分析成為可能, 進一步釋放數據應用價值,創造了多樣化的應用機遇。
其三,人工智慧產業將獲得新一輪的發展。數據、演算法和算力是人工智慧發展的三要素。近幾年來,由於缺乏可用的數據,人工智慧的發展遭遇瓶頸。未來,5G 和物聯網的發展將使 得萬物互聯,數據量大幅增長。區塊鏈+隱私計算技術的應用,可以使得人工智慧利用海量數 據優化模型,真正邁向「智能化」。其四,這將為區塊鏈產業的發展帶來新的機遇。區塊鏈與隱私計算相結合,將拓展聯盟 鏈的節點數量,從而進一步擴大可協同利用的數據資源的范圍。
第二,在 科技 變革的基礎之上,區塊鏈與隱私計算相結合,將給許多傳統產業帶來變革。
在政務領域,一方面,可以實現政府不同部門之間的互聯互通及數據共享,從而促進政 府不同部門的協同,提高政府的效率以及決策質量,推動智慧城市的建設;另一方面,可以 促進政務數據與民間數據的雙向開放。政務數據向 社會 開放,可以為企業或學界所用,釋放 更多價值。民間的數據源向政府開放,可以提高政府在決策以及政務流程等方面的效率。
在金融領域,支付、徵信、信貸、證券資管等各個領域都會因之發生變化。總體來看, 主要是影響到金融的風控和營銷兩個方面。區塊鏈與隱私計算技術的結合,可以在符合法律 規定、不泄露各方原始數據的前提下,擴大數據來源,包括利用金融體系外部的互聯網數據, 實現多方數據共享,聯合建模,從而有效識別信用等級、降低多頭信貸、欺詐等風險,也有 助於信貸及保險等金融產品的精準定價;同樣,內外部多方數據的共享融合也有助於提高金融機構的反洗錢甄別能力。
在醫療領域,未來在疾病治療、葯物研究、醫療保險等多個領域,區塊鏈與隱私計算都 能助推醫療信息化建設,帶來巨大變革。在疾病治療和葯物研究方面,區塊鏈與隱私計算結 合,能夠促進更多的醫療數據被聯合起來進行分析和研究,從而為許多疾病的治療帶來新的 突破。在醫療保險方面,區塊鏈與隱私計算技術結合,主要是可以使得保險公司可以應用到 更多的數據,改善保險產品的設計、定價、營銷,甚至可以促進保險公司對客戶的 健康 管理 等。
區塊鏈與隱私計算技術相結合,目前應用的重點領域是政務、金融、醫療領域,但是未來其應用將不僅僅局限於這三個領域,還將在更多領域發揮作用。
第三,數據權利、利益將重新分配。
這可能是區塊鏈與隱私計算技術相結合所帶來的最為核心,也是最為深刻的,與每一個人 的切身利益都息息相關的變革。
首先,這涉及到每個產業鏈不同環節利益的重新分配。
前述在廣告營銷領域的應用落地為例,此前廣告營銷的利益分配主要是在廣告主與渠 道商之間。但是,未來應用區塊鏈和隱私計算技術,可以在更大范圍內進行數據協作,則要 解決廣告主、多個渠道方、消費者之間多方數據協作的問題,這其中就涉及到多方之間權責 的劃分、利益的重新分配。
其次,這還涉及到企業與個人之間利益的重新分配。
歐盟的 GDPR,美國的 CCPA 等法案中涉及用戶的一項重要權益即「portability,(可攜 帶權)」。即第三方應用不能封鎖個人數據,一旦個人有下載的訴求,APP 需要提供便利的 API 利於個人拷貝數據。美國公司已陸續為用戶提供 API,如果在這方面功能缺失,個人客戶 可以提出訴訟,而公司也將面臨巨額的罰款。在中國的《個人信息保護法》當中,也有相關的條款。《個人信息保護法》第四十五條規 定,「個人有權向個人信息處理者查閱、復制其個人信息」、「個人請求查閱、復制其個人信息 的,個人信息處理者應當及時提供。個人請求將個人信息轉移至其指定的個人信息處理者, 符合國家網信部門規定條件的,個人信息處理者應當提供轉移的途徑。」
目前,中國公司的區塊鏈+隱私計算 探索 主要集中在 To B 服務領域,但是區塊鏈是全球 化的商業,如果美國已經出現這樣的模式,中國大概率不會完全不受影響。伴隨著消費級軟硬體技術能力的提升,區塊鏈與隱私計算技術結合,會逐步對個人與機構 之間的數據服務進行變革。對於個人用戶而言,將有機會獲得自身隱私數據的完全掌控權, 並為數據業務過程中所涉及的數據隱私需求獲得更強的技術性保障。目前關於 To C 服務的相關問題,國內業界還在探討當中。
為什麼區塊鏈+隱私計算的應用尚未大規模普及?
第一,區塊鏈+隱私計算的落地應用,主要是在涉及需要多方數據協作的情況,目前實際需求尚未爆發。
從隱私計算技術發展的角度來看,目前隱私計算尚在落地初期,解決的主要是兩方之間 的數據協作問題,涉及到多方的場景還不多,因此很多時候還沒有體會到對區塊鏈+隱私計算 應用的需要。
從區塊鏈技術發展的角度來看,區塊鏈技術在許多領域的應用目前並非剛需。不少問題 可以應用區塊鏈解決,但是不用區塊鏈技術也能解決,而應用區塊鏈技術解決的成本更高。因此,目前區塊鏈項目的建設主要是政務部門和大型企業較為積極,因為政府和大型企業從 長遠發展的角度來考慮,可以做前瞻性的投資建設和技術布局,但是大多數商業機構需要衡 量投入與產出。
區塊鏈技術與隱私計算技術結合,主要是用於處理數據協作問題。從數據治理的角度來 看,目前大多數機構都在處理自身內部的數據治理問題,內部的數據體系梳理好之後,才涉 及到與外部進行數據協作,因此還需要時間。
第二,區塊鏈+隱私計算的落地應用較為復雜,涉及到新商業模式的創造、權責以及利益 的重新分配,因此需要的時間更長。
以在廣告營銷領域的應用落地為例,目前的大多數應用 都只是落地了隱私計算平台,主要涉及兩方數據協作,直接應用隱私計算技術,延續此前商 業應用即可。但是,如果引入區塊鏈技術,則要解決廣告主、渠道方、消費者之間多方數據 協作的問題,這其中可能涉及到多方之間權責的劃分、利益的重新分配,新商業模式的形成 需要時間進行 探索 。
應用的大規模普及,還需要解決哪些問題?
區塊鏈+隱私計算的應用在大規模鋪開之前,還需要具備三方面的條件:
第一,從外部環境來看,需要全 社會 整體的數字化水平的提高。 打個比方,區塊鏈+隱私 計算將來會形成數據流通的高速公路,但是路上要有足夠的車。目前全 社會 的數字化正在快 速推進當中,大多數機構都是正在進行自身內部的數據治理,他們需要先處理好自己的數據, 之後才能產生更多的與外部數據進行協作的需求,這還需要時間。
第二,從技術發展來看,技術成熟尚需投入。 區塊鏈+隱私計算技術的應用,實際上是犧 牲了數據流通的效率、提升了安全性,但是數據流通的效率也非常重要,未來需要在效率和 安全這兩個方面形成一定的平衡,安全要保障,足夠的效率也要滿足,這其中涉及到許多技 術的研發、行業標準的制定,技術產品化的發展和完善、技術成本的進一步降低,還需要時 間。
第三,還需要相關法律法規的完善,以及數據交易商業模式的形成。 不過,這一條件與 前兩個條件相比,其在目前的重要性相對次之。因為隨著需求的爆發、技術的完善,相關的法律法規以及商業模式就會隨之形成,這一條件在現階段並非限制區塊鏈與隱私計算技術落 地應用的最關鍵因素。
區塊鏈+隱私計算的應用中還蘊藏著哪些趨勢?
1、國產化的趨勢
區塊鏈+隱私計算的應用,涉及網路安全、數據安全,未來將成為新基建的重要組成部分。這是關乎網路空間主權、國家安全和未來發展利益的重要方面,因此這個領域的國產化是未來趨勢。
在區塊鏈+隱私計算技術應用的國產化當中,軟體的國產化是相對容易實現的。難點在於 硬體的國產化,其中最難的部分是晶元的國產化。
這一部分的發展,與信創領域的發展相關。信創,即信息技術應用創新產業,其是數據 安全、網路安全的基礎,也是新基建的重要組成部分。信創涉及到的行業包括 IT 基礎設施:CPU 晶元、伺服器、存儲、交換機、路由器、各種雲和相關服務內容;基礎軟體:資料庫、操 作系統、中間件;應用軟體:OA、 ERP、辦公軟體、政務應用、流版簽軟體;信息安全:邊 界安全產品、終端安全產品等。
在區塊鏈+隱私計算領域,目前已經有企業在嘗試產品的國產化。例如,前文提到的,螞 蟻鏈自研了密碼卡、隱私計算硬體以及自研可信上鏈晶元,同時還推出了摩斯隱私計算一體 機。創業公司如星雲 Clustar、融數聯智也在進行相關國產化硬體產品的研發。
2、軟硬體技術相結合、更多技術融合發展的趨勢
目前,在區塊鏈與隱私計算技術相結合的實踐中,也呈現出了軟硬體技術相結合、更多 技術融合發展的趨勢。這主要是緣於幾方面的需求:
第一,是加強數據安全性的需求。
隱私計算主要是解決數據在計算過程中不泄露的問題,區塊鏈主要是解決存證問題,二者結合僅能解決數據安全的一部分問題。數據從產生到計算再到消亡,會涉及採集、傳輸、 存儲、計算、銷毀等多個環節,其生命周期可能會有數十年之久,要真正保障數據安全需要 一個更加全方位的、體系化的解決方案,以使得每個環節上都有對應的技術體系保障數據安 全 在數據採集階段需要精心設計設備可信架構,在網路傳輸階段需要合理運用安全協議, 在存儲階段需要兼顧加密與性能,在數據計算階段需要靈活選擇可信執行環境與密態運算。除此以外,計算環境的可信與安全在防禦縱深建設上也至關重要。這些安全保障能力的技術 圖譜會涉及到可信計算、軟硬體供應鏈安全、隔離技術、網路與存儲的透明加密、密鑰管理、 可信執行環境等等。這其中每一個技術點都有軟硬體結合、多種技術融合發揮的空間。
第二,是提升計算性能的需求。
隱私計算的性能目前還比較低,在計算機單機、單機和單機之間、計算機集群之間這三 個層面上都存在。
在計算機單機上,隱私計算由於運用了密碼學技術,計算過程中涉及到很多加密解密的 步驟,這使得計算量以幾何級數增加。以全同態演算法為例,在通用晶元上密文運算的速度比 明文運算慢了 10 萬倍。這意味著,做同樣的運算,如果用全同態演算法,在 Intel 最新的 Icelake 處理器上,跑出來的效果等同於 Intel 的第一代 8086 處理器,直接回退了數十年。這使得全 同態加密在現實情況下就不具備可用性了。算力問題也是導致全同態演算法一直未得到廣泛應 用的根本原因。
在單機之間和計算機集群之間,會涉及到單機之間和集群之間的通信效率問題。一方面, 主流的隱私計算技術無論是聯邦學習還是多方安全計算,都有通信問題。密文膨脹、傳輸次 數膨脹,會導致單機之間網路傳輸效率成為隱私計算的瓶頸之一。另一方面,由於大多數隱 私計算的場景都是跨多方的,多方要通過公網進行通信,公網的帶寬與時延目前也是巨大的 鴻溝。
性能的問題,會隨著時間的推移越來越嚴重。2021 年,隱私計算的落地尚處於頗為早期 的階段,主要是在一些機構內部或者是兩方、三方之間應用,處理的數據量較小,這個問題 還不明顯。可是未來,多方數據交換需求的到來、5G 和物聯網的發展所帶來的數據量急劇增 大,最終導致的將是數據量爆發式的增長,這需要消耗大量的算力。
到那時,隱私計算的性 能將面臨巨大的挑戰。現在在硬體的創新方面正處於體系結構的黃金時代。這是因為,移動互聯網的飛速發展 使得應用場景發展很快,上層的軟體也發展很快,這使得在計算機底層進行支持的硬體甚至 晶元都需要隨之進行改變,進入了新一輪的創新周期。
而從區塊鏈與隱私計算結合的長遠發展來看,軟硬體結合、多技術融合,對隱私計算來 說,可以提升性能、安全性和計算效果;對區塊鏈來說,可以促使更多機構低成本加入聯盟 鏈,擴大聯盟鏈應用范圍。
END
編輯 | 領路元
來源 | 零一 財經 《區塊鏈+隱私計算一線實踐報告(2022)》