作者:Shivanshu Madan
編譯:Luffy,Foresight News
最近Crypto Twitter 上的很多討論都圍繞L2 的去中心化。我們正在構建的Rollup 是否足夠去中心化?它們已經走上了權力下放的道路嗎?這還重要嗎?
我將在這篇文章中探討這些主題。在我深入研究之前,如果你還不了解Rollup 的真正工作原理,建議你快速閱讀一下這篇文章:Rollups for Dummies。
Rollup 的理念其實很簡單:它希望鏈下參與者進行交易,然後可以輕鬆地在鏈上驗證。通過Rollup,基礎層的「信任」被擴展到其區塊鏈之外的活動。作為回報,Rollup 支付少量費用(租金)來使用這種信任。
那麼我們是否需要去中心化Rollup?
直觀的答案是:肯定需要!這是區塊鏈的精神所在。
但是,我也相信這個問題的答案並不是簡單的是或否。相反,它包含多個方面,必須逐個單獨分析。在接下來的內容中,我將從哲學、技術和經濟三個角度來探討這個問題。
哲學角度
讓我們首先將對話提升一個層次:為什麼我們關心權力下放?
因為我們想要一個促進開放創新的無需許可的未來。我們希望用戶能夠不受任何限制地構建新事物,並且不需要信任任何單個實體。
在區塊鏈短暫的歷史中,我們已經有很多匿名開發者構建了令人驚嘆的東西。事實上,比特幣本身是由一個匿名實體創建的,它可能很快就會成為世界上大多數人使用的全球支付貨幣。這就是無需許可的創新的力量!
區塊鏈讓我們能夠與沒有任何共同點的人合作,而且我們知道他們沒有辦法打破這種信任關係。
——Preston Evans
比特幣和以太坊等去信任網絡的去中心化基礎使我們能夠構建這樣的未來。很明顯,任何與這些區塊鏈有信任關係的鏈,比如Rollup,也應該是去中心化的!
事實上,它引出了一個有趣且重要的問題:
如果Rollup 不是去中心化的,這是否意味著以太坊就不是去中心化的?
看待這個問題的一種稍微樂觀的方式是,在一個無需許可的世界中,應該允許Rollup 構建它們想要的任何東西,包括(但不限於)許可鏈,並且該Rollup 的用戶仍然能夠利用基礎層的安全性。只要基礎層是去中心化的,並且Rollup 已經「完整實現」(我們將在技術部分更多地討論「完整實現」),即使是許可鏈也應該可以安全使用。
但實際情況是,今天的大多數Rollup 尚未達到完整實現的階段,而且它們沒有為用戶提供所需的安全性和免信任級別。
那麼,Rollup 的正確實現方式是什麼樣的呢?讓我們來看看:
技術角度
要真正理解Rollup 的去中心化和安全性問題,我們需要從第一性原理來看待它。沒有多少人能比Sreeram Kannan 更好地解釋區塊鏈的首要原理。
區塊鍊是一種分佈式賬本,網絡中的不同節點遵循預定的協議規則以獲得對賬本狀態的共識。根據這些節點如何看待網絡,它們可以有不同的規則,用於確認自己的賬本網絡的正確狀態。
特別是在Rollup 中,全節點與輕客戶端具有不同的確認規則。在傳統的智能合約Rollup(SCR)中,智能合約(驗證橋)有自己的確認規則。如果沒有不良事件,這些確認規則最終會在所謂的「一致性區域」中重合。顧名思義,在一致性區域中,所有參與者對網絡都有相同的看法(以及賬本中相同的歷史記錄)。
如果所有確認規則都是安全的,就不會發生不良事件。正如Sreeram 在上面的帖子中分享的那樣,5 個屬性主要定義了這些確認規則的安全性。
- 賬本增長- Rollup 鏈應該不斷增長(活性)
- 抗審查性- 所有用戶都應該能夠將任何交易包含到基礎層
- 抗重組- 交易一旦完成就不會被撤回
- 數據可用性- 交易數據應該在某處發布
- 有效性- 交易和狀態轉換應該有效
前2 個屬性定義了系統的「活性」條件,而後3 個屬性定義了「安全」條件。
讓我們從不同Rollup 參與者的角度來審視這些問題,看看在不去中心化的情況下,哪些問題可以緩解。
不同的參與者依靠不同的機制來獲得安全性和活性
全節點:
如果運行全節點,則可以訪問已發布的數據並可以直接對其進行驗證。然後,你可以使用該數據自行執行交易,並確定交易的有效性以及這些交易後Rollup 的最終狀態。
因此剩下的安全條件是活性和抗重組性。對於抗重組性,全節點依賴於基礎鏈的驗證器及其使用的共識協議,而對於活性,全節點依賴於排序器和Rollup 實現。
輕客戶端:
大多數用戶使用輕客戶端獲取區塊鏈數據來與區塊鏈交互。輕節點有多種類型:
- 狀態驗證者- 驗證狀態轉換的有效性
- 數據可用性驗證者- 驗證數據可用性
- 共識驗證者- 驗證基礎層的共識證明
- 完整驗證者- 驗證以上所有內容
如果運行完整驗證者輕客戶端,可以通過數據可用性採樣來驗證數據是否可用,可以通過有效性證明或欺詐證明來驗證狀態轉換的有效性,還可以驗證狀態是否遵循基礎層的共識(在以太坊上,可以通過遵循同步委員會來完成)。
那麼剩下的安全條件就是活性,輕客戶端依賴於排序器和Rollup 實現。
內置智能合約(驗證橋):
在傳統SCR 中,智能合約的「確認規則」是強制執行所有5 個安全屬性:
- 通過排序器替換協議實現賬本增長
- 通過強制包容來抵制審查
- 在先前狀態的基礎上構建抗重組
- 通在基礎層提交DA 實現數據可用性
- 通過有效性/ 欺詐證明來驗證有效性
SCR 全節點依靠智能合約來強制執行活性屬性。它們從基礎層獲得抗重組性。
輕節點依靠智能合約來增強活性屬性並吸收來自基礎層的DA 和抗重組性。它們可以自己或通過智能合約驗證有效性證明。
SCR 的共識是遵循智能合約定義的規範鏈。
主權Rollup 怎麼樣?
主權Rollup 沒有智能合約(驗證橋)來強制執行有效性或活性條件。相反,它們將證明「下滾」(roll down)到下游的Rollup 節點。這些節點仍然依靠來自基礎層的數據可用性和抗重組性。
就像在SCR 中一樣,在主權Rollup 中,節點需要某種機制來強制執行活性屬性。為了定義規範鏈,它們選擇了獨立的機制,例如廣播p2p 證明。
這一切與去中心化有什麼關係?
無論是智能合約Rollup 還是主權Rollup,活性屬性都來自Rollup 的正確實現。正如我們在上面所看到的,Rollup 的正確實現必須包括兩個重要的組成部分:
- 強制包含機制;
- 排序器替換協議。
強制包含機制有助於增強抗審查性。這種機制允許用戶將他們的交易直接「強制包含」在基礎層中。然後,Rollup 上的任何用戶都可以將他們的資金強制退出回到基礎層。因此,即使只有一個中心化的排序器節點,只要有成熟的強制包含機制,它就無法審查用戶。
但這就足夠了嗎?
即使用戶可以自由退出,這可能意味著如果大多數用戶都跑回L1,L2 就沒有太多動力繼續運營。此外,強制包含機制通常需要很長的等待時間,並且對於普通用戶來說執行起來可能相當昂貴。這種機制提供的抗審查性並不完全實用(或實時),我們可以稱之為「弱審查」。
那麼我們就有了最終的活性屬性——賬本增長。
如果中心化排序作惡,它可以通過簡單地停止區塊生產來阻止Rollup 鏈的增長。如果發生這種情況,用戶無法採取任何措施使Rollup 再次「生效」。
為了解決這個問題,我們需要一個排序器替換協議。
排序器替換協議的想法是,如果排序器以惡意方式運行,則Rollup 能夠通過治理啟動一個新的排序器。實現這一目標的方法之一是用去中心化排序器協議替換中心化排序器節點。如果排序器是去中心化的並且不壟斷Rollup 的區塊構建,那麼它就幾乎不可能阻止Rollup 鏈。
因此,儘管用戶資金在通過強制包含機制實現的Rollup 中始終是安全的,但建立強大的排序器替換協議有助於保持Rollup 的活性並提供實用、實時的抗審查性。
這就是全部?
不完全是。從技術角度來看,還有一個方面需要考慮:
如果智能合約本身可以由Rollup 的中央委員會升級怎麼辦?假設Rollup 目前已正確實施,但明天委員會達成共識,我們不再需要智能合約,而是將Rollup 狀態的證明廣播到p2p 網絡。
如果作為Rollup 用戶,你不同意此類升級,則你應該能夠在實施升級之前退出Rollup(儘管這不是一個好的用戶體驗,並且可能對企業不利)。這可以通過「滯後的治理更新」來實現,就像一個「通知期」,之後將實施升級。不同意更新的用戶可以在通知期內退出。
去中心化的極端是擁有完全不可變的智能合約。這些合約不由任何多重簽名錢包或其他委員會管理,並且一旦部署就永遠無法升級。
當然,這也有其自身的問題。如果代碼中存在任何錯誤,或者某些重大事件需要更新智能合約,那麼Rollup 唯一的選擇就是分叉到新的智能合約,而用戶資金滯留在舊合約中。
不幸的是,Rollup 的當前狀態遠未達到我們上面討論的完整實現。大多數Rollup 仍處於「探索」階段,正在努力正確實施。
根據L2BEAT 的說法,Fuel v1 和DeGate 是僅有的兩個已經成熟、可以實現所有活性和安全條件的Rollup。
經濟角度
最後,讓我們從用戶和Rollup 運營商的角度來看看Rollup 經濟學:
- 用戶體驗:用戶應該獲得便宜的價格,並且交易不必等待太長時間;
- Rollup 利潤:排序器和代幣持有者應該有利可圖。
當用戶獲得快速且廉價的交易服務時,用戶體驗就會得到優化。
交易最終確定的速度取決於基礎層最終確定的速度。每當L1 上的數據最終確定時,交易就可以被視為最終交易。然而,運行全節點的用戶也可以通過簡單地執行交易並確定最終狀態來獲得即時最終結果。
但對於每個人來說都運行全節點並不實際。因此,中心化排序器很有用,因為它可以向用戶提供「軟確認」,表明他們的交易已包含在區塊中並將最終完成。這對於大多數用例來說已經足夠了。然而,它依賴於可以採取不利行動的中心化機構。
雖然一些排序器替代協議解決方案放棄了此屬性(因為對用戶不利),但其他解決方案(例如外部PoS 共識方案Espresso)可以提供類似的預確認保證,而無需承擔中心化排序器的風險。
用戶成本又如何呢?
Rollup 交易的顯式成本通常為:
L2 Gas 成本= L1 Gas 成本+ 排序器費用。理性的中心化排序器總是希望最大化自己的利潤,即使這意味著將更高的成本轉嫁給用戶。然而,值得注意的是,這也不一定可以通過去中心化排序器機制來解決。即使是去中心化排序器中的PoS 節點也希望最大化自己的利潤。
事實上,這會產生錯配問題,即Rollup 可能不想將利潤交給外部排序器。
Rollup 利潤:除了排序器費用外,Rollup 還可以通過從用戶交易中提取MEV 來賺取利潤。此MEV 通常很難歸因,因為很難找到排序器是否在交易包中包含一些自己的搶先交易。
如果Rollup 被外部PoS 共識取代,他們就會將此MEV 交給外部運營商。
值得注意的是,Rollup 將收入交給外部機制的這兩個問題都可以通過Rollup 和外部機制之間的「交易協議」來解決。
然而,正如Jon Charbonneau 在模塊化峰會期間的演講以及隨後的文章中所解釋的那樣,更好的想法可能是讓Rollup 治理將排序委託給一組經過驗證的節點。這些節點可以戰略性地選擇在地理上分散,並且治理可以簡單地將不良行為者踢出。
這可能是一種一石二鳥的解決方案,因為它允許Rollup 將利潤保留在內部,同時還減輕了中心化排序器的不利影響。
但與此相反的是,在排序器輪換有限的情況下,排序器可以具有短視行為,這可能導致壟斷定價/ 價格欺詐,進損害牲Rollup 用戶的利益。
無論哪種方式,為了使Rollup 對用戶來說經濟高效,一些排序器替換協議是必要的。
結論
無論Rollup 採取什麼路徑,至關重要的是,它的目標應該是一個完整的實現,具有成熟的排序器替換協議、強制包含和滯後治理更新機制。如果有強制包含和滯後更新機制,無論排序器是否集中心化,用戶資金都會是安全的。
然而,強大的排序器替換協議可以提高活性保證,並可能提高Rollup 用戶的經濟效益。