menu-icon
anue logo
鉅樂部鉅亨號鉅亨買幣
search icon
區塊鏈

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

BlockBeats 律動財經 2022-09-29 19:30

cover image of news article
律動財經圖片

加密世界的焦點經歷了比特幣以太坊、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 是一個「大而全,長而遠」的領域,大額融資消息的不斷傳出也說明市場對其接受度在逐步走高,但總體而言,這還是一個新領域,即使僅論其技術路線,也有「內卷」的流派,而其中的投資機會則長期存在,無論是內嵌入底層基礎設施,還是落地於具體應用場景,需要我們不斷去發掘。

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠






Empty