不少朋友看到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可驗證計算、機器學習等更廣泛的數據保護領域得以通用化采納。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。