零知證明與zkEVM:從何而來,去往何處?

原文作者:Roy, Lyv

原文來源:Aki Labs

在當下火熱的zk-Rollup賽道背後,我們一直希望能夠梳理這一區塊鏈最前沿技術為何應運而生,不同團隊解決方案大大小小的差異,以及這些差異最後可能會為我們帶來一個個如何截然不同的生態。

一、零知證明

首先我們需要明確,零知證明(ZKP)真的很難。

如果我們用幾句話簡單概括ZKP的話,一定會產生理解與事實上的偏差。但是我們相信在TL;DR的巨大魅力面前,大家都不會過於在意的。下面就讓我們以實際生活為背景,描述三個場景的遞進,來形像地理解ZKP的原理。

場景A:

想像一個暑假結束開學了,老師檢查《暑假生活》的場景,全班同學交上來一摞厚厚的大本子。老師是不可能一道題一道題批改的,於是他開始快速翻動眼前的練習冊,以作業本上有沒有留空白來檢查學生是不是把每道題都寫了。

在這個場景下老師並不知道每道題學生是否答題正確,只是他能確定學生有沒有完成作業。

場景B:

他發現有一些同學在空白處填上意義不明的內容如和路雪棒棒冰、肯德基瘋狂星期四等等,他才意識到自己是過於天真了——學生們偷姦耍滑。於是他把作業全部打回去,宣布自己將要抽查部分題目,希望同學們認真對待。

在這個場景下老師通過隨機抽查驗證非常小部分的題目以確定學生有沒有正確地完成作業。

場景C:

老師再把作業收上來檢查後,大部分同學因為懼怕抽查好好完成了作業,老師表示比較滿意。然而總有一些人繼續偷姦耍滑,他們會在隨機少量題目下瞎寫。而老師只能隨機抽查部分題目,若不是部分人運氣不好恰好撞上被抽查那道題,又險些被他們混過去。

所以老師最終還是需要一個方案,既能保證學生每道題都正確完成了,還可以盡可能降低自己的工作量。

這就是目前區塊鏈中零知證明真正克服的困難:如何在驗證盡量少的題目的同時,保證答案整體的正確性。在以上的場景中,每道題的答案之間並沒有任何的邏輯聯繫,即這一道題的正確與否與另外一道題的正確與否無關。所以,是否有一種巧妙的方式,讓老師在抽查一道題並判斷正確與否的同時,就能知道學生整本作業是不是全部回答正確的?

那麼,以下是超現實部分:老師想要把所有正確的答案“串”起來,並為此引入了新的數學工具:多項式。通過構造含多項式的等式進行驗證,能夠幾乎同時確認同學們的答案部分個體與整體的正確性。這樣,老師終於可以放心地宣布,同學們正確且完整地完成了暑假作業。

所以多項式是什麼魔法?

在這裡舉一個簡單的例子:作業只有三道題,序號與答案分別是(1,4),(2,6),(3,3),用一個多項式“串”起來得到y=-52×2+192x-3

至此,老師批改作業只需要完成兩個步驟,1)檢查多項式本身,驗證整體是否正確;2)隨機抽一個點以驗證這個同學是不是真的寫了這道題。當然這是一個非常幼稚的例子,在實際的工程中,我們構造的是含多項式的等式,一部分是待驗證某個由數學語言表達的statement,另外一部分則是用多項式串起來的可驗證且完整的信息(聰明的讀者可能已經想到了數據可用性DA這個概念)。

多項式有很多美妙的性質,在零知證明中我們主要利用了其中的兩個:

原有的信息被串起來了,而我們驗證一組多項式等式中的點就可以同時驗證整個等式。

如果一個多項式等式在某些隨機選擇的點上成立,那麼這個等式極大概率是在全集上也成立的。

一句話總結:零知證明的本質是一個概率性證明,即抽查(約等同於有效性證明validity proof),同時通過引入多項式構造以及一些密碼學的工具來彌補簡單隨機抽查在完整性上的缺陷。

有趣的是,在rollup的語境中,零知識證明的“零知”更多的體現在validity proof對於信息的壓縮上,而非直覺上的對每條單個的信息進行隱私處理。

zkEVM

二、所以zkp有什麼用?

我相信你應該聽過ZK-Rollup。我們在前文中花了大量篇幅說明老師是怎麼想辦法在完成檢查作業的前提下偷懶的,而ZK-Rollup做的事情就是偷懶。

簡而言之,比如現在有一千個statements(通常是交易),在ZK的幫助下只需要進行十次驗證即可證明其正確性。隨著證明工作量的增加,其對於驗證次數相應需要的增加量是遠低於一個線性關係的,即增加到一萬個statements,驗證次數並沒有增加到一百次,可能我們只需要十一次即可證明。

所以這是一個很好的擴容方案。類似其他擴容方案一樣(如Optimistic Rollup),現在已經有的ZK-Rollup應用過程如下,:

用戶將資產鎖在某個L1上的ZK-Rollup的智能合約中

用戶開始進行交易,這些交易內容由L2的sequencer進行整理打包,生成一個validity proof(這裡用ZK證明)以及在每個包(batch)裡進行狀態的更新

狀態的更新與證明會被交給L1上的ZK-Rollup智能合約進行驗證,以用來更新L1的狀態

用戶用在L1已經更新的狀態來進行下一步操作。

三、ZK-Rollups vs Optimistic Rollups

作為Rollups的兩個技術路線之一,基於ZK構建的Rollups提供了更高的安全性。因為ZK-Rollups僅依靠數學及以太坊本身提供安全性保證,而Optimistic Rollups在這一方面則依賴於博弈論框架下的經濟學激勵以及懲罰。

對於用戶而言,這意味著ZK-Rollups擁有更快的L1 finality確認,而Optimistic Rollups需要等待一周的挑戰期。當然現在有各類跨鏈協議可以用Defi的手段讓Optimistic Rollups用戶體驗更方便快捷,例如Celer, Stargate, Across, Synapose等。但這往往是通過犧牲一定的整體安全性來換取局部單點用戶的體驗提升,同時這些協議中用戶支付的提款費用也是一般是官方提款渠道的數倍。

雖然ZK Rollups享有相對於OP Rollups這些在理論上的優勢,現狀則是基於ZK-Rollups發展的生態相比於OP Rollups們還遠不夠繁榮,所以用戶很難在ZK生態中獲得與OP中類似的交互體驗,而ZK Rollups也在短期內很難展現出一些在規模化之後才能體現出來的優勢(高並發,低延遲,L1交互安全性等)。

四、那麼zkp的問題在哪?

因為ZKP在理論上達到可用的時間不早於2015年,所以以太坊在設計之初與ZKP並沒有任何關係。從小節一的閱讀,你可能隱隱有一個感覺:這是一個很數學的玩意兒。你的感覺是對的,它帶來的最直接的問題是EVM的核心基礎設施與ZK-Rollup並不兼容,原因包括但不限於以太坊儲存佈局,以太坊的簽名加密機制。以太坊EVM的運算基於正常人的數學世界,而ZKP的計算與證明在素域(Prime Fields)上。 (注:這一條與前面兩條在邏輯上使並列的關係)

而這樣的種種不兼容,一方面給基於ZKP的區塊鏈項目帶來了巨量鏈上計算的額外負擔(overhead);其二,因為需要ZKP在工程學上的實現,算數電路、邏輯門等數學概念的實施複雜度成為一個在編程時不得不考慮的約束,也使得開發者們要在開發學習成本與實現精度兩者之間做一定取捨。

而在應用層面,現有基於ZKP的技術棧(Tech Stack),要么是部署在L1上面的智能合約指向某一個L2的ZK-Rollups(在這裡我管它們叫通用ZK-Rollups),要么是基於Dapp設計的專用ZK-Rollup,比如dYdX V3用的就是ZK-Rollup(本質上是基於Starkware的專用ZK-Rollup)。

不管是哪一種形式,因為數學底層的巨大差異導致了這些ZK Projects和其他項目的可組合性很差。比如在ZK-rollup生態部署的一個Defi協議希望找一個有公信力的預言機,這個場景的需求是真實存在的;然而由於這個協議是基於ZK-Rollup開發的,那麼和其他交互起來就十分困難,例如Etherscan就不能簡單在基於ZKP的區塊鏈上進行fork而直接服務這條鏈。

五、為什麼要和以太坊(或者說是EVM)兼容呢?

因為以太坊生態很大,如果你的鍊和它長得越像,最好就只是Chain ID不一樣,那麼你的生態被一些基於以太坊開發的app支持的概率就越大。比如Polygon一直以來致力於支持以太坊,提供了各種各樣高效又便宜的擴容方案,為用戶和以太坊生態發展作出了很大的貢獻。

用戶(開發者)的方面,熟悉,便宜,無痛轉換才是金標準。而對於絕大多數開發者來說,學一門新的高級語言的學習成本(比如Rust/Move),是遠遠低於學習一門嚴肅的數學課程的(更不要說還要引入ZKP那樣繁複的工程上的實際應用)。因此一個協議項目在一條新公鏈上重新開發的難度,例如Solana/Aptos,遠低於在一條較為陌生的、基於嚴肅精密且複雜的數學邏輯語言的區塊鏈(ZK-based)。

當然並不是說自己搞一套新的標準一定不可行,在強大的開發團隊和適度的經濟激勵下,Solana同樣取得了巨大的成功。在EVM的加持下,Cosmos生態也成功吸引到了大量的solidity開發者前往部署自己的協議。

因此,所以如果ZKP可以和EVM無痛兼容,開發者們會更輕鬆地去移植已有的Dapp和智能合約到ZK-based L2,或者在這一個新的框架下開發全新類型的Dapp。進一步,如果第四小節中提到的可組合性問題也可以得到改善,從而ZK-based projects可以與其他應用有更好的交互,那麼我們會得到一個更繁榮的ZK-based L2生態。這一點上,ZK L2玩家們和Solana, Aptos這些L1玩家底層驅動力是一致的。

六、那麼有沒有辦法讓ZKP和EVM兼容呢?

有的。現在很多團隊就在做這個事情。

6.1 等一下,什麼是EVM?

EVM是以太坊上運行智能合約的虛擬機。

6.2 再等一下,什麼是虛擬機?

一台用軟件模擬出來的幾乎與真實電腦一樣的虛擬電腦。

6.3 那為什麼以太坊需要虛擬機?

因為以太坊引入了智能合約,而執行合約需要一台電腦。在去中心化網絡裡,產生共識的前提是,不同節點對同一合約的計算和處理需要產生相同的結果,即不同計算機去計算1+1(實數域),都應該得到2這個結果。然而每個節點的物理意義上的電腦可能有不同的底層環境,為了避免這些底層環境差異帶來的干擾,所以智能合約需要在虛擬機上運行,以保證相同問題產生相同結果,即確定性。

有很多很多的文章或者推已經總結了這些不同路線在技術上的差異,在此不再贅述,我覺得可能你們也沒有興趣。所以在這裡就聊一聊常識、商業、和更用戶向一點的東西。

第一個問題是我們對生態有什麼樣的期待。

現狀是ZkSync StarkWARE等團隊做了很多Application specific zk-rollups,toB的業務發展得很成熟,例如Immutable在Starkware上已經承載了像Illuvium這樣廣受期待的大型Web3遊戲。然而由於在前面幾段的講過的原因(主要是在可組合性上的缺乏),這些項目依然在等待形成一個共同且共通的生態來抱團發展。

Scroll/ Polygon Hermez/ zkSync Era 在構建ZK-based L2生態做的努力是將開發和現有協議移植的難度降低到幾乎無痛的水平。在實現完全EVM等效(type 2 by vitalik)的這個過程裡,我們目前在實踐中是處於“幾乎”EVM等效(type 3 by vitalik)這個進度。例如zkSync Era就可以使99% 的以太坊項目無需重構或重新審計任何一行代碼即可部署。

zkEVM

對於用戶而言,在交互體驗上如果沒有很大的差異,選擇用哪一條鏈多數時候取決於現在已經在使用哪些鏈。 Polygon在這方面是佔據了一定的優勢,特別是其現有生態中承載了大量的原生遊戲、社交的協議和用戶,以及獨特的Web2品牌露出。

然而我們認為Scroll和zkSync Era在吸引現有協議部署方面在短中期也不會有明顯的掣肘,主要是基於下面幾項我們對開發者生態的長期觀察:

以太坊生態的Dapp在Zk-based L2的部署開發難度在逐步下降到觸發大規模遷徙的拐點

L2toL2,L1toL2的跨鏈協議逐漸走向簡單方便便宜,L2原生定向跨鏈橋也有望興起,雖然中心化的挑戰依然可能長期存在,

從我們熟悉的領域來講,由於有經濟激勵的預期和積極的運營(參考Optimism成功的多輪空投激勵的經驗,Arbitrum的開發者社區運營邏輯等),用戶可以做到對多條鏈的多個協議都一一進行嘗試

第二個問題是如何從中心化到去中心化。

首先要說明的是,目前的絕大部分ZK-Rollups是一個很中心化的結構。其很大的一個原因是路徑依賴:因為目前沒有可組合性,所以就不需要和別人組合,所以中心化暫時也沒有關係。但是如果想發展成一個生態,這個中心化的問題必須解決。

目前主流的ZKEVM方案提供者們共同認識到了解決這個問題的必要性。在這個方面Scroll/ Polygon Hermez/ Zksync Era 認為推進prover網絡和sequencer網絡去中心化的進程應該是逐步漸進式的,最終實現將prover/sequencer的工作通過代幣經濟學達成算力外包和市場化,儘管具體實現步驟各家仍有分歧。

所以我們又回到了熟悉的領域:有錢出錢,有力出力,然後大家等著平台派發分紅。在這裡我們有一個小的concern是生成證明的算力產生的成本其實是很高的,所以prover在zk-based L2中的門檻會遠高於PoS鏈的對應部門;而sequencer出錯塊的問題其實是所有區塊鍊網絡共同的問題,並不獨屬於zk-based L2,。所以我認為在ZK生態中,prover網絡的去中心化可能會面臨更大的挑戰。

七、ZK-based L2生態發展野望

StarkNet:

做為私募估值最高的以太坊ZK擴容解決方案以及zk-STARK的密碼學理論創始人,Starknet所代表的技術流派一直以來是行業的例行標準。創始人Eli Ben-Sassen甚至就是區塊鏈中廣泛應用的zk-SNARKs和ZK-STARKs的發明者。

但我們同時也發現,在很多涉及與以太坊EVM生態融合至關重要的產品配置上,Starknet生態由於技術路徑的原因,還在探索更加開發者友好、面向大眾的解決方案。我們認為將來Starknet團隊可能在商業上會繼續執行兩條腿走路的戰略:

一方面通過成熟的Starknet繼續用定制化開發服務有大規模ZKP需求的項目,比如Web2遊戲廠商的AAA大製作,或者IP持有者進行鏈上元宇宙的大規模試驗

另一方面,通過扶持智能合約錢包(Argent X, Braavos)、Cario x Solidity開發者中間件橋樑(Kakarot, Wrap)等方式,增強和以太坊生態整體的協同能力。

與OP-Rollups需要和以太坊主網一起通過EIP-4337建立智能合約錢包的方式不同,Starknet從一開始在L2上就支持基於賬戶抽象的智能合約錢包。 Starknet上部署的智能合約錢包可以在利用手機內置芯片的加密安全能力實現硬件簽名器和多重認證,並通過區塊鏈合約層面的創新完成社交恢復、移動錢包支付等場景。

屆時,我們似乎可以想像一家大型的移動硬件公司,攜帶海量Web2用戶,以元宇宙或者大型鏈上游戲作為入口進場Starknet及Web3的盛況。

zkSync Era:

近期剛推出zkEVM 2.0版本的zkSync也是最受期待的zk L2解決方案之一,主打極高的性能天花板,兼顧安全與用戶體驗,最高TPS潛力可達20,000+。最新的zkSync Era利用基LLVM的Solidity編譯器,zkSync自創、屢獲殊榮的GPU證明器,以及Matter Labs即將推出的Redshift證明系統,將會把每筆交易的費用降低至遠小於1美分。

zkSync Era也致力於降低區塊鏈數據存儲的問題,在EIP-4844之上還提供了創新的zkPorter功能,允許用戶和開發人員依據不同的安全級別需求選擇數據可用性格式,在具有無縫互操作性的高性能的validium(zkPorter)和高安全性的validity(zk-Rollup)之間平衡開發重心。

另外,zkSync Era引入了Hyperchains的分形擴容方案作為其“L3”的主要發展方向。 Hyperchains是利用LLVM(LLVM是世界上最成熟的編譯器堆迭架構)的zkEVM類似分形的實例,可在L1上實現並行運行及共同結算。任何人都可以在無需許可的情況下部署Hyperchains,它具有高度可定制的模塊化zkEVM鏈堆棧,並由與主zkSync L2完全相同的zkEVM引擎提供支持。開發人員可以選定的不同解決路線,選擇相應的虛擬機(例如MoveVM)、定序器設計以及數據可用性(如上文中提到的zkRollup、zkPorter和zkValidium)。

zkSync Era推出如此高度可定制模塊化的堆棧,讓我們不得不聯想到近期藉由Coinbase旗下Base鏈進入大眾視野的OP stack。

我們認為zkSync的B端發展路徑或許可以參考Optimism的經驗,即利用現有的大規模用戶、強大的機構支持者背景,與開發者社區建立良性循環的空投預期和促進生態發展的治理機制(Token House、RetroPGF等)。這樣既可促進超越基建設施的創新應用,又能夠鼓勵現有協議(比如L1上的傳統DeFi藍籌們)的最新版本前來Era部署。

從C端來講,zkSync Era可能可以從目前以太坊L2還不太強的Web3社交出發,著力打造以太坊系統內的最強的社交網絡、社交圖譜等應用來吸引更多的輕量Web3用戶。我們注意到Hyperchains還有一項很適合運用於社交協議的創新。還可以用來實現高並發、短暫的執行環境。例如,開發者可以啟動一個Rollup來廉價地鑄造數百萬個社交網絡內的同質化NFT資產,然後將這些NFT橋接到另一個執行層,最後關閉臨時的Rollup,為社交協議提供必要的基礎設施容量彈性。

Polygon zkEVM:

Polygon生態的大戰略一直就非常清晰,團隊也執行地非常堅決。我們看到Polygon和其他以太坊Rollup之間已經形成了差異化競爭。在社交生態上,Polygon憑藉Lens Protocol生態和Galxe已經成為並肩BNB的Web3社交兩巨頭之一。而Planet IX, Hunters On-Chain,Benji Bananas等打金遊戲也都擁有數十萬的月度活躍錢包地址數。最近Polygon zkEVM也和Immutable在2023 GDC大會上宣布了戰略合作夥伴關係,以更好服務工作室和開發商更容易打造高質量的鏈上游戲。根據Cumbeland的報告,Polygon在非加密夥伴方面有望在短中期內達到每年3億美元的收入,是目前每天幾萬美元氣費收入的十倍以上。

最特別的是,Polygon通過和大量區塊鏈行業之外的品牌合作,已經成為了Web3在傳統行業的形像大使。通過和星巴克奧德賽活動的承辦商Forum3的緊密合作,Polygon有望能在近一年中迎來2700萬幾乎全新的北美區塊鏈用戶,這些增量對於行業存量來說是巨震級別的。 Polygon最近還加入了迪士尼的加速器計劃,融入stripe的全球支付系統,支持Reddit的表情包NFT系統,以及和Adobe, 耐克、阿迪達斯,梅賽德斯奔馳,萬事達卡,可口可樂等世界知名品牌達成商業合作。

我們認為Polygon zkEVM (Hermez),可以繼承整個Polygon生態在傳統領域的強大競爭力,通過zkEVM L2和以太坊生態實現更完整的結合,讓Web2品牌也能享受到以太坊L1帶來的資產安全性溢價。我們看好遊戲和社交兩大賽道持續在Polygon生態中快速成長。

Scroll:

作為最年輕的以太坊zk L2解決方案,Scroll也許是和以太坊基金會走得最近的一個開發團隊,匯集了最新最強大的零知證明團隊之一。 Scroll正以實施技術能力和迭代速度為基礎,正奮力追趕其他zk-based rollups的開發進度。

Scroll在prover網絡和sequencer的去中心化設計中走在前沿,特別是已經提出了使用GPU/ASIC提升算力再來分散化驗證網絡的解決方案。 Scroll的EVM在理論上,相對於zkSync Era和Starkware有更高的代碼兼容性天花板,這意味著開發者不需要再去相信新的虛擬機和編譯器(例如zkSync的LLVM),也可以規避執行交易過程中藉助一段中間的代碼來實現EVM兼容帶來的風險(Polygon zkEVM目前的方案特徵)。

Scroll的團隊從第一天開始,就在和以太坊核心活動深度綁定,打造自己的品牌知名度和基礎設施套件,比如預言機、錢包等。雖然所有以太坊L1, 甚至L2的協議開發都在理論上可以快速部署到Scroll,我們認為Scroll最大的機會還在在於捕捉DeFi的皇冠明珠:去中心化的中央限價訂單簿交易所(CLOB)。 Scroll強大的性能潛力,配合以太坊主網大量流動性尋求安全高效的交易環境的急切需求,可能可以帶來這類dex協議的爆發。我們另外注意到如Lens Protocol等Web3項目也開始嘗試在Scroll上部署,我們期待更多類似的好消息。

聲明:本內容為作者獨立觀點,不代表0x财经 立場,且不構成投資建議,請謹慎對待,如需報導或加入交流群,請聯繫微信:VOICE-V。

來源:akiprotocol.io

Total
0
Shares
Related Posts