盲計算的工作流程大致如何? Nillion 提供的盲運算解決方案究竟怎樣?
作者: Haotian
封面: Nillion
不少朋友看到 Nillion 融資 $25M 的消息,都會好奇 WTF 什麼是「盲計算」? MPC、ZKP、FHE、TEE 這些生僻概念剛好有一些了解,一個嶄新的概念又冒出來了。那麼,盲運算的工作流程大致如何? Nillion 提供的盲運算解決方案究竟怎樣?接下來,談談我的理解:
1)什麼是 Blind Compute(盲計算)?簡單而言,盲計算是一種讓服務端(節點)對某個加密狀態的資料片段執行計算任務,最終達到保護隱私的安全計算方法。
和 ZKP、TEE、MPC、FHE 等增強加密演算法目標都一致,差異在於:ZKP 零知識證明產生證明需要龐大的開銷,適合鏈下儲存+計算,鏈上只驗證的場景,例如:Rollup Layer2;TEE 可信任執行環境是一種依賴硬體廠商在隔離環境下進行計算的方法;FHE 全同態加密雖然可以直接在加密資料上執行計算,但當下方只支援特定運算;
「盲計算」是一種更 General 的計算框架,因為 ZKP、TEE、FHE 等加密技術都可能被作為其技術框架的一部分。
眾所周知,ZKP、TEE、FHE 等目前都在和 Crypto 接軌技術落地應用探索和優化階段。而盲計算則有可能把這些加密核心技術都聚合應用起來,從而為隱私保護探索出一體化的工程實踐方案。
2)盲運算的核心邏輯是做分散式節點增強,讓單一節點同時具備分段儲存+運算的能力,再加上一個可驗證的開放治理網絡,進而達成節點不知道「完整」資料前提下有效工作的結果。如何理解呢?
常態下保護資料隱私狀態需要在 A 節點儲存數據,然後加密後交由 B 節點計算,再解密後經由 C 節點驗證最終完成資料的儲存+計算工作。這個過程中資料傳輸存在極大的成本損耗,且多次重複 Encrypt——>Decrypt 的過程資料存在暴露的情況,節點之間的互信成本也高,很難保證隱私不洩漏。
Nillion 所建構的業務邏輯恰好彌補了這個缺陷,其大致工作流程為(僅供理解):
Nillion 建構了一個分散式節點網絡,每個節點都具備儲存+運算的增強能力,Nillion 網路在收到資料傳輸處理需求時,先經由 Nada 特定語言執行編譯預處理,讓原始資料被拆分成很多片段,且都處於加密狀態。
再經 AIVM 虛擬機器來調度和分配,其分散式節點會隨機儲存並計算這些資料片段,最終完成聚合和統一驗證。整個過程,單一節點並無法知道全部的資料內容,拼湊到一起卻能完成整體資料的加密傳輸與運算。
為啥說盲計算可以聚合應用 ZKP、TEE、FHE 這些技術,邏輯也很簡單,在資料預處理也就是給資料加密階段完全可以應用 FHE 同態加密技術,而節點儲存計算資料則可以在 TEE 可信執行環境下進行,在聚合和驗證節點工作成果的時候則可以用 ZKP 提升驗證聚合效率。
3)在我看來,ZKP、TEE、FHE、MPC 等技術都或多或少存在一些工程化落地缺陷,目前 Crypto 領域幾乎各個賽道都擠滿了項目,但大差不差都在做成本和效率優化的工作,且都聚焦於 Crypto 特定應用場景。
Nillion 所提出的盲運算框架,雖然也未實現大規模應用,但其一體化的加密解決方案,很可能在 AI 可驗證計算、機器學習等更廣泛的資料保護領域得以通用化採納。
免責聲明:作為區塊鏈資訊平台,本站所發布文章僅代表作者及來賓個人觀點,與 Web3Caff 立場無關。文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。