小學生也能看懂的零知識證明科普:什麼zk-Rollup?

本系列將試圖用通俗舉例和語言,幫助大家理解複雜概念。本系列非學術論述,舉例只為幫助大家通俗理解。如有錯誤,歡迎指正。更嚴謹的表述,歡迎大家查看專業論文學習。

前情回顧,

1/ 零知識證明,英文為Zero Knowledge Proofs,簡寫為ZK 或ZKP。

zkXXX,即代表應用了零知識證明。

2/ 零知識證明技術,要在證明速度、驗證速度、整體大小之間做取捨,繼而產生的用戶體驗不同。

zk-SNARK 誕生時間久,經過驗證,應用比較成熟,並誕生了Groth16、PLONK、Halo2 等多技術分支。 zk-STARK 相較而言,誕生時間較短,仍需時間驗證完善。

Manta 採用Groth16,是目前最快、數據量最小的zk-SNARK。 Manta在橢圓曲線密碼(FH-ECC)算法等基礎上,進一步優化升級,ZK 生成速度比Zcash快十倍。交互確認時間僅需2-3秒。

3/ ZK 開發逐漸模塊化。 zk-SNARK 與zk-STARK 之間,可通過切換多項式承諾,進行相互轉換。且,代碼終會開源,所以長期看,單靠技術無法構築壁壘。

正式開始本篇內容。

什麼是Rollup ?

Roll,卷、滾的意思。 Up,向上、起來的意思。 Rollup 就是“捲起來”。

當然,這不是內捲那個“卷”,而是像麵餅一樣,把食材統統捲進去的那個“卷”。

Rollup,就是把許許多多多筆交易“卷”起來,在自己的網絡里處理掉。

Rollup 通常運行一組中心化定序器(Sequencer),為Rollup 上的交易進行排序。定序器就像中心化的服務器。

Rollup 與以太坊主鏈關係,舉個便於理解但不十分嚴謹例子,如同初期的支付寶與銀行。

資金從以太坊主網轉入Rollup,如同把錢從銀行卡轉入支付寶。

用戶在Rollup 交互,交互信息並不直接提交到以太坊主鏈上,而是由Rollup 定序器進行排序。

這個過程,稱為“鏈下擴容”,所謂“鏈下”指的是在以太坊鏈下。

支付寶初期,用戶直接使用支付寶餘額交易,銀行對具體交易信息,並不知情。支付寶相對銀行,也是“鏈下”。

定序器會對Rollup 裡的交易,統一進行排序、打包、壓縮,隔一段時間提交到以太坊主鏈,由以太坊主鏈提供結算、校驗交易數據,以減輕主鏈負擔。

主鏈礦工可以通過欺詐證明(Fraud Proof,通常由Optimistic Rollup 採用)或有效性證明(Validity Proof,通常由zk-Rollup 採用),驗證Rollup 交易數據是否真實。

舉個例子,用戶在Aribitrum 上,使用Gmx 瘋狂進行衍生品交易。這些操作,都讓Aribitrum “卷”起來處理掉了,這些交互僅在Aribitrum 當前Rollup 上發生,不會造成以太坊主鏈擁堵。

Aribitrum 會將一段時間內的交互信息排序、打包、壓縮、提交到以太坊主鏈,由以太坊全節點校驗交易數據真實性,所以,Rollup 稱為執行層,主要負責執行交易。

Optimistic Rollup 與ZK Rollup?

Optimistic 與ZK,是以太坊主鏈全節點,校驗Rollup 交易數據真實性的方式,可以理解成是對賬方式。

Rollup 是處理交易的方式。

這倆都是Rollup,所以,處理交易方式一致,都是“捲起來”。區別在於,對賬方式:

1/ Optimistic,意為“樂觀的、積極的”。

Optimistic Rollup“樂觀的”默認交易信息真實有效。

萬一有人提供虛假交易信息呢?

若使用Aribitrum 或Optimism,會發現,把代幣跨回其他網絡,需要等待幾天時間,即“等待期”。

“等待期”內,以太坊主網全節點都可以發起挑戰,證明某交易為假。

由於Rollup 數據層和結算層仍使用以太坊,相當於根賬本在以太坊上,所以,Rollup 自身是無法篡改、作弊的。

若挑戰成功,則會罰沒作弊者保證金,交給挑戰者,並回滾該區塊內的交易。

2/ zk-Rollup

還記得ZK 的基本原理及特性嘛?

證明者(Prover)和驗證者(Verifier)。證明者生成證明,驗證者在不獲取信息本身的前提下,驗證該證明。

ZK 有以下特性:

完備性(Complete):提交者若確實掌握了答案,那他能找到方法向驗證者證明為真,即真的假不了。

合理性(Sound):若提交者未掌握答案,那他無法向驗證者證明為真,即假的真不了。

零知識性(Zero-Knowledge):證明過程中,驗證者除了“證明”之外,不會獲得其他相關信息。

zk-Rollup 會在向以太坊主網提交區塊時,生成一個零知識證明。主網全節點驗證該證明即可。

需要注意的是,zk-Rollup 通常只應用了ZK 前兩個屬性,即完備性與合理性,達到壓縮計算的目的。

Optimistic Rollup 需要將一段時間內交易數據,壓縮後,完整地連同狀態根(包含用戶地址餘額等信息)、欺詐證明(僅在發生爭議時),傳回到以太坊主網。

由於交易數據和結算仍存儲在以太坊主網上,當全節點提出挑戰時,可根據先前存儲的狀態,校驗欺詐證明是否成立,判斷Optimistic Rollup 是否作弊。

zk-Rollup 不需要將全部交易數據發布至以太坊主網,僅發布狀態差異(類似用戶賬戶狀態變化)和有效性證明即可,這樣會使得交易成本Gas 更低。使用zk 前兩個屬性,達到壓縮計算目的。

zk-Rollup 證明文件很小,驗證時間一定,所以證明本身不會隨著交易數量增加而變大。

長期來看zk-Rollup 在Gas 成本和Tps 方面,要優於Optimistic Rollup,且無需提現等待期。

所以,以太坊創始人Vitalik 認為,短期內Optimistic Rollup 會因EVM 兼容性佔據優勢,但長期來看,zk-Rollup 會勝出。

本質上,Optimistic Rollup 安全來自於經濟學,作惡者要考慮損失的成本,挑戰者的動機由經濟利益驅動。

zk-Rollup 安全來自於密碼學,用密碼學手段驗證證明,可以做到去信任化。

長期看,zk-Rollup 相比Optimistic Rollup 更具優勢,但短期仍受制於zk-EVM 發展。這也是我們在下一篇會聊到的話題。

這裡需要區分的是,用戶在zk-Rollup 上的交易信息仍是透明可查詢的。

而Manta 作為基於ZK 的可編程隱私公鏈,除前兩個特性外,還重點應用了零知識性,讓鏈上交易隱私化。

Rollup 與模塊化

不可能三角,又稱三元悖論,通常指去中心化(Decentralization)、可擴展性(Scability)、安全性(Security)三者不可同時兼得。

通常,模塊化是指,把Layer1 共識、結算、數據、執行四層分別解耦(單拆出來),在不增加節點硬件負擔,造成中心化前提下,實現擴容,打破“不可能三角”。

V神在波哥大以《Hardening rollups with multi-proofs》為主題進行分享,即採用多證明機制,加強Rollup安全。

方案二是多證明人機制(multi-provers),採用多證明系統,用欺詐證明或zkEVM 多種實現,預防網絡宕機情況。

方案三是雙重證明加治理小組(two-provers plus governance tie break),採用欺詐證明加ZK證明,再加上治理小組裁決。當一個證明系統出現漏洞,另一個系統不受影響。

在此之前,Optimism 的Kelvin 曾寫過《The hybrid ZK/Optimistic Rollup of the future》(ZK/Optimistic 混合Rollup 的未來),探討過將Optimistic 與ZK 相結合。

總結下, 1/ Rollup 內的交易,隔一段時間統一壓縮打包,提交到以太坊主網,由主網提供結算、驗證交易數據,以減輕主鏈負擔。

2/ Optimistic 與ZK,是以太坊主鏈全節點,校驗Rollup 交易數據真實性的方式,可以理解成是對賬方式。 Rollup 是處理交易的方式。

3/ Optimistic Rollup 需要將一段時間內交易數據,壓縮後,完整地連同狀態根、欺詐證明(僅在發生爭議時),傳回到以太坊主網。

zk-Rollup 不需要將全部交易數據發布至以太坊主網,僅發布狀態差異(類似用戶賬戶狀態變化)和有效性證明即可,這樣會使得交易成本Gas 更低。使用zk 前兩個屬性,達到壓縮計算目的。

4/ 本質上,Optimistic Rollup 安全來自於經濟學,作惡者要考慮損失的成本,挑戰者的動機由經濟利益驅動。

zk-Rollup 安全來自於密碼學,用密碼學手段驗證證明,可以做到去信任化。

5/ 用戶在zk-Rollup 上的交易信息仍是透明可查詢的。而Manta 是基於ZK 的可編程隱私公鏈,除前兩個特性外,還重點應用了零知識性,讓鏈上交易隱私化。

6/ 當前,將Optimistic 與ZK 結合,是Rollup 探索方向之一。

本篇重點講述了zk-Rollup,略微涉及到zkEVM 內容。下一篇,我們將重點闡釋zkEVM 相關內容,歡迎繼續關注Manta Network中文公眾號及推特。

Total
0
Shares
Related Posts