上次我們分析了全同態加密(FHE,Fully Homomorphic Encryption)技術如何運作。

但是很多朋友仍然會把FHE和ZK、MPC這些加密技術弄混,因此第二篇thread計劃將這三門技術詳細對比一波:

FHE vs ZK vs MPC

首先,讓我們從最基本的問題開始: -這三種技術分別是什麼? -它們如何工作? -它們如何爲區塊鏈應用工作?

1.零知識證明(ZK):強調“證明卻不泄露”

零知識證明(ZK)技術探討的命題是:如何在不泄露任何具體內容的情況下,驗證信息的真實性。

ZK建立在密碼學的堅實基礎上,通過零知識證明,Alice可以向另一方Bob證明:她知道某個祕密,卻不必揭示任何關於祕密本身的信息。

想象一個場景,Alice希望向租車行員工Bob證明她的信用,但她不希望去銀行打個流水之類的。這時候,比如銀行/支付軟件的“信用分”就堪比她的“零知識證明”。

Alice在Bob“零知曉”的條件下,證明她的信用評分良好,而無需展示她的賬戶流水,這就是零知識證明。

如果應用到區塊鏈裏,可以參考之前的一個匿名幣Zcash:

當Alice給他人轉賬時,她既要匿名,又要證明她擁有轉賬這些幣的權力(否則會導致雙花),於是她就需要生成一個ZK證明。

所以,礦工Bob看到了這個證明後,能夠在不知道她到底是誰(即對Alice的身份零知識)的情況下,仍能把交易上鍊。

2.多方安全計算(MPC):強調“如何計算卻不泄露”

多方安全計算(MPC)技術主要應用於:如何在不泄露敏感信息的前提下,讓多方參與者還能安全地一起計算。

這項技術讓多個參與者(比如說Alice、Bob和Carol)能夠共同完成一項計算任務,卻無需任何一方透露自己的輸入數據。

例如,如果Alice、Bob和Carol想要計算他們三人的平均工資,卻不泄露各自的具體工資。那麼如何操作呢?

每個人可以將自己的工資分成三部分,並交換其中兩部分給其他兩人。每個人都對收到的數字進行加和,然後分享這個求和結果。

最後,三人再對這三個求和結果求出總和,進而得到平均值,但卻無法確定除自己外其他人的確切工資。

如果套用到加密行業,MPC錢包就使用這樣的技術。

以Binance或者Bybit推出的最簡單MPC錢包爲例,用戶不再需要存12個助記詞,而是有點類似於,把私鑰魔改成2/2多籤,用戶手機一份,用戶雲端一份,交易所一份。

如果用戶不小心弄丟了自己的手機,至少雲上+交易所還能恢復出來。

當然,如果要求安全性更高,一些MPC錢包可以支持引入更多的第三方來保護私鑰碎片。

因此,基於MPC這門密碼學技術,多方可以在相互不需要信任的情況下,安全地使用私鑰。

3.全同態加密(FHE):強調“如何加密才能找外包”

如同我上篇thread所說,全同態加密(FHE)則應用在:我們如何加密,使得敏感數據加密後,可以交給不信任第三方進行輔助計算,結果仍能由我們解密出來。 上篇傳送門:https://x.com/0x_Todd/status/1810989860620226900…

舉個例子,Alice自己沒有計算能力,需要依賴Bob來計算,但是又不想告訴Bob真相,因此只能將原始數據引入噪音(做任意次的加法/乘法加密),然後利用Bob強大的算力對這些數據進行加工,最後由Alice自己解密出來得到真實結果,而Bob對內容一無所知。

想象一下,如果你需要在雲計算環境中處理敏感數據,如醫療記錄或個人財務信息,FHE就顯得尤爲重要。 它允許數據在整個處理過程中保持加密狀態,這不僅保護數據安全,還符合隱私法規。 

上次重點分析了AI行業爲什麼需要FHE,那麼在加密行業中,FHE這門技術能夠帶來什麼應用呢? 比如說有個項目叫做Mind Network拿到了以太坊Grant,也是幣安孵化器的項目。它關注到了一個PoS機制的原生問題:

像以太坊這樣的PoS協議,擁有100w+的驗證者,自然沒什麼問題。但是很多小的項目,問題就來了,礦工天生是偷懶的。

爲什麼這麼說呢?理論上,節點工作是:兢兢業業地驗證每一筆交易是否合法。但是一些小的PoS協議,節點不夠多,而且包括很多“大節點”。

 所以,很多小PoS節點就發現:與其浪費時間親自計算覈實,不如直接跟隨照抄大節點現成的結果。

這個毫無疑問,會帶來非常誇張的中心化。

另外,比如投票的場景同樣有這種“跟隨”跡象。

比如說之前MakerDAO協議的投票,由於A16Z當年擁有了太多MKR票倉,導致很多時候它的態度對於某些協議起決定性作用。A16Z投票之後,很多小票倉只能被迫跟票或者棄權,完全無法反映出真實民意。

所以,Mind Network利用了FHE技術:

讓PoS節點相互*不知道*對方答案的情況下,仍然能夠藉助機器算力完成區塊的驗證工作,防止PoS節點相互抄襲。

or

讓投票者在相互*不知道*相互的投票意向之後,仍然能夠藉助投票平臺計算出投票結果,防止跟票。

這就是FHE在區塊鏈的重要應用之一。

所以,爲了實現這樣的功能,Mind還需要重建一個re-staking套娃協議。因爲EigenLayer本身將來就要爲一些小的區塊鏈提供“外包節點”服務,如果再配合FHE,可以讓PoS網絡或者投票大幅提升安全性。

打個不恰當的比喻,小的區塊鏈引入Eigen+Mind,有點像小國自己搞不定內政,於是引入外國駐軍。

這也算是Mind在PoS/Restaking分支上和Renzo、Puffer的差異化之一, Mind Network相比Renzo、Puffer這些起步更晚,最近剛剛啓動主網,相對來說沒有Re-taking summer那時候那麼捲了。

當然,Mind Network也同樣在AI分支上提供服務,比如用FHE技術加密餵給AI的數據,然後讓AI能夠在*不知道*原始數據的情況下學習、處理這些數據,典型案例包括與bittensor 子網的合作。

最後,再總結一下:

雖然ZK(零知識證明)、MPC(多方計算)、和FHE(全同態加密)都是爲了保護數據隱私和安全設計的先進加密技術,但是在應用場景/技術複雜性有區別:

應用場景: ZK強調“如何證明”。它提供了一種方式,使得一方可以向另一方證明某一信息的正確性,而無需透露任何額外信息。這種技術在需要驗證權限或身份時非常有用。

MPC強調“如何計算”。它允許多個參與者共同進行計算,而不必透露各自的輸入。這在需要數據合作但又要保護各方數據隱私的場合,如跨機構的數據分析和財務審計中。

FHE強調“如何加密”。它使得在數據始終保持加密的狀態下,委託進行復雜的計算成爲可能。這對於雲計算/AI服務尤爲重要,用戶可以安全地在雲環境中處理敏感數據。

技術複雜性: ZK雖然理論上強大,但設計有效且易於實現的零知識證明協議可能非常複雜,需要深厚的數學和編程技能,比如大家聽不懂的各種“電路”。

MPC在實現時需要解決同步和通信效率問題,尤其是在參與者衆多的情況下,協調成本和計算開銷可以非常高。

FHE在計算效率方面面臨巨大挑戰,加密算法比較複雜,2009年才成型。儘管理論上極具吸引力,但其在實際應用中的高計算複雜性和時間成本仍是主要障礙。

說實話,我們所依賴的數據安全和個人隱私保護正面臨前所未有的挑戰。想象一下,如果沒有了加密技術,我們的短信、外賣、網購過程中的信息都已暴露無遺。就像沒有鎖的家門,任何人都可以隨意進入。

希望對這三個概念有混淆的朋友們,能夠徹底區分這三門加密學聖盃上的明珠們。