為了解決區塊鏈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的優勢和不足。
跨鏈聚合器Bungee新增支持Polygon zkEVM:4月25日消息,由跨鏈基礎設施 Socket 支持的跨鏈聚合器 Bungee 宣布新增支持 Polygon zkEVM,Bungee 此前已支持在以太坊、Polygon、Optimism、Fantom 上的資產跨鏈轉移和兌換。[2023/4/25 14:25:43]
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等。
Web3開發者平臺Thirdweb將支持Polygon zkEVM擴容解決方案:金色財經報道,Web3開發者平臺Thirdweb表示將在Polygon zkEVM擴容解決方案主網推出時增加對其支持。目前,團隊已經開始在Polygon zkEVM測試網上進行部署。[2023/3/4 12:41:26]
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
ConsenSys推出zkEVM測試網私人測試版本:12月13日消息,以太坊基礎設施開發公司 ConsenSys 官方發布 zkEVM 測試網私人測試版本,該測試網已在 Infura 上提供給選定的申請人,允許開發人員部署和測試智能合約,并從現有網絡遷移 DApp,以及橋接 Token。
ConsenSys 表示,其 zkEVM 可實現 EVM 等效性,享受以太坊的安全性以及 zkEVM 的可擴展性和低費用有所。ConsenSys 將從下周開始在內部測試 zkEVM 測試網,2023 年 1 月份開始將逐步開放許可名單允許外部用戶注冊。[2022/12/14 21:42:28]
具體來說,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
zkSync發布端到端驗證器,正式在公共測試網上運行zkEVM:10月18日消息,以太坊Layer2擴容解決方案zkSync已完成“里程碑3:證明合并”(Milestone 3: Proof Merging),在測試網上發布了zkSync端到端驗證器,通過集成有效性證明,zkSync 2.0正式在公共測試網上運行zkEVM,并將在主網發布前11天展示一個完全運行的ZK-rollup,這也是在11天后上線主網之前的最后一步。
此外在接下來的11天里,zkSync團隊將對其性能和驗證進行重大測試,以確保完全準備好于10月28日在主網上發布。在初步測試后,四季度開發人員可以在主網上進行移植和開發;今年年底前一旦所有安全檢查都通過,將向外部用戶開放。[2022/10/18 17:30:03]
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安全性、兼容程度等。
Offchain Labs CEO:zkEVM距離正常運行還很遙遠:7月24日消息,Polygon 本周宣布開源 zkEVM 代碼,但多位開發人員認為目前距離正常運行 zkEVM 還很遙遠。以太坊擴容解決方案 Arbitrum 開發商 Offchain Labs 首席執行官 Steven Goldfeder 表示,我們還沒有達到任何團隊擁有有效的 zkEVM 證明者(prover)的地步,因此我認為 zkEVM 距離正常運行還很遙遠。此外,現階段 zkEVM 還存在一定中心化問題,因為大多數 zkEVM 構建者還沒有讓他們的證明者開源,包括 Scroll 和 zkSync 都還沒有正式發布 zkEVM 代碼。
此前報道,7 月 20 日,Polygon 已開源 Polygon zkEVM 的代碼,并表示即將上線公共測試網,后續會發布更多文檔來詳細說明細節。據悉,Polygon zkEVM 可為開發人員和用戶提供“EVM 等效”解決方案,同時增加了吞吐量并從根本上降低了費用。(Blockworks)[2022/7/24 2:34:30]
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技術在技術上可以改善這個問題,但還有一大部分問題需要留給浮躁的市場去解決。
金色早8點
Odaily星球日報
金色財經
Block unicorn
DAOrayaki
曼昆區塊鏈法律
6月27日,Azuki發售新系列Elementals,從NFT市場抽走20000枚ETH;又由于開圖質量嚴重不及預期以及團隊套現事件導致了整個NFT市場的資金與信心的雙殺.
1900/1/1 0:00:00作者:Michael Nadeau;編譯:Luffy,Foresight News比特幣區塊獎勵的下一次減半將于 2024 年 4 月 8 日左右發生。從歷史上看,減半引發了三個驚人相似的周期.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:501.48億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量40.
1900/1/1 0:00:00來源:BIS FSI Insights No 49 編譯:郭瑞華國際清算銀行(BIS, Bank for International Settlements)所屬機構:金融穩定局(FSI.
1900/1/1 0:00:002023年7月1日,一名攻擊者利用Poly Network的漏洞,在多條鏈上增發了價值420億美元的資產.
1900/1/1 0:00:00NFT領域從不乏新鮮事,近期的動態足以讓“速度發燒友”沸騰起來。根據Coindesk日前報道,票務服務提供商Platinum Group與區塊鏈基礎設施公司Elemint和Web3機構Bary合.
1900/1/1 0:00:00