來源 | Mechanism Capital
作者 | Benjamin Simon
介紹
本文就從一個比喻開始吧,
想象一下我們回到了中學的數學課上,我們的老師,和其他中學數學老師一樣殘忍,給我們列出了一百道長除法問題,每道題的數字都很大,我們的任務是解決盡可能多的問題。但是要注意,我們必須將最終答案和每個計算步驟都寫在一張紙上。幾分鐘內,我們可能就會眉頭一皺,意識到問題并不簡單。一張紙所能容納的,除了所有完全解出的答案之外,不可能再包含計算步驟,
這個卡夫卡式的故事與 Rollups 有什么關聯呢?
在這個比喻中,這張紙就是一個以太坊區塊,數學問題是智能合約事務。目前的以太坊非常擁擠。每個區塊中需要包含的交易太多了,雪上加霜的是,這些交易中的大多數都需要大量計算,例如閃電貸或經過聚合器路由的交易。前 DeFi 時代的簡單轉賬和支付模式已經是過去時了。
這就是問題的關鍵。正如比喻中的數學老師一樣,要求我們把長除法的每一行都塞在一張紙的空間里,以太坊也必須處理和記錄每筆交易的每一步計算,
直到 Rollups 的出現,
Rollups 將計算移到了鏈下進行,同時只在鏈上存儲最少的交易數據。從這個基本意義來說,Rollups 是以太坊的草稿紙,負責處理所有雜亂的數據,允許在單個以太坊區塊內“匯總”幾何倍數的智能合約交易,
這個比喻有助于厘清 Rollups 旨在解決的問題 (“由于計算過載導致的網路擁堵”),它甚至提供了 Rollups 解決方案必備條件的大致概念 (“計算移至鏈下”),但至于 Rollups 實際的工作方式,它們是什么模樣,以及為什么能讓像我這樣的人感到如此興奮——我們還需要深入探討。
什么是 Rollup?
Rollup 本質上是一條獨立的區塊鏈,但進行了修改。與以太坊一樣,Rollup 協議具有執行智能合約代碼的“虛擬機”。Rollup 的虛擬機獨立于以太坊的虛擬機 (即“EVM”) 運行,但由以太坊智能合約管理。這種連接使得 Rollups 能夠和以太坊進行通信。Rollup 執行交易并處理數據,以太坊接收并存儲結果,[2]
從技術層面來說,Rollup 鏈和其他傳統區塊鏈的關鍵區別在于新區塊的生產方式。
通常來說,區塊鏈是由分布式網路中的不同參與者來進行維護 (“礦工”或“驗證者”)。這些參與方通過共識機制來共同生產區塊。簡單來說,參與方投票決定如何處理一組交易,或者說如何構建下一個區塊,獲得大多數支持的區塊就會被永久寫進區塊鏈。
相比之下,Rollup 鏈不遵循“大多數”規則運行,相反,監控 Rollup 狀態的一方可以將所謂的“斷言” (assertion) 發送回以太坊,說明交易應該如何處理,重要的是,以太坊將接受或拒絕此斷言,無論其他 Rollup 參與方的大多數是否支持此斷言[3],在實踐中,這通常意味著 Rollup 中的單個參與方被指定了處理交易和生成區塊的任務,[4]
等等……Rollup是中心化的?
Rollup 區塊生產的中心化特性是其能夠如此高效處理交易的原因之一,但這也引發了一個顯而易見且令人擔憂的問題:如果沒有大多數共識,Rollup 如何確保區塊生產的正確性?如果區塊生產者碰巧是惡意的,又會發生什么?
這種中心化不免使習慣了基于共識的區塊鏈用戶感到困惑,事實上,如果故事到此結束,我們可能會 (錯誤地) 得出結論:Rollups 只是“由單個參與方再造的資料庫”,正如 Avalanche 的聯合創始人 Kevin Seqniqi 最近在推特上所說,
實際上,正如我們將看到的,與其說對中心化的指控是錯誤的,不如說是邏輯上的誤導。通常情況下,共識機制不夠強大的中心化區塊鏈很容易遭受賄賂和惡意攻擊的影響,然而,在 Rollups 的特例中,不夠去中心化實際上并不會破壞其安全性和完整性,[5] 要理解其中的原因,我們需要再進一步。
數據可用性的重要性
回想一下我們開頭的數學作業。用來計算的草稿紙是我們的救命稻草,因為它使我們可以在答題紙上只寫問題及其答案。將 Rollups 與草稿紙進行比較,我們則稱其“將智能合約計算移到鏈下,同時僅在鏈上存儲最少的交易數據,”
事實上,鏈上交易數據的存儲對于 Rollups 的運作至關重要,在 Rollups 中,只有計算、數據處理在鏈下,處理的每筆交易仍將其輸入數據 (即“calldata”) 存儲在以太坊區塊鏈上,
為什么將交易數據保存在鏈上這么重要?在數學作業的比喻中,我們交給老師的最后一張紙包括長除法問題及其答案,以便老師事后檢查我們的作業,即使我們沒有記錄單獨的計算步驟,同樣,鏈上數據持續的可用性意味著以太坊基礎層可以重復 Rollups 上的任何計算,
簡而言之,Rollups 的鏈上數據可用性允許內置的審驗過程。以太坊可以對 Rollups 鏈上處理的交易的正確性進行雙重檢查,然后再將其永久寫入賬本,類似美國最高法院的司法審查權。[6]
局限性也是一種優勢
因此,Rollups 的關鍵特性在于其局限,Rollups 只是將交易推到基礎層,無法強制區塊鏈接受,因為以太坊可以在有需要時推翻任何 Rollups 交易。因為它們受制于這個審驗過程,所以 Rollup 上的交易被認為缺乏真正的最終確定性,
考慮到 Rollups 的局限性,我們可以再回到其中心化控訴。Rollup 的單個區塊生產者可能會嘗試惡意處理交易。但如果是這樣,以太坊將在審驗過程完成后拒絕該批量交易,并且區塊生產者將受到懲罰,[7]
現在,“審驗過程”究竟如何運作取決于 Rollups 是基于 Optimistic 還是零知識 (點擊此處可了解更多),但對于兩者而言,審驗過程仍然比沒有 Rollup 的以太坊處理交易的效率要高出幾何級。
總之,Rollup 系統基于“制衡” (checks and balances),確保以太坊仍然是主權鏈;以太坊主鏈的共識是事實的最終仲裁者。但重要的是,側鏈卻不是這種情況,由于缺乏相同的審驗流程,側鏈通過其完全獨立的共識機制處理交易,側鏈交易是“最終確定的”,而 Rollup 中交易則不是 (直到在以太坊上得到確認),因此,側鏈需要更強大的信任假設,因為它們不能共享以太坊的去中心化安全性。事實上,我認為側鏈更類似于兼容 EVM 的 Layer 1,而不是 Rollups,
結語
概括來說:Rollups 將計算移至鏈下以釋放更多鏈上空間,鏈上數據可用性至關重要,因為它允許以太坊對 Rollup 交易的正確性進行審驗,反過來,此審驗過程可作為對 Rollup 區塊生產的“檢查”,從而無需共識機制。
Rollups 最終讓以太坊獲得了它得蛋糕和好處:它們在不破壞網路去中心化安全性的情況下成倍地釋放了更多的鏈上容量,至少在我看來,這是我們所能期望的最優雅的擴容解決方案。