Zk Rollups & Optimistic Rollups 零知識證明與樂觀證明
先前在很多文章都有提及以太鏈的解決方案 ZK Rollups
與 Optimistic Rollups
但一直對於這兩個 rollups 的概念都很模糊,趁著邦妮發了一篇快速解釋這個機制也順便深入了解與紀錄。
Rollups 解決方案
Layer 1: 區塊鏈
Layer 2: Rollups 所處 (擴容解決方案)
一個技術的概念的提出勢必是要解決一個實際存在的需求,rollups 主要是用來解決區塊鏈可擴展性問題,由於每個區塊大小跟處理能力是有限的,在高負載情況下會面對壅塞跟高 gas fee 問題(每個人都希望自己交易能夠先被執行),而 rollups 透過將大量交易 bundle 起來之後再一次提交到主鏈上,在不影響主鏈處理能力情況下提高吞吐量跟降低交易手續費。
Rollups 機制都是在鏈外或鏈下進行計算和處理後再將交易數據提交到鏈上,從而解決交易吞吐與費用問題。
鏈下處理通常指的是將某些計算或交易處理放在與主鏈不同的另一條鏈上。
鏈外處理則是將某些計算或交易處理放在完全獨立的環境中進行處理。
TL;DR
ZK Rollups: (鏈外) 在鏈外將大量交易 bundle 一起,並透過零知識證明(特殊算法)計算處理後生成證明(Validity Proof),來證明數據正確性(交易的处理和验证是在本地计算机上使用zk-SNARKs或STARKs等技术生成证明),最後再將證明提交到主鏈上,提高處理效率,降低主鏈負擔,每個人都可以驗證證明正確性。
Optimistic Rollups: (鏈下) 交易提交到鏈下(rollup 鏈)的 Rollups 合約(智能合約)(不是直接提交到主鏈上),將交易 bundle 後使用 hash 代表區塊所有交易,提交 hash 到 rollup 鏈上。合約會有挑戰期,一定時間內如果有人提交證據證明 hash 是錯誤的,合約會 rollback 整塊交易,並按照交易順序重新執行交易,如沒有人提出則認為有效,將所有交易提交到主鏈上。(接受並產生交易塊與證明的人必須先提交保證金進行運算,如果交易正確則獲得獎勵,而被挑戰後確定錯誤則會沒收保證金並且提出挑戰者會獲得獎勵)
ZK Rollups (Zero-Knowledge Rollups) 零知識證明
優點: 正確性、可靠性、隱私保護與節省儲存空間/傳輸
缺點:計算成本高、安全性要求高、需要有高安全措施保護系統
ChatGPT 技術流程:
用户提交交易:用户将交易提交到 Operator。
計算交易的 zk-SNARKs:Operator 将收到的所有交易打包成一个批次,并使用 zk-SNARKs 算法計算出一個零知識證明,證明這個批次中所有交易的總和為 0。
發布批次根哈希:Operator 將批次的根哈希發布到以太坊區塊鏈上,並在 zk rollup 合約中記錄批次信息。
驗證階段:任何人都可以下載批次中的 zk-SNARKs 證明並驗證它的正確性。如果驗證通過,則意味著批次中所有交易的總和為 0,證明這個批次是有效的。
提取交易數據:任何人都可以使用批次中的 zk-SNARKs 證明提取出交易數據。這是由於零知識證明中僅包含與交易總和相關的信息,而不包含交易本身的詳細信息。
執行交易:交易數據被提交到與 zk rollup 合約關聯的執行合約中,執行合約會按照交易的指令執行對應的操作,例如轉移代幣等。
需要注意的是,zk rollups 中的 zk-SNARKs 算法使得整個過程都是匿名和保密的。交易數據被加密在證明中,而在驗證階段時,只需要驗證證明的有效性而不需要透露交易數據本身。
另外,zk rollups 中不需要進行爭議解決
,因為只有被 zk-SNARKs 證明的批次才會被認為是有效的,而任何不合法的交易都無法通過驗證
。因此,zk rollups 能夠提供更高的吞吐量
和更低的交易費用
,同時保持高安全性
。
Optimistic Rollups 樂觀證明
優點: 快速確認、低成本、可擴展性、簡單易用
缺點:安全性要求高、存在可撤銷交易、需要等待確認
ChatGPT 技術流程:
使用者提交交易:使用者將交易提交到以太坊智能合約中。
打包交易:運營者(或合約)從以太坊智能合約中收集所有交易並將它們打包成一批。
發布批次根哈希:運營者將批次的根哈希發布到以太坊區塊鏈上,並在 Optimistic Rollup 合約中記錄批次信息。
驗證階段:在驗證階段中,任何人都可以對批次進行檢查,確認其有效性並提交異議。如果沒有異議,批次將被確認為有效,其中的交易將被提交到 Optimistic Rollup 合約中。
提交異議:如果有人對某個交易或整個批次的有效性提出異議,將會啟動爭議解決階段。此時,驗證人將需要提交爭議解決證明並贏得共識。
執行交易:交易被提交到與 Optimistic Rollup 合約相關聯的執行合約中,執行合約會按照交易的指令執行對應的操作,例如轉移代幣等。
需要注意的是,Optimistic Rollups 中的爭議解決是一個必要的過程。這是因為在這種機制下,交易並沒有被完全驗證,只有在有人對交易提出異議時,才會對其進行驗證。這種機制能夠保證高吞吐量和低交易成本,但也存在一定的風險。
如果有人故意提交無效的交易或攻擊批次的驗證過程,將可能引發爭議解決的過程,導致交易的確認時間變長或需要支付更高的手續費用。