隱私是人類和組織的基本權利。對個人而言,它幫助人們自由表達自己,而不必向第三方透露任何不想分享的資訊。對於當今的大多數組織而言,資料被視為主要商品,資料隱私對於保護這一商品至關重要。密碼朋克運動和數據商品化加速了密碼學原語的研究和發展。
密碼學是一個相當廣泛的領域,當我們在計算的背景下看待密碼學時,我們已經看到許多不同的方案,例如零知識證明、同態加密、Secret共享等,這些方案自1960年代誕生以來一直在不斷改進。這些方案對於解鎖私人計算方法至關重要(數據之所以是主要商品,那是因為人們可以從中發現生成洞察)。直到今天,Private計算領域在多方計算和零知識證明方面有了顯著發展,但輸入資料本身始終存在隱私問題。
當最重要的商品公開時,任何資料所有者要在沒有法律協議的情況下將此資料的計算外包出去是非常困難的。今天,每個人都依賴資料隱私的合規標準,例如針對健康資料的HIPAA和專門針對歐洲地區資料隱私的GDPR等。
在區塊鏈領域,我們更相信技術的完整性,而不是監管機構的完整性。作為去許可和所有權最大化的信徒,如果我們相信使用者擁有資料的未來,就需要無信任的方法來計算這些資料。在2009年Craig Gentry的工作之前,在加密資料上執行計算這一概念一直沒有突破。這是第一次有人能夠在密文(即加密資料)上執行計算(加法和乘法)。
1. 全同態加密(FHE) 的工作原理
那麼,這種允許計算機在不了解輸入的情況下執行計算的「魔法數學」到底是什麼呢?
全同態加密(FHE)是一類加密方案,它允許在加密數據(密文)上執行計算而無需解密數據,為隱私和數據保護打開了一系列用例。
在FHE過程中,當資料被加密時,會在原始資料中新增稱為雜訊的額外資料。這就是加密資料的過程。
每次執行同態計算(加法或乘法)時,都會增加額外的雜訊。如果計算過於複雜,每次都添加噪聲,最終解密密文就會變得非常困難(這在計算上非常繁重)。這種過程更適合加法,因為雜訊呈線性增長,而對於乘法,雜訊呈指數增長。因此,如果有複雜的多項式乘法,解密輸出將非常困難。
如果噪音是主要問題,且其成長使FHE變得難以使用,就必須加以控制。這催生了一種稱為「Bootstrapping」的新過程。引導是一種使用新密鑰對加密資料進行加密並在加密中解密的過程。這非常重要,因為它顯著減少了計算開銷以及最終輸出的解密開銷。雖然Bootstrapping 減少了最終的解密開銷,但在過程中會有大量的操作開銷。這可能既昂貴又耗時。
目前主要的FHE方案有:BFV、BGV、CKKS、FHEW、TFHE。除了TFHE,這些方案的縮寫都是其論文作者的名字。
可以將這些方案視為同一國家中講的不同語言,每種語言都針對不同的最佳化。理想狀態是統一這個國家,即所有這些語言都能被同一台機器理解。許多FHE工作小組正在努力實現這些不同方案的可組合性。像SEAL(結合BFV和CKKS方案)和HElib(BGV + 近似數CKKS)這樣的函式庫幫助實現FHE方案或不同計算的方案組合。例如,Zama的Concrete函式庫是一個針對TFHE的Rust編譯器。
2. FHE方案比較
以下是查爾斯·古特、迪米特里斯·穆里斯和奈克塔里奧·喬治·楚索斯在其論文《SoK:通過標準化基準對全同態加密庫的新見解》SoK: New Insights into Fully Homomorphic Encryption Libraries via Standardized Benchmark(2022)中對不同函式庫的效能比較。
Web3用例
當我們今天使用區塊鏈和應用程式時,所有數據都是公開的,所有人都可以看到。這對大多數用例是有利的,但完全限制了許多需要預設隱私或資料保密的用例(例如機器學習模型、醫療資料庫、基因組學、私人金融、不被操縱的遊戲等)。 FHE支援的區塊鏈或虛擬機器本質上允許整個鏈的狀態從起點開始加密,確保隱私,同時允許在加密資料上執行任意計算。所有儲存或處理在FHE支援的區塊鏈網路上的資料本質上是安全的。 Zama有一個fhEVM方案,允許在完全同態環境中進行EVM計算。這在執行層面為任何使用此程式庫建置的L1/L2專案確保了隱私。儘管隱私鏈一直是很酷的技術,但採用率和代幣表現並未顯著提升。
在外包通用計算方面,FHE本身並不是要取代ZK和MPC。它們可以相互補充,創造一個無信任的私人運算巨頭。例如,Sunscreen正在建立一個“隱私引擎”,這基本上允許任何區塊鏈應用程式將計算外包到他們的FHE計算環境,並可以將計算結果反饋回來。產生的計算可以透過ZK證明進行驗證。 Octra正在做類似的事情,但使用的是一種不同類型的加密方案,稱為hFHE。
ZK證明擅長在不透露數據的情況下證明某事,但證明者在某個時間點仍然可以存取這些數據。 ZK證明不能用於私有資料的計算;它們只能驗證某些計算是否正確完成。
MPC將加密資料的計算分散到多台機器上,平行執行計算,然後將最終計算結果拼接在一起。只要進行計算的大多數機器是誠實的,就無法檢索原始數據,但這仍然是一個信任假設。由於MPC中需要各方之間的不斷通訊(資料需要不斷拆分、計算和重新連接),透過硬體進行擴展變得困難。
在FHE中,所有計算都在加密數據上進行,無需解密數據,而且這可以在單一伺服器上完成。 FHE的性能可以透過更好的硬體、更多的運算資源和硬體加速來擴展。
目前,FHE在區塊鏈領域的最佳用例更多是在外包通用計算,而不是建立內建的FHE L1/L2。以下是FHE可以解鎖的一些有趣用例:
- 第一代(加密原生):鏈上DID、賭場、投注、投票、遊戲、Private DeFi、私有代幣、dark pools、2FA、備份、密碼。
- 第二代(模組化):「隱私鏈」(Chainlink for privacy)、外包私人運算、區塊鏈與合約之間的端對端加密、加密的資料可用性、可驗證的安全資料儲存。
- 第三代(企業級):複雜的消費者應用程式、加密和分散的LLM、人工智慧、穿戴式裝置、通訊、軍事、醫療、隱私保護的支付解決方案、Private P2P支付。
目前基於FHE的業內項目
完全同態加密(FHE)的發展激發了多個利用這項技術增強資料隱私和安全的創新區塊鏈專案。本節深入探討了Inco、Fhenix和Zama等值得注意的項目的技術細節和獨特方法。
Inco
Inco正在開創FHE與區塊鏈整合的先河,創建一個平台,讓資料計算既安全又私密。 Inco使用基於格(lattice-based) 的加密技術來實現其FHE方案,確保對密文(加密資料)的操作可以在不暴露底層明文的情況下進行。該平台支援隱私保護的智慧合約,允許直接在區塊鏈上處理加密資料。
- Lattice-Based的FHE:Inco利用基於格的加密進行其FHE實現,因其後量子安全特性而著稱,確保對未來可能的量子攻擊具有彈性。
- 隱私保護智能合約:Inco的智慧合約可以對加密輸入執行任意函數,確保合約和執行合約的節點都無法存取明文資料。
- 噪音管理與Bootstrapping:為了處理同態操作過程中噪音成長的問題,Inco實作了高效率的Bootstrapping 技術,刷新密文,保持解密性,同時進行複雜運算。
Fhenix
Fhenix專注於為隱私保護應用程式提供強大的基礎設施,利用FHE提供端對端加密解決方案,以保護用戶資料。 Fhenix的平台旨在支援從安全訊息傳遞到隱私金融交易的廣泛應用,確保在所有計算過程中資料隱私。
- 端對端加密:Fhenix確保資料從輸入點到處理和儲存的整個過程中都保持加密狀態。這是透過結合FHE和安全多方計算(SMPC)技術來實現的。
- 高效金鑰管理:Fhenix整合了先進的金鑰管理系統,便於安全金鑰分發和輪換,這是在FHE環境中保持長期安全的關鍵。
- 可擴展性:平台使用最佳化的同態操作和平行處理來高效處理大規模計算,解決了FHE的主要挑戰之一。
- 協處理器:Fhenix也率先開發了專門的協處理器,旨在加速FHE運算。這些協處理器專門處理FHE所需的密集數學運算,顯著提高了隱私保護應用程式的效能和可擴展性。
Zama
Zama是FHE領域的領先者,以其開發的fhEVM方案而聞名。此方案允許在完全同態環境中執行以太坊EVM計算,確保任何使用該庫建構的L1/L2項目在執行層面的隱私。
fhEVM方案:Zama的fhEVM方案將FHE與以太坊虛擬機集成,實現加密的智慧合約執行。這允許在以太坊生態系統中進行保密交易和計算。
Concrete函式庫:Zama的Concrete函式庫是一個針對TFHE(FHE的一種變體)的Rust編譯器。該庫提供了同態加密方案的高效能實現,使加密計算更加高效。
互通性:Zama致力於創造能夠與現有區塊鏈基礎設施無縫協作的解決方案。這包括支援各種加密原語和協議,確保廣泛的兼容性和易於整合。
3. FHE 在Crypto 與AI Infra 與應用的關鍵角色
如今,密碼學與人工智慧的交會正如火如荼。儘管不深入探討這一交匯,但值得注意的是,新模型和資料集的創新將由多個參與者的開源合作推動。除了計算之外,最終最重要的是數據,這些數據是這個合作管道中最重要的部分。 AI應用和模型的有用性最終取決於其所訓練的數據,無論是基礎模型、微調模型還是AI智能代理。保持這些資料的安全性和私密性,可以為開源合作打開一個巨大的設計空間,同時允許資料擁有者持續從訓練模型或最終應用中獲利。如果這些數據本質上是公開的,將很難進行貨幣化(因為任何人都可以存取有價值的數據集),因此這些數據更可能被嚴格保護。
在這種情況下,FHE可以發揮關鍵作用。在理想狀態下,它可以在不透露底層資料集的情況下訓練模型,這或可以解鎖資料集的貨幣化,極大地促進資料集所有者之間的開源合作。
Source: Bagel Network
FHE如何增強隱私權保護機器學習(PPML)
- 資料隱私:透過使用FHE,敏感資料如醫療記錄、財務資訊或個人識別碼可以在輸入ML模型之前加密。這確保即使運算環境遭到破壞,資料仍然保持機密。
- 安全模型訓練:訓練ML模型通常需要大量資料。使用FHE,這些資料可以加密,從而在不暴露原始資料的情況下訓練模型,對於處理高度敏感資訊並受嚴格資料隱私法規約束的行業至關重要。
- 機密推理:除了訓練,FHE還可用於加密推理。這意味著一旦模型訓練完成,就可以在加密輸入上進行預測,確保用戶資料在整個推理過程中保持隱私。
FHE的PPML應用領域:
- 醫療保健:在保護隱私的前提下訓練ML模型,可導致更個人化和有效的治療,而不會暴露敏感的患者資訊。
- 金融:金融機構可以使用FHE分析加密的交易數據,實現詐欺偵測和風險評估,同時保持客戶隱私。
- 物聯網和智慧型設備:設備可以收集和處理加密形式的數據,確保位置數據或使用模式等敏感資訊保持機密。
FHE的問題:
如前所述,FHE方案之間沒有「統一」。方案之間不可組合,且多次需要為不同類型的計算組合不同的FHE方案。對同一計算實驗不同方案的過程也相當繁瑣。正在開發的CHIMERA框架允許在TFHE、BFV和HEAAN等不同FHE方案之間切換,但目前遠未達到可用狀態。這引出了下一個問題,缺乏基準測試。基準測試對於開發者採用這項技術非常重要。這將有助於節省許多開發者的時間。考慮到計算開銷(加密、解密、Bootstrapping、金鑰產生等),許多現有通用硬體並不非常適用。需要某種形式的硬體加速,或者可能需要創建特定晶片(FPGA和/或ASIC)以實現FHE的更主流應用。這些模式的問題可以與ZK(零知識)產業的問題進行比較。只要一群聰明的數學家、應用科學家和工程師對這個領域感興趣,我們將繼續看好這兩個領域:FHE用於隱私和ZK用於可驗證性。
4. FHE驅動的未來會是什麼樣子
會有一個FHE方案統治所有嗎?業界還在進行這樣的討論。儘管理想狀態是有一個統一的方案,但不同應用的多樣化需求可能總是需要針對特定任務最佳化的專門方案。方案之間的互通性是最佳解決方案嗎?互通性確實可能是實際的方法,允許靈活處理多樣化的運算需求,同時利用各種方案的優勢。
FHE何時可用?可用性與減少計算開銷、改進基準測試標準以及開發專用硬體的進度密切相關。隨著這些領域的進展,FHE將變得更加可訪問和實用。
總結來說,FHE為資料隱私保護和安全計算提供了強大的工具。儘管目前在互通性、計算開銷和硬體支援方面仍存在挑戰,但FHE在區塊鏈、隱私保護機器學習以及更廣泛的Web3應用中的潛力不容忽視。隨著技術的不斷發展和創新,FHE有望在未來的隱私保護和安全計算領域發揮關鍵作用。