先前在很多文章都有提及以太鏈的解決方案 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 中的爭議解決是一個必要的過程。這是因為在這種機制下,交易並沒有被完全驗證,只有在有人對交易提出異議時,才會對其進行驗證。這種機制能夠保證高吞吐量和低交易成本,但也存在一定的風險。
如果有人故意提交無效的交易或攻擊批次的驗證過程,將可能引發爭議解決的過程,導致交易的確認時間變長或需要支付更高的手續費用。
技術比較
對比項目 | zk-rollups | optimistic rollups |
---|---|---|
技術原理 | 零知識證明 | 智能合約激勵機制 |
儲存需求 | 低 | 非常低 |
驗證速度 | 快 | 慢 |
手續費用 | 低 | 相對較高 |
開發複雜度 | 高 | 低 |
應用場景 | 大規模交易 | 小規模交易 |
靈活性 | 低 | 高 |
安全性 | 高 | 高 |
可擴展性 | 高 | 高 |
適用於 DeFi | 是 | 是 |
優缺點比較
對比項目 | zk-rollups | optimistic rollups |
---|---|---|
資料處理方式 | 將大量交易捆綁在一起,使用零知識證明提交資料 | 將交易資料直接提交到鏈上,使用爭議解決機制保證正確性 |
交易速度 | 非常快,可以處理大量交易 | 一般較慢,需要等待爭議解決 |
交易成本 | 通常較低,因為資料是在本地處理後提交的 | 較高,因為需要在鏈上進行處理和確認 |
資料隱私性 | 非常好,資料是經過加密的 | 可能受到鏈上資料的公開性影響 |
交易正確性 | 非常高,因為使用了零知識證明技術 | 可能存在爭議解決過程中的不確定性 |
實現難度 | 相對較高,需要使用複雜的數學算法 | 相對較低,與鏈上交互的方式類似 |
總結
zk-rollups | optimistic rollups | |
---|---|---|
優點 | 高安全性、數據私密性好、無需等待確認 | 快速確認、低成本、可擴展性好、簡單易用 |
缺點 | 技術實現複雜、需要在鏈外計算、高成本 | 存在安全風險、存在「可撤銷」交易、需要等待確認 |