zkEVM Rollup:從技術的憧憬到項目的落差

發表於 2023-07-07 14:45 作者: THU學生區塊鏈

爲了解決區塊鏈Layer 1網絡的擴容問題,Rollup方案應運而生。結合ZK技術,ZK Rollup成爲Layer 2賽道的新寵兒。然而,對於大多數人來說,ZK、Rollup和EVM等相關概念可能有一定的理解門檻。因此,本份研報的目標是以簡明易懂的語言爲你系統梳理zkEVM Rollup的一系列概念,深入分析zkEVM Rollup技術的演變和發展現狀,並對其中的主要生態項目進行詳細解讀,以此旨在幫助你全面深入了解和判斷zkEVM Rollup賽道發展趨勢。

PART 1 理解ZK

ZK(或是ZKP),全稱Zero-Knowledge Proof,即零知識證明,在密碼學中,零知識證明或零知識協議是一種方法,通過該方法,一方(證明者)可以向另一方(驗證者)證明一個事實,而無需透露該事實的具體信息,也就是說一方(證明者)無需透露任何該事實的「具體信息」,便能讓對方知道這個事實是否正確,因此 ZK 技術能夠在隱私保護領域爲我們帶來諸多想象空間。

當然,ZK技術除了能夠帶來隱私保護的好處,在ZK Rollup中,ZK技術更重要是解決“驗證難”的問題。“驗證”這個過程對於區塊鏈非常重要,Ethereum中絕大部分的計算過程都是爲了滿足驗證的要求,而ZK Rollup能大大整個節點網絡投入在驗證中的時間。舉例,如果一個區塊需要很長時間來驗證區塊生成時是否滿足整個網絡的規則,那么可以有一個證明者初次驗證它並生成有關這個區塊計算結果的“證明”,剩下的其他人可以通過快速驗證這個“證明”而不是計算量極大的原區塊,而達到驗證區塊的目的。

一個簡單的ZK協議分爲以下幾個步驟,生成密鑰、證明和驗證,接下來我將逐一爲你拆解。

01 生成密鑰,證明和驗證

在ZK中,我們需要首先將待驗證的問題轉化爲數學表達式,進而轉化爲多項式,並將其表示爲算數電路的形式。當程序轉換爲算術電路時,它被分解爲由加法、減法等基本算術運算組成的單個步驟。如一個將作爲輸出的函數,可以轉化爲以下電路圖,見圖 1。

圖 1 一個電路圖的示例,可以注意到在電路中所有的運算被拆分爲最簡單的基本運算| 圖源https://zhuanlan.zhihu.com/p/487866576

使用這個電路和一些隨機數作爲輸入,我們可以生成一個證明密鑰(pk,proving key)和驗證密鑰(vk,verification key),用於後續的驗證過程,示意圖見圖 2。

圖 2 “公共參數”的生成

我們的證明系統還需要兩種類型的輸入——私有輸入和公开輸入,與證明密鑰一起生成證明。其中,私有輸入(witness)是我們想要隱藏的祕密,而公开輸入是可以公开的信息。例如,在等式X+Y*Z=OUT中,X和OUT是公开輸入,而Y和Z的值則是我們不想向驗證者公开的。雖然根據公开輸入可以推出Y*Z的值,但是Y和Z的具體取值仍然無法確定。

圖 3 ZK-SNARKs的證明過程和驗證過程

當驗證方接收到證明後,使用公开輸入、證明和驗證密鑰來驗證該證明,並返回驗證結果(即是否驗證成功)。

明白了上述流程之後,我們可以將這種技術運用到區塊的驗證當中,實現一個小小的ZK-SNARK,見圖 3。實現零知識證明的協議和方式有很多,SNARK是相較比較容易理解的一種,也是現階段多數項目的選擇。在“從ZK-SNARKs到ZK-STARKs”這個段落中我們會談到SNARK的優勢和不足。

02 嘗試一個小小的SNARK

我們以一個記錄账戶狀態的 Merkle Tree 的零知識證明爲例來練習。該 Merkle Tree 記錄了账戶的地址和余額。當有新的交易需要更新 Merkle Tree 時,我們需要執行以下操作:

1) 驗證交易的發送方和接收方是否在樹的葉子節點上。

2) 驗證發送方的籤名。

3) 更新發送方和接收方的余額。

4) 更新 Merkle Tree 的根節點(即 Merkle Root),並將其作爲最終輸出。

在沒有零知識證明的情況下,驗證者需要重復這些步驟來確保計算的准確性。但是使用零知識證明後,情況就不同了。首先,我們需要確定兩種類型的輸入:

在該過程中,只有新的交易信息、原 Merkle Root 和更新後的 Merkle Root 是公开輸入。

Merkle Tree 本身作爲 witness(見證),不需要被驗證者讀取或處理。

其次,我們需要生成密鑰和計算電路。我們將 Merkle Tree 更新、輸入輸出地址驗證等計算過程構建成計算電路,以獲得證明密鑰和驗證密鑰。該電路與輸入的交易信息無關,也與現有的 Merkle Root 無關,因爲 Merkle Tree 的計算方式是固定的。

在生成證明的階段,我們將前後兩個 Merkle Tree 和交易信息作爲輸入。在驗證者階段,驗證者可以不需要獲取到Merkle Tree,也就是不了解账戶信息的情況下,確保更新情況的可靠性。該電路類似於一個穩固的黑盒,只要輸入正確,就能獲得正確的輸出。

使用零知識證明,其他驗證者可以快速驗證 Merkle Tree 的生成過程是可信的,從而減少了網絡上重復驗證的時間,同時Merkle Tree的信息無需向驗證者披露。

03 從ZK-SNARKs到ZK-STARKs

上述講的證明協議是ZK-SNARKs。SNARK代表succinct non-interactive arguments of knowledge,其中succinct指的是這種方式的簡潔性,non-interactive指的是相對於其他證明方式,SNARKs是非交互性質的證明,即驗證者只需使用由證明者生成的proof即可獲得驗證結果。但是,ZK-SNARKs存在一些問題。在密鑰生成階段,電路和隨機數相當於一組初始的公共參數,這個公共參數的生成過程存在不可避免的中心化問題。

ZK-STARKs在SNARK的基礎上另闢蹊徑,其中的“s”代表可擴展的,其證明生成時間和原始計算的耗時呈擬线性關系,而驗證耗時和原始計算呈對數關系,這意味着在大量數據集作爲數據的情況下,驗證者所需的驗證時間被大大縮短。

同時,作爲ZK-SNARKs的升級版,ZK-STARKs不僅僅可以提高驗證效率(理論效率爲10倍),而且不依賴橢圓曲线或可信設置,並且不需要生成初始公共參數的過程(字母“T”代表透明性),這消除了對可信設置的中心化需求。一些开發者認爲,ZK-STARK中的哈希函數有助於抵御量子攻擊。

然而,ZK-STARKs的推出時間較晚,目前技術還不夠成熟,並且依賴哈希函數,這限制了它的通用性,ZK-SNARKs仍然是通用的證明算法。基於STARK的算法的一些示例包括Fractal、SuperSonic等,相關項目方有StarkWare、Polygon Miden等。

PART 2 理解Rollup

除了ZK,另一個我們需要了解的概念是Rollup,Rollup 的意義在於解決一層網絡的擁堵問題。

以Ethereum爲例,它當前存在着交易擁堵的問題。解決這個問題有兩種方法:一種是增加區塊鏈本身的交易能力,例如通過分片等技術來擴展區塊鏈的吞吐量。另一種方法是改變區塊鏈的使用方式,即在二層(Layer2,下稱L2)中執行大部分活動,而不是直接在鏈上執行。在這種情況下,鏈上往往會部署一個智能合約,它只負責處理存款和取款,並使用各種方法來讀取鏈下數據,以驗證鏈下發生的一切是否符合規則。這相當於在小路旁架設高速公路,即通過L2擴容來解決擁堵問題。

當前,L2擴容的三種主要類型或方案是state-channels、Plasma和Rollup。它們是三種不同的範式,各有優點和缺點。所有L2擴展大致都可以歸爲這三個類別(盡管命名存在部分爭議,例如validium),其中,Rollup具有自己的優勢所在。

Rollup和數據可用性

相比於其他擴容方案,Rollup具有一定的優越性,其中一個比較直觀的優勢是解決了Plasma數據可用性的問題(Darren老師文章“數據可用性”這個章節中曾提到),這裏我也將做一定的補充。

數據在鏈上這一事實十分重要(注意:將數據“放在IPFS上”是行不通的,因爲IPFS不提供共識層面的驗證,無法保證給定數據是否可用,即數據必須存儲在區塊中)。在Plasma以及之前的Channel這兩種擴容方案中,數據和計算完全放到二層網絡中,當二層網絡和以太坊進行交互時,二層鏈上所有交易數據並不包含在內,從狀態機的視角來看,也就是沒有包含Plasma鏈每一次狀態變更的情況。這會導致以太坊如果脫離了Plasma等的二層網絡,就無法復原之前狀態變更的情況,因此以太坊數據可用性非常依賴對Plasma數據的保護。

Rollup的機制

爲了保證數據可用性,因此市場選擇了Rollup,那么Rollup具體是如何工作的?

圖 4 L1合約中的State Root | 圖源https://vitalik.ca/general/2021/01/05/rollup.html

在Rollup的設計中,主鏈上有一個Rollup contract的合約,其中保存了一個狀態根(state root)。可以把這個狀態根看作是Merkle Tree的Merkle根的升級版,它存儲了账戶余額(即狀態的一種)、合約代碼等信息,圖 4展現了Rollup contract中存儲的狀態根。

L2節點主要有三個功能:首先確定哪些交易應該優先被打包(通常該類節點或客戶端被稱爲定序器Sequencer),其次需要對每個打包的數據給出證明,最後提交給L1上的Rollup contract由該合約進行驗證。圖 5展現了L2中定序器的作用。

圖 5 定序,證明和提交Batch是L2階段的主要功能 |圖源https://foresightnews.pro/article/detail/20517

具體來說,L2可以將一批數據(batch)傳遞給L1,這些數據可以是高度壓縮的交易集合或合約運行後的狀態變化情況,同時還包括L1合約中存儲的狀態根(state root)以及經過L2處理數據後得到的新的後狀態根(post-state root)。合約根據這些數據來驗證後狀態根的正確性。一旦驗證通過,該批數據就會在L1層確認,完成了從L2到L1的上鏈過程。

後狀態根(post-state root)是根據原始數據計算得出的,爲了確保提交的數據中的新後狀態根是正確的,最直接的方法是讓L1重新計算一次。然而,這樣做無疑會給L1帶來巨大的壓力。爲了解決這個關鍵問題,存在兩種完全不同的優化方案,即Optimistic Rollup和 ZK Rollup。

ZK Rollup和Optimistic Rollup

ZK Rollup使用諸如ZK-SNARKs或ZK-STARKs等加密協議證明,通過這些證明來驗證執行該批次後狀態根(post-state root)的正確性。不論L2的計算量有多大,ZK Rollup能夠快速在L1上鏈上進行驗證。

另一種證明方式是Optimistic Rollup,它使用欺詐證明。這裏有個形象的比喻,這就好比媽媽不經常檢查兒子的作業,但只要有一次作業沒有完成,就會嚴厲懲罰。在這種機制下,Rollup合約跟蹤狀態根的完整歷史和每個批次的哈希值。如果有人發現某個批次的後狀態根不正確,他們可以發布一個證明,證明該批次計算不正確。其他節點一起驗證該證明,並恢復該批次及其後續的所有批次。

圖 6總結了Optimistic Rollup和ZK Rollup的優劣勢對比。在這裏需要注意的是,ZK Rollup在TPS方面表現出色,並且在退款周期方面具有顯著優勢。然而,它的劣勢在於EVM兼容性和L2層的計算消耗:

1) Optimistic Rollup項目,如Optimism和Arbitrum,分別使用OVM和AVM,它們的虛擬環境與EVM基本相同,因此可以直接將L1層的合約遷移到L2上進行部署。然而,在ZK Rollup中,將ZK-SNARK用於證明通用的EVM執行是相當困難的,因爲EVM並不是按照ZK證明計算的數學需求來开發的,所以需要改造某一類的EVM客戶端,以利用ZK技術來驗證交易和合約運行。

2) 同時,即使經過相應的轉化,ZK運算仍然需要大量的算力投入,因此在L2層的效率上ZK Rollup不及Optimistic Rollup。

3) ZK Rollup提供了比Optimistic Rollup更好的數據壓縮功能,因此能夠在L1上提交更小的數據。

4) 由於ZK中的證明驗證過程更快捷,且具有更高的批處理密度,在L1層的計算消耗上ZK Rollup較低。可以理解爲L2上的節點付出大大減輕了對L1節點的要求,從而顯著提升了L1層的可擴展性。

圖6 兩種rollup方式的比較 | 圖源:https://tokeninsight.medium.com/zksync-vs-starkware-whats-the-difference-between-the-top-two-zk-rollup-66d1a7d08ef3

ZK Rollup 還是 zkEVM Rollup?

雖然ZK Rollup看起來很有吸引力,但在實際部署中存在諸多困難。目前,ZK Rollup仍然具有相當大的局限性,而Optimistic Rollup仍然是主流方案。大多數已實現的ZK Rollup也都是爲某些特定應用程序定制的。

如何理解定制化的ZK Rollup?开發者爲不同DApp構建專用電路(“ASIC”),如Loopring、StarkEx rollup和 zkSync 1.0,它們支持特定類型的支付、Token交換或者是NFT鑄造,然而,它們的電路設計需要高度的技術知識,這導致了开發者體驗的不佳。以特定類型的支付數據爲例子,節點將交易數據提交給定序器,由定序器打包成batch交給提驗證(proof)的節點作爲公开的輸入,證明過程和虛擬機上的合約執行過程無關,ZK只是負責將某個特定的執行結果的rollup計算、壓縮過程進行進行證明。

而zkEVM Rollup又代表了將虛擬機運行結果Rollup的能力。當在L2層運行通用的智能合約,需要證明合約運行前後狀態轉換的有效性時,便需要有一個虛擬環境能夠支撐ZK算法的運行。因此,運行合約,輸出最終狀態,證明合約執行過程的有效性,並將交易記錄,账戶記錄,狀態變化記錄數據一同rollup提交,這便是zkEVM的意義。而L1層只需要快速驗證證明,开銷較小,無需再次運行合約,圖 7生動的說明了zkVM的作用。需要注意的是,zkEVM其實是運行在L2層的類EVM虛擬機器,因此更爲精確的說法是Zero Knowledge Virtual Machine,zkVM,只不過大家強調其兼容以太坊而稱之爲zkEVM。

圖7 一圖說明zkVM | 圖源https://mp.weixin.qq.com/s/i9O0vpHnkHFwVBPjNeqMUQ

現有項目也在考慮逐漸放棄了爲特定應用程序做優化,而升級轉向支持運行通用合約即zkEVM Rollup。因此,zkEVM Rollup雖然作爲ZK Rollup的下位概念,在大部分情況下,提起ZK Rollup時便指zkEVM rollup。

PART 4 zkEVM Rollup項目概覽

2023年上半年各類zkEVM項目噴井式而出,筆者在關注這些項目的時候主要關注以下方面:

1. 當前項目進展:包括當前項目階段,以及測試網、主網預計上线時間,是否和發展路线圖有一致性。

2. 項目實際交互情況:通過與測試(主)網的交互等,主觀感受網絡TPS,單筆交易確認時間等,對網絡性能有直觀感受。

3. zkEVM兼容性:這是最爲核心的技術點也是最難評判的,即便部分項目开源,在VM層面的技術最爲硬核,且涉及到較多的ZK協議。具體的,需要關注ZK協議、VM安全性、兼容程度等。

4. zkEVM Rollup架構:相對於zkEVM,一般項目都會在白皮書等技術文檔中公开其Rollup架構,且總體差異性較少,但是要關注其整體去中心化程度。

5. 生態運營:項目用戶數量、活躍程度、鏈上應用生態的運營和孵化情況以及开發者社區的維護等軟性反應項目運營的情況的指標。

6. 投融資情況。

本文更多的從前四點角度來對項目進行考量,更多地從技術層面關注zkEVM Rollup的整體架構。

Scroll

Scroll團隊創立於2021年,致力於开發EVM等效的ZK Rollup用於擴展以太坊,近兩年來,Scroll一直致力於與Privacy and Scaling Explorations團隊以及其他开源貢獻者一起公开構建與字節碼兼容的zkEVM。2月底Scroll宣布其Alpha測試網現已在Goerli上线,任何用戶無需許可都能夠參與技術測試,測試網平均出塊時間爲3秒,現已經有2千多萬筆交易,150多萬的區塊和400萬余的交互地址。同時Scroll也於4月11日开放了網站生態系統界面。

從近期信息披露來看,Scroll在類型二EVM等效的道路上不斷向前。近期,Scroll已經完成了所有EVM操作碼的兼容开發工作,正在進行審計工作,同時下個目標是兼容EIP2718交易。

技術架構上,Scroll的架構較爲傳統,因此在這裏詳細介紹。如圖8,主要分爲兩個部分:核心部分是zkEVM,用於證明EVM在L2執行的正確性;但是要將zkEVM變成以太坊上完整的ZK Rollup,還需要圍繞zkEVM構建一個完整的L2架構。具體的,現有的Scroll Alpha testnet由Scroll Node、Bridge Contract和Rollup Contract組成:

圖 8 Scroll rollup整體架構 | 來源 https://scroll.io/blog/architecture

1. Scroll Node:由Sequencer、Relayer和Coordinator組成。

a) Sequencer,也就是所謂的定序器,向用戶和應用开放JSON-RPC,讀取交易池中的交易並生成L2的區塊和狀態根。現階段Scroll的Sequencer節點是中心化的,在之後的升級中會逐漸去中心化。

b) Coordinator負責在Roller和Scroll Node之間進行通訊,當有新的區塊在Sequencer中生成的時候,隨機選擇池中的Roller進行證明生成。

c) Relayer監測Ethereum和Scroll鏈上的Bridge Contract和Rollup Contract。Rollup Contract保證L2數據在L1層面的數據可用性,確保在L1層可以恢復L2區塊,一旦L2層提交的區塊經過L1層上Rollup Contract的有效性驗證,那么該區塊在L2才達成終局性的不可更改的狀態。Bridge Contract在跨鏈時負責在雙鏈合約之間通信,雙向發送任意消息或是完成跨鏈時資產質押和提取操作。

圖9 2. Roller Network | 來源 https://scroll.io/blog/architecture

1. Roller Network:Roller內置zkEVM,在網絡中充當證明者,負責爲ZK Rollup生成有效性證明,見圖 9。

a) Roller首先將從Coordinator接收到的execution trace(也就是合約具體做了哪些操作,涉及哪些地址)轉換爲電路的witnesses。

b) 它爲每個 zkEVM 電路生成證明,最後聚合這些來自多個ZK電路的證明。

StarkWare

StarkWare提供了一種基於STARK的擴展解決方案,以確保L2的安全性、快速性和無縫用戶體驗。他們支持多種數據可用性模式。StarkNet是他們的L2網絡,而StarkEx則是面向企業用戶的Rollup驗證服務,DApp可以構建在StarkEx服務之上。然而,目前只能針對特定的DApp進行定制化的電路編寫,而不是通用的zkEVM Rollup。StarkEx支持一系列即插即用的服務,包括NFT鑄造和交易、衍生品交易等。在生態方面,去中心化期貨合約交易平台DYDX是StarkWare的忠實用戶。

StarkNet,嚴格來講是zkVM,它沒有針對以太坊操作碼做ZK電路,而是自己做了一套更加ZK友好的匯編語言、AIR(代數中間表示)以及高級語言Cairo。盡管StarkNet本身不兼容EVM,但仍然可以通過包括Kakarot(Kakarot是一個用Cairo寫的zkEVM,是一個字節碼等效EVM的zkEVM)等其他方式兼容以太坊。根據個人理解,StarkNet相對來說還是一個中心化的項目,其中一點是其無法隨着以太坊的安全性升級而同步,因此需要集中研發人員補足安全性上的短板,並跟隨ETH开發適配新的協議。

StarkNet使用的STARK作爲其證明系統,相對於SNARK,STARK具有更多創新。它不需要和 SNARK 那樣依賴“可信設置”。並且,它還帶有更簡單的密碼學假設,避免了對橢圓曲线、配對和指數知識假設的需要,純粹依賴哈希和信息論,因此更能抵御量子攻擊。總體而言,STARK比SNARK更安全。在拓展能力方面,STARK邊際效應顯著,證明越大,總成本越低。

然而,在架構方面,目前系統中只有一個Sequencer(定序器),由StarkWare控制,並且只有一個Prover(也就是生成ZK Proof的證明者),它不僅爲StarkNet生成證明,還爲運行在他們自己的StarkEx rollup上的所有其他應用程序生成證明。

ZK Rollup的變體:Validiums和Volitions

Validium也是一種L2級別擴展解決方案,它使用諸如ZK Rollup之類的計算證明來強制執行交易過程的完整性。和ZK Rollup不同的是,Validium不會將交易數據存儲在以太坊主網上。犧牲鏈上數據可用性是一種權衡取舍,它可以帶來可擴展性的巨大改進,最直接的點便是Validiums每秒可以處理約9000筆交易。

但是在筆者眼中Validium不能算嚴格的ZK Rollup。這個方案和Plasma類似,都沒有做到L1層的數據可用性,因此都不能算作Rollup。和Plasma的區別在於Plasma在L2層中設置了類似於OP Rollup的“七天退出機制”,而Validium利用了和ZK手段來縮短L2層對數據的驗證時間且不把數據同步到L1中。

Volition由StarkWare率先推出,可讓用戶輕松地在ZK Rollup和Validium之間切換。例如一些應用程序,比如去中心化衍生品交易所可能更適合Validium,同時仍希望與ZK Rollup上的應用程序可互操作,那么Volition便提供了這種可切換性。

zkSync

與StarkNet類似,zkSync一直堅持選擇高級語言等效的zkVM,並且備受矚目,擁有相當高的熱度和鎖倉量。zkSync 1.0(zkSync Lite)於2020年6月15日在以太坊主網上啓動,實現了約300 TPS的交易吞吐量,但不兼容EVM。而zkSync 2.0(zkSync Era)於2023年3月24日啓動。

zkSync Era的目標是通過使用他們自定義的 VM進行優化,而不是追求EVM等效性,從而更快地生成證明。它通過強大的LLVM編譯器支持Solidity、Vyper、Yul和Zinc(rollup的內部編程語言),以此來實現大部分智能合約功能。由於採用了自研 VM,zkSync Era支持原生账號抽象,使得任何账戶都可以用任何 Token 支付費用。

此外,通過zkPorter協議的應用,結合了ZK Rollups和分片技術,網絡吞吐量得到了指數級增長,達到20,000+ TPS(類似於Volitions的數據可用性切換)。

總體而言,zkSync是一個生態豐富的L2項目,備受开發者和投資者關注。盡管近期出現了一些zkSync上徹底失敗的項目案例,但仍然存在一個問題,即开發者是否能在高級語言等效的zkVM上獲得良好的开發和遷移體驗。目前缺乏开發者層面的確切使用報告,如果开發者有良好的體驗,那么其他類型的努力貼近EVM的zkVM又有何意義呢?我們還需要更多時間來觀察。

Polygon zkEVM

Polygon 於3月27日啓動zkEVM Rollup主網絡的Beta版,也是以太坊等效的虛擬機,並开源所有zkEVM代碼。相較於zkSync,polygon zkEVM的鎖倉量就小很多,但是在生態中也有很多比較有趣且有活力的項目。

在Rollup設計方面,Polygon與Scroll不同之處在於使用了效率證明(PoE)模型來激勵排序器(Sequencer)和聚合器(Aggregator),以解決去中心化和無許可驗證器的一些挑战。在無需許可的排序器-聚合器兩步模型中,任何排序器都可以提出打包批次的申請,以獲得打包費用,但需要支付L1層的Gas費用並存入一定數量的 Token;同時,聚合器需要設定自己的目標,以最大化保證每次證明生成的利潤。此外,Polygon與Volition(ZK Rollup和Validium)模式還具有深度兼容的數據可用性模型,來爲用戶提供不同層次的服務。

另外,Polygon在ZK協議方面也投入了相當的工作量,效果也是顯著的,在文檔中他們總結自己的技術優勢,主要包括以下幾點:

1) 更加兼容:Polygon始終堅持採用EVM等效的zkVM,以降低开發者遷移dApp的成本。同時,盡管Polygon Miden採用了ZK-STARK協議,但仍支持運行Solidity合約。

2) 更容易的驗證:ZK Rollup經常受到批評的原因是生成有效性證明需要昂貴的專用硬件,廠商運行這些硬件並將成本轉嫁給用戶。Polygon ZK Rollup(如Polygon Zero)旨在簡化證明方案,使得更低級的設備可以參與其中,例如,在消費級PC上進行的Plonky2證明生成測試。

3) 更快的證明生成和驗證過程:Polygon Zero可以在170毫秒內生成一個45kb的證明。

PART 5 理論技術和現實項目之鴻溝

本份研報主要進行了ZK技術的科普,Rollup機制的介紹,重點強調了數據可用性的重要性,並在ZK 還是zkEVM Rollup的問題上做了一定的界別。此外,在區分zkVM和zkEVM的基礎上,同時還詳細梳理了zkEVM三種類型的區別以及圍繞着不同類型以及相關的ZK賽道。最後,結合幾名優勢項目,對各自的技術框架、現有生態等進行了回顧。

然而,在具體項目方面,選擇高級語言等效的項目反而佔據市場主流地位,部分StarkWare這類中心化較爲嚴重的產品也能博得市場的青睞。即便在理論研究中談到的第一類VM有很強的局限性,但是在有限的市場客戶下,“通用性”似乎是一種累贅,我們無法分辨出“高效拓展”突破了哪些問題並實現了超越理論的效果。當然實際上很多人也不關注技術特徵,因此這顯得不太Web3,又很Web3。

Rollup技術的目的是進一步挖掘區塊鏈的價值,但往往因爲迫切成爲市場上的“創新性概念”,而產生“开倒車”的現象,回歸到中心化。這是當前市場存在的問題。

區塊鏈的價值很容易被看到,誰不希望擁有一個永恆的計算機?但核心問題是,當這台計算機的運行能力遠遠低於我們身邊任何一台服務器,並需要大量資源投入時,即使使用價值遠低於我們的投入成本,作爲一個“公共產品”,它還能吸引每個人加入使用嗎?

當我們已經擁有了相當多國家、社會甚至個人的產品時,在什么情況下,我們愿意忽視高昂的使用成本,追求“永遠在线,永遠正確”的結果呢?我認爲這是當今區塊鏈行業需要思考的問題。Rollup技術在技術上可以改善這個問題,但還有一大部分問題需要留給浮躁的市場去解決。

標題:zkEVM Rollup:從技術的憧憬到項目的落差

地址:https://www.coinsdeep.com/article/20362.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡
熱門資訊