header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

科普|什麼是Rollup?

閱讀本文需 14 分鐘
Rollup 就是以太坊的草稿紙。Rollup 負責所有複雜的數據處理,讓每個以太坊區塊都能容納成倍多的智能合約事務。
原文標題:《 A Non-Technical Introduction to Rollups 》
原文作者: Benjamin Simon
原文來源:以太坊愛好者
原文編譯: 閔敏 & 阿劍



本文發表於 2021 年 6 月 1 日。①

  

介紹


我們先來打個比方。


想象一下,我們回到了初中數學課堂上。「殘忍」的初中數學老師給我們每人發了一張卷子,上面列了 100 道數字很大的除法題。我們的任務是解出儘可能多的題。但是,這裏面有個陷阱:我們只能將最終的解和每個計算步驟寫在一張答題紙上。幾分鐘後,我們有了一種不祥之感,越想越覺得這個任務荒謬至極。算完幾道題之後,這張答題紙就已經滿滿當當了。


這個噩夢般的故事與 Rollup 有什麼關係呢。


在這個故事裏,答題紙就是以太坊區塊,算術題就是智能合約交易。以太坊目前非常擁堵。每個區塊內要包含的交易太多了。更糟糕的是,絕大多數交易都是計算密集型的,例如閃電貸和通過聚合器路由的交易。隨着 DeFi 興起,簡單轉賬和支付已經成了過去時。


這就是問題的關鍵所在。就像數學老師要求我們將每個計算步驟都寫在一張答題紙上那樣,以太坊也必須處理並記錄每個事務的每一筆計算。


直到 Rollup 出現。


Rollup 將計算轉移到鏈下,只將最少的事務數據存儲在鏈上。從這個基本意義上來講,Rollup 就是以太坊的草稿紙。Rollup 負責所有複雜的數據處理,讓每個以太坊區塊都能容納(疊卷)成倍多的智能合約事務。


這個比喻不僅直觀呈現了 Rollup 旨在解決的問題(「因計算過載而導致的網絡擁堵」),還讓我們大概瞭解了 Rollup 解決方案需要做到什麼(「將計算轉移到鏈下」)。但是,Rollup 的實際運作方式、呈現形式以及魅力所在都是我們需要深入研究的。


什麼是 Rollup


Rollup 本質上是一條獨立的區塊鏈,但是進行了一些修改。和以太坊一樣,Rollup 協議也使用「虛擬機」來執行智能合約代碼。Rollup 的虛擬機獨立於以太坊自己的虛擬機(EVM)運行,但是由以太坊上的智能合約管理。因此,這種聯繫可以讓 Rollup 和以太坊之間進行通信。Rollup 負責執行事務並處理數據,以太坊負責接收並存儲結果(譯者注:其實以太坊還儲存 Rollup 事務的數據,不僅只儲存結果)。②


從技術層面來說,Rollup 鏈和傳統區塊鏈之間的主要區別在於出塊方式。


通常來說,區塊鏈由一個分佈式參與者網絡(「礦工」或「驗證者」,具體取決於鏈的類型)維護。這些參與方通過共識創建區塊。簡單來說,參與方通過投票決定如何處理一組交易(如何創建下一個區塊)。獲得多數支持的區塊將被永遠寫到區塊鏈上。


相比之下,Rollup 鏈不按多數原則運行。監控 Rollup 狀態的一方可以將「斷言」發送至以太坊,來說明交易是如何處理的。重要的是,以太坊將決定是否接受這個斷言,無論這個斷言是否獲得了 Rollup 上多數參與方的支持。③ 這通常意味着,在 Rollup 上,實際只有一方負責處理交易和生成區塊。④(譯者注:這一點也不是絕對的)


Rollup 是中心化的嗎


Rollup 之所以能夠如此高效地處理交易,一部分原因就在於它在出塊方面的中心化特性。但是,這也提出了一個令人擔憂的問題:在缺乏多數決共識的情況下,Rollup 如何確保出塊的正確性——如果區塊創建者作惡怎麼辦。


由於密碼學貨幣用戶已經習慣了基於共識的區塊鏈,這種中心化會令他們感到困惑。確實,如果這篇文章到此結束,我們可能會誤以爲 Rollup 只是「由單個參與方複製的數據庫」,就像 Avalanche 的聯合創始人 Kevin Seqniqi 最近在推特上所言。


實際上,我們很快就會明白,與其說人們對 Rollup 的中心化特性的擔憂是錯誤的,不如說是一種邏輯誤導。通常情況下,缺乏強大共識機制的中心化區塊鏈確實容易遭到破壞和惡意操控。但是,就 Rollup 解決方案而言,缺乏去中心化並不會影響它們的安全性和完整性。⑤ 爲了弄清楚背後的原因,我們需要更深入理解 Rollup 的原理。


數據可得性的重要性


回想一下文章開頭提到的數學試卷。草稿紙就是我們的救命稻草。只要將計算過程寫在草稿紙上,我們就只需在答題紙上寫下問題和解。Rollup 就好比是草稿紙,「將智能合約計算轉移到鏈下,只將最少的事務數據存儲在鏈上」。


事實上,後半句話(將事務數據存儲在鏈上)對於 Rollup 的運作方式來說至關重要。就 Rollup 而言,只有計算(數據處理)會被轉移到鏈下。Rollup 所處理的每筆事務的輸入數據(即「調用數據」)仍存儲在以太坊上。


將事務數據保存在鏈上爲何如此重要?再拿數學試卷的例子來看,我們最後交給老師的答題紙上只有數學題和解。這樣一來,即使我們沒有將每個計算步驟寫上去,老師也可以檢查我們的作業情況。同理,永恆鏈上數據可得性意味着,Rollup 上的任何一個計算都可由以太坊基礎層重複執行(譯者注:吹毛求疵來說,這話是不對的。以太坊單筆事務可執行的計算量是有上限的)。


簡而言之,Rollup 的鏈上數據可得性引入了內置審查流程。在將事務永久寫入賬本之前,以太坊可以再次確認 Rollup 上處理的事務的完整性——就像是美國最高法院的司法審查權。⑥


侷限性優勢


Rollup 的主要優勢就是其侷限性。Rollup 只能將交易發送至基礎層,不能強制基礎層接受,因爲以太坊可以在必要時推翻任何 Rollup 事務。由於存在審查過程,Rollup 事務不具備真正的終局性。


瞭解了 Rollup 的侷限性後,我們回到上文提出的中心化問題。Rollup 的單方出塊機制確實存在做惡的可能性。然而,一旦出現這種情況,以太坊會在完成審查流程後拒絕相關交易,並懲罰出塊者。⑦


對於 Optimistic Rollup 和 ZK Rollup 來說,「審查流程」的具體運作方式不同(詳情請參見此處)。然而,無論是哪種 Rollup,審查流程遠比以太坊自己處理交易(不依賴於 Rollup)高效得多。


總之,Rollup 系統以「制衡」爲基礎,從而保證以太坊的主權鏈地位。以太坊的共識是事實的最終仲裁者。請注意,側鏈的情況完全不同。側鏈不像 Rollup 那樣存在審查流程,而是另有一套獨立的共識機制來處理交易。側鏈可以直接賦予交易終局性,而 Rollup 上的交易要等到以太坊確認後才能獲得終局性。因此,側鏈需要更多信任假設,因爲它們無法從以太坊的去中心化安全性中受益。事實上,我認爲側鏈更像是兼容 EVM 的 Layer 1,而非 Rollup。


結論


總的來說:Rollup 將計算轉移到鏈下,從而釋放更多鏈上空間。鏈上數據可得性很重要,因爲它使得以太坊可以複覈 Rollup 交易的完整性。反之,審查流程可以檢查 Rollup 出塊,免去對共識機制的需求。


Rollup 最終可以讓以太坊魚和熊掌兼得:在釋放成倍多鏈上空間的同時不破壞網絡的去中心化安全性。至少在我看來,這正是我們所期望的優雅的可擴展性方案。


感謝 t11s 和 Hasu 富有見地的評論和建議。


腳註


① 注:我最近開始在 Deribit Insights 上連載關於 Rollup 的系列文章。其中,Part 1 探索了 ZK Rollup 和 Optimistic Rollup 之間的差異。很多讀者希望我能推薦一篇關於 Rollup 的非技術入門文章,因爲我的文章需要讀者有一定的背景知識。實際上,確實有一些科普性文章會帶來很大幫助。但是,我還沒有看到一篇沒有任何技術術語的針對初學者的全面介紹。我寫這篇文章的目的就是爲了填補這一空缺。


② 順便一提,這種聯繫是通過某個叫作「狀態根」的東西在鏈上維護的(狀態根追蹤 Rollup 的內部狀態,包括賬戶餘額、事務和代碼等等)。關於更多詳細信息,請閱讀 Vitalik 的介紹。


③ 事實上,在 Optimistic Rollup 中,即使其他網絡參與者都反對,出塊一方也可以(正確)處理事務。這就是 Optimistic Rollup 的 1/n 誠實參與者假設(如果你想要深入瞭解這部分內容,請閱讀這篇文章的「Secuirty Considerations」一節)。


④ Optimistic Rollup 和 ZK Rollup 對出塊者的職責要求不同。如果你想要了解更多相關內容,請閱讀這篇文章的「Secuirty Considerations」一節。


⑤ Haseeb Qureshi 有一篇關於去中心化的文章很發人深省。Qureshi 的論點是,去中心化本身不一定就是好的,中心化本身也不一定就是壞的。雖然 Qureshi 在這篇文章中沒有討論 Rollup,他的論據有很高的相關性。


⑥ 在 1803 年的馬伯利訴麥迪遜案中,馬歇爾法院判定最高法院有權推翻它認爲違憲的國會立法,有效地賦予了最高法院對所有立法事項的最終審查權。


⑦ 事實上,ZK Rollup 通過密碼學方式防止其出塊者在處理事務時作惡,因爲相關事務的零知識證明本身是無效的。


原文鏈接


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交