FHE、ZK和MPC技術概念太混淆?一文幫你捋清楚

24-07-18 17:06
閱讀本文需 14 分鐘
总结 AI 總結
看總結 收起
原文作者:0xTodd,Ebunker 聯創


編者文:上一篇:《白話解讀:FHE 全同態加密的內涵與應用場景》中,Ebunker 聯創0xTodd 用簡單易懂的語言解釋了FHE 全同態加密的內涵與應用場景。 FHE 和 ZK、MPC 技術可以說是三門加密學聖杯上的明珠。但概念複雜,有的朋友老是容易混淆。本文中,0xTodd 再次以簡潔的語言全面對比了這三項技術的異同,BlockBeats轉載全文如下:


上次我們分析了全同態加密(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)則應用在:我們如何加密,使得敏感資料加密後,可以交給不信任第三方進行輔助計算,結果仍能由我們解密出來。



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


想像一下,如果你需要在雲端運算環境中處理敏感數據,如醫療記錄或個人財務訊息,FHE 就顯得尤為重要。


它允許資料在整個處理過程中保持加密狀態,這不僅保護資料安全,還符合隱私法規。


上次重點分析了 AI 產業為什麼需要 FHE,那麼在加密產業中,FHE 這門技術能帶來什麼應用呢?


比如說有個專案叫做 Mind Network,拿到了以太坊 Grant,也是 Binance 孵化器的專案。它關注了一個 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 年才成型。儘管理論上極具吸引力,但其在實際應用中的高計算複雜性和時間成本仍是主要障礙。


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


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


原文連結


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
本平台現已全面集成Farcaster協議, 如果您已有Farcaster帳戶, 可以登錄 後發表評論
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交