跳至內容
0%

什麼是 ZK rollup?零知識與 rollups-as-a-service (RaaS) 完整指南

發布於 2026年8月13日閱讀時間 3 分鐘

ZK Rollup 完整 RaaS 指南

在過去十年的大部分時間裡,對於「該不該在 ZK rollup 上建置」這個問題,誠實的答案是「還不到時候」。產生一個有效性證明要花上好幾分鐘、成本也不低,而要讓一般的 EVM bytecode 通過證明系統運作,比較像是研究專案,而不是可以拿來部署的東西。

這個情況很快就改變了。根據 Ethereum Foundation 的 zkEVM 安全路線圖,大約一年的時間裡,Ethereum 區塊的證明延遲從 16 分鐘降到 16 秒,證明成本則降低了 45 倍。ZK rollups 用證明取代信任。現在需要思考的已經不是這項技術是否可行,而是自己營運一條鏈是否值得承擔隨之而來的營運面向。

什麼是 ZK rollup?

零知識 rollup 是一種擴容設計,它在主鏈之外執行交易,然後將一個加密學上的有效性證明送回基礎層,證明產生的狀態是正確的。基礎層不會重新執行這些交易,它只會檢查證明。

可以把它想成交數學考卷,改考卷的人只需要檢查一份簡短的證明,而不用把每一題重算一遍。這份證明很小,檢查起來很快,而且錯誤的答案不可能產生有效的證明。這種不對稱性就是整個機制的核心。驗證一個證明的成本遠低於執行背後那些交易的成本,所以 rollup 能在相同的基礎層容量下推送多得多的吞吐量。

「零知識」這個名稱有點誤導。它描述的是證明系統,而不是這條鏈的隱私特性。ZK rollup 上的交易預設是公開的,就跟 Ethereum 上一樣。這些證明證明了狀態轉換是有效的,而驗證者不需要重新執行一遍——這是一種簡潔性(succinctness)特性,而不是機密性特性。真正的隱私需要額外刻意去做的工作,通常是加密或建置一個專門的隱私層。

所以應該把 ZK rollup 當成一個關於擴容與最終性的決定。如果需要機密性,那是另一個必須自行解決的設計問題。

ZK rollups 是如何運作的?

有四個元件負責這項工作,它們依序交接。

  • Sequencer 接收使用者的交易、排序,然後將它們打包成一個 batch。這就是使用者能拿到快速確認的原因,而且早在任何東西送達基礎層之前就完成了。
  • Prover 拿到這個 batch,產生一個有效性證明,通常是 SNARK 或 STARK,證明對前一個狀態執行這些交易後會產生新的狀態。
  • Verifier contract 存在於基礎層上。它檢查證明,如果成立,就接受新的狀態根(state root)作為正式版本。
  • 資料可用性層(data availability layer) 儲存足夠的交易資料,讓任何人都能獨立重建 rollup 的狀態,並驗證營運者沒有隱瞞任何東西。

狀態本身是用 Merkle tree 追蹤的,單一根雜湊值(root hash)代表了每一個帳戶餘額與合約儲存槽的承諾。每個被接受的 batch 都會推進這個 root,所以基礎層只需要保存一個小小的承諾,而不是整個 rollup 的狀態。

最後這個元件,也就是資料可用性,是經濟面改變最大的地方。過去 rollup 要付費把 batch 資料發布到基礎層的 calldata 上,這既昂貴又會永久留在鏈上。Ethereum 的 Dencun 升級在 2024 年 3 月引入了 blobs,這是一條獨立計價的資料通道,專門為這項工作而設計的大小。Blob 資料大約 18 天後就會被清除,而不是永久保留,這是刻意的設計。Rollup 的資料不需要永久存在,只需要維持足夠長的時間,讓任何人都能下載並重建這條鏈的狀態。PeerDAS,也就是隨 Fusaka 在 2025 年 12 月上線的資料可用性抽樣升級,讓更大的 blob 數量得以安全運行。而容量的提升本身則來自後續一些只調整 blob 參數的小型分叉。

資料可用性已經不再是過去那種主導性的成本項目了。對於今天正在評估 rollup 成本的團隊來說,證明產生與 sequencer 營運才是真正重要的成本,任何仍以舊有 calldata 假設為基礎的成本模型,都會有一個數量級的誤差。

為什麼 ZK rollups 對開發者來說很重要?

費用會下降,是因為發布並驗證一個 batch 的成本被攤提到裡面每一筆交易上。吞吐量會上升,原因也一樣——基礎層的容量限制的是證明驗證,而不是交易執行。

提款不需要等待挑戰期。樂觀 rollup(optimistic rollup) 假設 batch 是有效的,除非有人提出爭議,所以它會把提款保留一段爭議期,慣例是七天。有效性證明在驗證的當下就已經確立了正確性,所以沒有什麼需要等待的。對於任何涉及跨層轉移資產的情境來說,這個差異正是使用者真正能感受到的。

可驗證性來自資料可用性的要求。因為 batch 資料會被公開發布,任何人都可以獨立重建 rollup 的狀態,所以營運者既無法提交錯誤的狀態,也無法隱瞞查核所需的資料。但這並不能給你抗審查性。Sequencer 仍然可以悄悄地不把你的交易納入,而且不管公開了多少資料,都無法揭露一筆從未被排序過的交易。這種保護來自強制納入路徑(forced-inclusion path):使用者可以直接向基礎層合約提交交易,rollup 有義務將其納入。評估一條鏈時,要確認這個逃生機制確實存在,而且不需要營運者的配合就能運作。

綜合起來,對於那些把結算速度與每筆交易成本視為產品特性、而不只是實作細節的應用來說,ZK rollups 是一個合理的預設選擇。支付、交易所和遊戲會立刻感受到這個差異。低頻率的應用大概不會。

ZK rollups 如何支援智能合約整合?

證明任意的智能合約執行,遠比證明簡單的轉帳困難得多,這也是為什麼最早期的 ZK rollups 只支援支付與交換。要證明 EVM bytecode,意味著要把每一個 opcode 都表達成證明系統裡的約束條件,而 EVM 在設計之初並沒有考慮到這一點。

zkEVM 就是解方,而不同的實作在與 Ethereum 的相符程度上有所差異。有些直接證明 Ethereum 的執行層,以最大化相容性為代價換取證明效能;有些則調整 bytecode 或狀態樹,讓證明更便宜,這代表某些合約與工具在能運作之前需要做調整。應該根據自己實際的依賴項目來檢查任何一個 zkEVM,而不是只看它標榜的相容性等級。

曾經讓這件事變成研究難題的效能落差,如今已經大致消除了。根據 Ethereum Foundation 的資料,Prover 現在能在目標硬體上於 10 秒內完成 99% 的 Ethereum 區塊證明——這是單一區塊的證明速度指標,不同於前文引用的端對端延遲數字。目前的重點已經從速度轉向安全性。已公布的路線圖將 128 位元可證明安全性、以及低於 300 KiB 的證明大小訂為 2026 年底的目標,同時還要對遞迴架構(recursion architecture)進行形式化驗證。

證明速度已經不再是阻擋你使用正式環境 zkEVM 的因素。應該去問團隊的安全性證明進度到哪裡了。

ZK rollups 與 optimistic rollups 相比如何?

兩者都會把交易資料發布到基礎層,也都繼承了基礎層的安全性。兩者的差異在於它們要求基礎層相信什麼。

Dimension
ZK rollups
Optimistic rollups

Proof model

Validity proof with every batch

Fraud proof, only if challenged

Withdrawal to L1

Once the proof is verified

After the dispute window, conventionally 7 days

Cost profile

Proof generation is the main overhead

Cheap to operate, cost sits in the challenge system

EVM compatibility

Varies by zkEVM, strong and improving

Near-complete, mature

Security assumption

Cryptographic

Economic, requires at least one honest challenger

Optimistic rollups 營運成本較低,而且在 EVM 相容性上起步得早,這也是為什麼以活躍度來看,最大的通用型 L2 目前仍然是 optimistic 的。ZK rollups 則是用付出證明成本換取更快的結算速度,以及一種加密學上而非經濟學上的信任模型。

在通用型工作負載上,已經沒有哪一方能明確勝出了。當快速、最小化信任的結算值得付出證明成本時,就選 ZK;當原始的營運成本與最大化的 EVM 相容性更重要時,就選 optimistic。

什麼是 rollups-as-a-service(RaaS)?

過去要啟動一條 rollup,意味著要自己架設 sequencer、prover、bridge 合約與資料可用性路徑,然後讓這四樣東西無限期地持續運作。這是一支「造鏈團隊」該做的事,不是一項功能。

Rollups-as-a-service 把這整套堆疊變成由提供商替你營運的東西。你選擇一個框架、設定你的參數,然後由提供商在底層營運 sequencer、prover、bridge 與節點基礎設施。你保留的是這條鏈本身,包括它的手續費代幣、gas 政策、交易排序規則,以及任何共享鏈永遠不會替你強制執行的合規邏輯。

早期 RaaS 說法中最經不起時間考驗的部分,是暗示這是一個五分鐘就能完成、之後就不用管的操作。它確實比從零開始建置快得多,也免除了值班待命的負擔,但它並不會免除架構上的決策。你仍然要選擇要結算到哪個基礎層、資料可用性方面的取捨是什麼、sequencer 去中心化要如何演進,以及底層堆疊的升級要如何在不破壞你這條鏈的情況下傳遞過來。

應該把 RaaS 看成是外包了營運,而不是外包了設計。想更深入了解這個模式本身,可以參考我們寫的 rollups-as-a-service 以及 RaaS and appchains

什麼時候啟動自己的 ZK rollup 才合理?

在少數幾種特定情境下,專屬 rollup 的複雜度是值得的。

  • 可預測且高的交易量。 一旦你穩定地為大量 blockspace 付費,專屬容量就會開始比爭搶共享容量更划算。
  • 共享鏈無法滿足的合規要求。 白名單參與者、交易層級的政策,或是司法管轄上的限制,只有在你自己掌控的鏈上才能強制執行,別無他法。
  • 依賴專屬 blockspace 的產品體驗。 如果你的確認時間不能因為與你無關的鑄造活動塞爆網路而變慢,那共享 blockspace 就是一種負擔。

如果交易量還只是投機性的預期,這就是錯誤的選擇。託管型提供商雖然吸收了營運負擔,但你仍然要承擔 bridge 安全性、sequencer 存活性,以及必須持續追蹤的升級節奏。這樣的營運面向,值得為真實的需求而承擔,而不是為預期中的需求。在下決定之前,值得讀一讀 rollups 的商業模式,因為一條鏈必須賺回它自己的營運成本。

大多數團隊更適合先透過標準的 RPC access 在成熟的鏈上發布產品,等到使用模式證明了理由之後,再重新考慮這個問題。延後這個決定的代價很小,但拆掉一條不該啟動的鏈,代價卻很大。

與我們的 Rollups 團隊討論如何啟動屬於你自己的鏈

聯絡我們

關於零知識 rollups 的常見問答

什麼是 ZK rollup?

ZK rollup 是一種 Layer 2 擴容方案,它以 batch 的方式在鏈下執行交易,然後將一個加密學上的有效性證明發布到基礎層,證明產生的狀態是正確的。基礎層驗證這個證明,而不是重新執行這些交易,這降低了成本、提高了吞吐量,同時也繼承了基礎層的安全性。

ZK rollups 是如何運作的?

Sequencer 將交易打包成 batch,prover 產生像 SNARK 或 STARK 這樣的有效性證明,基礎層上的 verifier contract 會在接受新的狀態根之前先檢查這個證明。交易資料會被發布出來,讓任何人都能獨立重建 rollup 的狀態。Ethereum 上的 rollups 現在是把這些資料發布在 blobs 裡,而不是 calldata。

ZK rollups 有隱私性嗎?

沒有,預設沒有。「零知識」描述的是證明系統,它讓驗證者可以在不重新執行狀態轉換的情況下確認其有效性。ZK rollup 上的交易是公開可見的,跟 Ethereum 上一樣。機密性需要額外、刻意建置的隱私層。

ZK rollups 與 optimistic rollups 有什麼不同?

ZK rollups 會證明每一個 batch 都是有效的,所以提款只要證明一經驗證就能結算。Optimistic rollups 則假設 batch 是有效的,除非受到挑戰,這也是為什麼提款必須等過一段爭議期,慣例是七天。ZK rollups 依賴的是加密學上的保證;optimistic rollups 依賴的是經濟誘因,以及至少一位誠實的挑戰者。

有哪些主要的 ZK rollup 專案?

ZKsync Era、Starknet、Scroll 和 Linea 是大多數團隊會評估的通用型 ZK rollups,其中 Scroll 和 Linea 都以接近 EVM 等效性為目標。Starknet 目前在 L2Beat 上的評級是 Stage 1,不過隨著更嚴格的規則生效,預期會降級到 Stage 0;Scroll、ZKsync Era 和 Linea 目前都是 Stage 0。Polygon zkEVM 的 Mainnet Beta sequencer 已在 2026 年 7 月 1 日下線,Polygon 將心力轉向 Polygon PoS 與 Agglayer。

智能合約可以在 ZK rollups 上運行嗎?

可以,透過能夠證明 EVM 執行的 zkEVM 實作。相容性因實作而異。有些 zkEVM 直接證明 Ethereum 的執行層以達到最大相容性,有些則修改 bytecode 或狀態結構來讓證明更便宜,這可能需要調整合約或工具。應該根據自己實際的依賴項目來檢查相容性,而不是只看一般性的宣稱。

Rollups-as-a-service(RaaS)是什麼意思?

Rollups-as-a-service 是指由提供商替你配置與擁有的 rollup 營運 sequencer、prover、bridge 與節點基礎設施。它免除了營運一條鏈的操作負擔,但不會免除架構上的決策,包括基礎層的選擇、資料可用性方面的取捨、sequencer 去中心化,以及堆疊升級如何傳遞到你的鏈上。

是什麼讓 ZK rollups 安全?

ZK rollups 的安全性繼承自基礎層。資金保管在基礎層的合約裡,只有在鏈上驗證通過有效證明後,新的狀態根才會被接受,所以營運者無法提交無效的狀態。另外發布 batch 資料,確保了任何人都能獨立重建這個狀態,並偵測出營運者是否隱瞞了資料。至於抵禦個別交易被審查,則是另一項保證,它依賴的是通往基礎層的強制納入路徑。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。