梳理ZK技術史:會是下一個千億應用的沃土嗎?

原文標題:《我們研究了ZK 的技術史,發現下一個千億應用蘊藏其上》

原文作者:Web3 研究型組織R3PO

加密世界的焦點經歷了比特幣、以太坊、DeFi、NFT、元宇宙和Web3 的多次變遷,唯獨缺少對加密技術本身的關注,除了比特幣的橢圓曲線加密算法(ECC)還算有一點大眾認知度,其他加密算法基本停留在研究員和開發者的自嗨中。

R3PO 認為這不夠去中心化,會嚴重阻礙Web3 的進一步擴展,密碼學是區塊鏈的基礎件,不應該被少數人掌握,而應走向更廣闊的領域。

R3PO 希望能用新的書寫範式去闡述術語的含義,兼顧專業性和可讀性,致力於為機構投資者、項目方發現潛藏在發展中的投資機會、創業方向和切入點,尋找到未被發掘的收益。

近期大熱的零知識證明技術仍是一個不斷發展、不斷革新的細分領域,但其技術本身又具備足夠廣闊的應用場景,因此對其進行全景梳理顯得十分重要。

零知識證明技術(Zero-Knowledge Proof)並非新概念,細細梳理可知,迄今已經經過40 年的發展,誕生出多種模型和應用。

進入Web3 時代,早在2017 年,V 神便已經註意到ZK 技術在以太坊上的使用潛力,而最近Starkware 獲得1 億美元的融資使其總融資額度達2.25 億,這代表機構是以公鏈級別的估值和潛力來看待ZK 技術。這將是一個長期鏖戰的領域,會暴露出更多的投資機會。

向後推演20 年,R3PO 認為ZK 發展至少具備一個甲子的生命長度,因此描繪整個ZK 的發展歷程需要追本溯源,以更好地釐清其發展邏輯,尋找到下一步的潛在機會。

本系列首篇將會從零知識證明起步,超越ZK 只能應用於L2 領域的固有觀念,帶給大家全新的系統性認知。

零起步:ZK 的組裝過程

1982:財不外露,便分高低

對於財富的追求自古有之,項羽就說過:「富貴不還鄉,如衣錦夜行」,但太多的財富會引人覬覦,有沒有一種辦法,在既不暴露財富數量的同時又比較出財富的多寡呢?

1982 年,後來的圖靈獎得主姚期智便設想過這個問題,這就是著名的百萬富翁問題,省略其數學過程,其大致運作模式如下:

– Alice 和Bob 選擇代表自己財富數量的數字i 和j,取值區間在1-10 之間;

– Alice 對i 進行單向加密,並將加密後的結果k 發送給Bob,Bob 得到一個與i 相關的新值;

– Bob 對k 進行運算後會得到一個新值m,並將其傳遞回Alice 此時,Alice 可以判斷m 和i 的關係。

– 這個過程可以繼續推演,雙方可在不完成信息暴露的前提下最終完成比較。

當然,以上過程並不全面,但足以說明一個問題,我們確實可以在兩方之間,並且在不暴露信息的前提下進行計算,如果將兩方擴展至多方,將區間擴展至更大範圍,那麼這就是典型的多方安全計算MPC (Secure Multi-party Computation) 問題。

百萬富翁問題是ZK 討論的一個起點:

– 在不暴露財富信息的前提下,符合零知識的定義;

– 在不借助第三方進行評估的條件下,考察的是兩者或者參與方之間的直接交互。

1985:零知識證明面世

1985 年,Goldwasser、Micali 和Rackoff 首次提出Zero-Knowledge Proof 模型,準確而言是「交互式零知識證明」模型,簡單而言就是允許在多次交互的前提下,通過ZK 技術來驗證真假、大小。

此處的零知識並不完全準確,以Alice 和Bob 的互動為例,Alice 和Bob 可以互為驗證者和證明者,但是兩者間傳遞的信息不能和財富數量本身有關,這裡的零知識是指相關性為零,而並非不傳遞信息。

而交互式指的是可以多次進行交互,這個過程可以反復進行,直至得出正確結果。

至此,目前所熟知的ZK 技術邁出了成型的第一步,接下來的一切發展,都是在其上的刪減增改。

1991:非交互式零知識證明

當時間來到1991 年,Manuel Blum、Alfredo Santis、Silvio Micali 和Giuseppe Persiano 提出非交互式零知識證明,聞名即可知,此次升級重點是進行非交互式的證明過程,也就是在雙方之間不進行交互的同時,驗證一個定理、假說的真偽性,這看似很反直覺,但是有一個絕妙的例子可以說明:

– Alice 和Bob 財富自由後變身數學家。 Alice 離開web2 去環遊web3,期間Alice 繼續ZK 研究。

– 我們假設Alice 能夠在發現一個新定理的證明時,給Bob 寫一張明信片,證明她在研究中取得了新進展。

– 這是一個非交互式的過程,準確的說,它是一個單方向的互動:只從Alice 到Bob。即使Bob 想回答,他也不可能。因為Alice 沒有穩定的(或可預測的)地址,在任何郵件能到達她之前就會搬走。

– 我們約定,只要Bob 收到郵件,我們不需要查看郵件內容,就可以確定「Alice 取得了研究上的新進展」這個命題為真。

非交互式零知識證明將交互次數減少到最多一次,可實現線下驗證和公開驗證,前者為Rollups 奠定了有效性基礎,後者耦合區塊鏈的廣播機制,可避免多次計算帶來的資源浪費。

至此,我們目前見到的ZK 便已經成為成熟理論模型,但此時的ZK 更多是數學和密碼學領域的研究對象,和區塊鏈並無太多關聯,而在比特幣出現後,加密技術+區塊鏈才成為研究的方向,而ZK 無疑是其中的佼佼者。

值得注意的是,中本聰本人並不排斥ZK 技術在比特幣網絡的使用,更多的是當時的ZK 技術不成熟,因此最終選擇了較為安全的ECC 算法,而ZK 本身可以直接應用到Layer1 區塊鏈上,Zcash、Mina,以及以太坊的伊斯坦布爾升級都涉及到了零知識證明的相關領域。

一相逢:SNARK 介入區塊鏈

2010-2014 Zcash: SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) 實用化場景

在比特幣網絡出現後,安全和隱私成為人們對區塊鏈的最初認知。市場上出現了一系列基於隱私的公鍊和應用,如Zerocash/Zcash 使用的SNARKs,以及在Monero 中使用的子彈證明Bulletproofs(BP)等。

2010 年,Groth 實現了首個基於ECC 算法的,O(1) 常數級的ZK。也即ZK-SNARKs 或者ZK-SNARGs。

– SNARGs: Succinct Non-Interactive Arguments

– SNARKs: Succinct Non-Interactive Arguments of Knowledge

從應用角度來說,此次改進在於「簡潔」Succinct 功能上,具體而言,SNARK 致力於壓縮信息本身的大小,在ZCash 中,程序電路是固定的,因此多項式驗證也是固定的,這使得設置只需執行一次,交易後續只需改變輸入便可複用。

在2013 年,Pinocchio 協議提升效率至分鐘級別證明,以及毫秒級別的驗證時間,開銷控制在300 字節以內,這也是ZK-SNARKs 技術真正首次落地到區塊鏈領域。

這證明了ZK 技術可以在隱私場景上發揮作用,R3PO 判斷後續的隱私路線會具備脫離L2 單獨存在的潛力,Aztec 證明了隱私DeFi 路線的可行性,而在tornado 被制裁後,鏈上金融隱私仍舊是強烈的剛需,這個方向的投資機會仍未被廣泛發掘,值得後續期待。

此外,隱私幣項目Zerocash 進一步改進了相關算法,使用的是SCIPR Lab 優化後的zk-SNARKs 算法,在理論條件下,可以做到既隱藏付款來源、接受者和金額,並且交易可以控制在1KB 以內,驗證時間在6ms 之內。

Mina:遞歸ZK 壓縮數據

Mina 不同於以太坊L2,其是一條L1 級別的高性能公鏈,其運行節點只有22KB,而之所以能做到如此之小,在於其大幅度利用遞歸來證明ZK 確認的有效性,即每一條信息都帶有之前的確認結果。

– Step1:zk-SNARKs 證明節點有效性,只需要保存其證明結果;

– Step2:通過遞歸調用,確保節點有效性的正確傳遞和檢索,不需要保留所有歷史數據,實現極致壓縮數據的效果;

傳遞結果的有效性,而非保存全節點數據,這是Mina 證明行之有效的手段,而在以太坊L2,ZK-Rollup 可以通過打包多次交易數據,結算一次的方式完成有效性證明,而進一步推演,L2 之上可以疊加L3,或者Dapp 應用,這些都是ZK 可以發展的細分賽道,比如dYdX 目前運行在Starkex 之上,以及架構在Starkware 之上的L2 ImmutableX,都證明ZK 的使用潛力,這個賽道的價值目前仍未被全部挖掘,仍留有長期的投資價值。

至此,ZK-Rollup 涉及所有的技術要件就已經基本齊備了,我們已經裝備好足夠的ZK 基礎知識,並且可以總結ZK 的以下特點:

– 非交互式:不需要多次驗證,只需一次驗證就可以廣播至全網;

– 零知識:不需要透露信息本身的特徵,可在全網進行公開傳播;

– 知識:知識不是公開、易得的信息,必須具備獨特的價值,比如經濟價值、隱私價值等;

– 證明:證明由數學手段確認,安全性經過多年研究和實踐檢驗;

如果將這些技術特點組合起來,我們可以發現,ZK 天然適合L2 擴容,並且又不局限於L2,ZK 技術的其他應用會在後文中持續發表,歡迎大家繼續關注。

雙龍會:STARK 終將取SNARK 而代之

ZK-STARK:開發難度以10 年計的種子選手

對比二者的差異,主要在於STARK 中的S 是Scalability 之意,面向的是更加大型數據的複雜使用場景,但其整體上仍舊是一個正在發展中的技術路線。

本文不過多涉及具體L2 之間的區別,但有一點很明顯,除StarkWare 之外,其他的L2 項目,包括zkSync、Aztec、Loopring、Scroll 等都採用的是SNARKs 技術路線。

究其原因,在於STARK 的開發難度過大,目前只有StarkWare 有能力進行自研,但其好處也十分明顯,相較於SNARK,其可承載的運算量也會更大,在運行大型數據時,其安全性會更高,比如游戲、社交、NFT 等方向。

其次,STARK 路線具備抗量子攻擊的特性,這在未來十年具備顛覆行業格局能力的可能,比特幣採用的ECC 算法並不能完全具備抗量子破解的可能,如果加入zk-STARKs 技術,其安全性會顯著提高。

可以總結以太坊L2 的格局,短期Optimistic Rollup,5 年後zk-SNARKs 路線,10 年後zk-STARK 路線終將會勝出。

ZK-Rollup:數據的上探,信息的下鑽

介紹完zk-STARKs 之後,L2 擴容的全部技術特徵便已完備,只缺少對Rollup 的介紹,實際上,Rollup 利用的是ZK 的驗證機制,而擺脫其對數據量的需求:在L1 負責共識和結算的前提下,由L2 負責應用的具體日常運營,用戶不需要和L1 直接交互,其體驗會高度接近於目前的App。

更進一步的說,Rollup 在完成信息的打包後,會將驗證後的信息加密成知識,隨後傳遞給L1,以攻破安全性、去中心化和擴展性的不可能三角。

總結

我們從百萬富翁問題出發,由MPC 問題過渡到零知識證明領域,出於經濟原因,交互式的零知識證明不完全適用於鏈上活動,而非交互零知識證明逐漸成為主流。

隨著Zcash 的發展,SNARKs 技術日漸應用到其中,使ZK 技術從單純的密碼學研究對像變身為區塊鏈領域中使用的工程手段,在隱私、安全、效率方面發揮自己的作用。

以太坊擴容場景,則使ZK 成就了L2,Rollup 技術路線戰勝其他競爭對手,zk-STARKs 也逐漸發展起來,有望激活挖礦、GameFi、NFT 等更為普遍的使用場景。

在以太坊之外,越來越多的新模式已經逐步湧現,比如可定制模塊化Rollup 路線,又如剛完成1500 萬美元融資的Eclipse,其路線圖會支持Move 語言和Solona 網絡,以及完成3000 萬美元融資的Scroll,其希望建立EVM 等效的ZK-Rollup。

新故事背後的驅動力是對ZK 技術的認可,廣泛來說,ZK 是一個「大而全,長而遠」的領域,大額融資消息的不斷傳出也說明市場對其接受度在逐步走高,但總體而言,這還是一個新領域,即使僅論其技術路線,也有「內捲」的流派,而其中的投資機會則長期存在,無論是內嵌入底層基礎設施,還是落地於具體應用場景,需要我們不斷去發掘。

Total
0
Shares
Related Posts