Rollups 遠不止是 L1 的一個擴展解決方案。Rollups 也是部署獨立、主權區塊鏈的一種強大方式,就像任何 L1 鏈一樣,更加絲滑
原文:Rollups as Sovereign Chains(Celestia)
作者: Mustafa Al-Bassam, Ertem Nusret Tas, Nima Vaziri
編譯: Hoyt
原用標題(譯後): Rollup 將是有主權的鏈
大多數應用都會被佈署在 rollup 上,他們把 Celestia 用作共識層和數據可用層。作為首個為增加交易容量而提出的二層解決方案,rollup 將是大多數區塊鏈應用的家園,無論它們用 Celestia,還是以太鏈,還是別的平台做共識層和數據可用層。
在本文中,我們將討論什麼是 rollup,它們當前是如何工作在以太鏈上的,以及它們將如何工作在 Celestia 上。
對現有的以太鏈的 rollup 來說,以太鍊是高高在上的結算層,以太鏈 rollup 完全就像以太鏈的'嬰兒鏈' 一樣,因為正確的 rollup 鍊是由以太鏈上的合約定義的。相比之下 Polkadot 平行鏈模型也是一樣,中繼鏈對平行鏈來說,也是高高在上的結算層。
另一方面,對 Celestia 來說,我們認識到一種新型的 rollup:有主權的 rollup 鏈。它們是獨立的,他們有權作為子網本身,來定義自己的正確性,就如同獨立的一層鏈一樣,並且可以通過受信任的或無需信任的橋,連接到其它的鍊或者結算層。
https://platform.twitter.com/embed/Tweet.html?dnt=true&embedId=twitter-widget-0&features=eyJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9mZiIsInZlcnNpb24iOm51bGx9LCJ0ZndfcmVmc3JjX3Nlc3Npb24iOnsiYnVja2V0Ijoib2ZmIiwidmVyc2lvbiI6bnVsbH0sInRmd190d2VldF9yZXN1bHRfbWlncmF0aW9uXzEzOTc5Ijp7ImJ1Y2tldCI6InR3ZWV0X3Jlc3VsdCIsInZlcnNpb24iOm51bGx9LCJ0Zndfc2Vuc2l0aXZlX21lZGlhX2ludGVyc3RpdGlhbF8xMzk2MyI6eyJidWNrZXQiOiJpbnRlcnN0aXRpYWwiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2V4cGVyaW1lbnRzX2Nvb2tpZV9leHBpcmF0aW9uIjp7ImJ1Y2tldCI6MTIwOTYwMCwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvZmYiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3VzZXJfZm9sbG93X2ludGVudF8xNDQwNiI6eyJidWNrZXQiOiJmb2xsb3ciLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3R3ZWV0X2VkaXRfZnJvbnRlbmQiOnsiYnVja2V0Ijoib2ZmIiwidmVyc2lvbiI6bnVsbH19&frame=false&hideCard=false&hideThread=false&id=1509869606906650626&lang=zh-cn&origin=https%3A%2F%2Fweb3caff.com%2Fzh%2Farchives%2F21076&sessionId=2dd5df41dbd4612eeb7d21a5a68060a77004ab4d&theme=light&widgetsVersion=3235bd17138fa%3A1657578976990&width=550px
目錄:
- 什麼是 rollup?
- 以太鏈(高高在上的結算層)上的 rollup
- Celestia 上的 rollup(有主權的)
- 有主權的跨 rollup 通訊
- 為什麼需要主權?
什麼是 rollup?
rollup 是一種吧它們的區塊發送到另一條鏈的區塊鏈,並且繼承另一條鏈的共識和數據可用性(那條鏈因此被稱為'共識層和數據可用層')。
典型的 rollup 由三方共同維護:排序者,rollup 的全節點,rollup 的輕節點。所有 rollup 都有自己的狀態,比如用戶在某個時間點的的賬戶地址和代幣餘額。
排序者:是一種收集 rollup 的用戶發送的交易的節點,把交易打包成區塊,並且把區塊發佈到共識層和數據可用層。區塊由兩部分組成:區塊頭和實際的交易數據。區塊頭包含但不限於鏈的,密碼學上的狀態確認——通常說來是默克爾樹。
Rollup 的全節點:它下載 rollup 的全部區塊頭和交易數據,處理和驗證所有的交易,從而計算出 rollup 的狀態,並且驗證所有交易的有效性。如果全節點在 rollup 的區塊中發現一個無效交易,他會拒絕並忽略這個區塊。這樣一來,排序者不能把無效交易打包到有效區塊中,因為其它節點會通過自己的判斷拒絕有問題的區塊。
Rollup 的輕節點:只下載 rollup 的區塊頭,但是不下載或者處理任何交易信息,因此不能全靠自己來計算最新狀態或者驗證 rollup 狀態的有效性。作為替代,他們可以通過 rollup 的最新的區塊頭了解到最新的確認狀態。他們也間接地驗證交易的有效性,通過諸如欺詐證明或有效性證明。
當 rollup 節點同步 rollup 鏈的數據,它們只能按照共識層和數據可用層確定的排序。對每個區塊高度,他們將接受發佈到數據可用層的第一個有效的 rollup 區塊——不管是直接(全節點)還是間接(輕節點)驗證有效性。
關於 rollup 的更多細節和技術性的解釋,我們建議閱讀 Celestia 論壇上的這個帖子。
以太鏈(高高在上的結算層)上的 rollup
當前以太網上的 rollup 把它們的區塊發送到基於 EVM 的智能合約,這被稱為'橋合約'。這個合約實際上有效地在主鏈上實現了一個 rollup 的輕節點,它接收區塊頭並處理欺詐證明或者有效性證明。在這種模型中,存在一個高高在上的,硬編碼的,只需要最小信任的,通往以太主鏈的橋。
通過橋合約,用戶可以在 rollup 和橋所在的執行鏈間,以只需要最小信任的方式,抵押或贖回資產。因為在欺詐證明或有效性證明的幫助下,合約不會接受排序者提供的無效區塊。
以太鏈,扮演了共識層和數據可用層,它只負責記錄,按照橋合約定義的規則,確定有效的區塊。因此,rollup 全節點和輕節點(與智能合約無關的),把以太鏈上的輕節點,看做是根本的信任來源,這才是一條典範的(正確)的 rollup 鏈(譯者註:即能取得最終共識的鏈)。在這個模型中,我們把以太鏈看作是高高在上的,和 rollup 配對的結算層。同時,rollup 對以太鏈來說,就像一條'嬰兒鏈' 一樣,而不是有自主權的獨立的鏈。
Celestia 上的 rollup(有主權的)
Celestia 上,有主權的 rollup 完全不需要把他們的區塊提交給智能合約,而是直接作為原始數據提交到鏈上。Celestia 的共識層和數據可用層,完全不翻譯或者執行 rollup 區塊中的計算邏輯,當然也不需要要運行在主鏈上的,rollup 的輕節點。
作為替代,rollup 完全像一層鏈一樣運行:全節點和輕節點直接從 rollup 的點對點網絡下載區塊。(譯者註:跟傳統的一層鏈相比)主要的區別是,他們也要驗證 rollup 的區塊數據,被包含和正確排序在 Celestia 的數據可用層裡,以默克爾證明的方式。因此,和一層鏈相似,典範的鏈,通過本地驗證分叉選擇規則和 rollup 交易的節點來確定,而不是一個高高在上的,主鏈上的輕節點。
欺詐證明和有效性證明的工作方式也和他們在一層鏈的工作方式類似。欺詐證明,通過點對點網絡,被直接傳播給節點。並且如果是有效性證明的話,它可以直接包含在區塊頭內(例如,參見 Mina 協議)。因為,網絡同步時,點對點網絡的延遲,明顯要小於從主鏈獲取欺詐證明的延遲。這表示點對點網絡的挑戰期,有可能要短很多,對輕節點來說,最終確定鏈狀態將快很多。
在這個模型中,rollup 和結算層之間,沒有高高在上的橋,因為 rollup 只是簡單直接地把區塊發佈到數據可用層,而不是某個合約。這和 Cosmos 的設計哲學一致,因為 Cosmos 連接器對 Cosmos 領域來說,也不是高高在上的,而是可選的,可以在允許各領域保持主權獨立的條件下添加。rollup 和 rollup 之間,可能還是會需要一些要求最小信任的橋——我們將在下一個小節討論。
如果 rollup 不依賴於高高在上的結算層來選擇分叉和驗證交易,它就是主權獨立的。進一步說,rollup 的典範鍊是由 rollup 的點對點網絡上的節點來確定的(這個網絡在數據可用層中,它也確保區塊是可用的)。這表示結算層不可能把交易強加給 rollup。
'不需要高高在上的結算層',更多是一個公眾的選擇,而不是基於技術,這表示 rollup 的社區間,有一個公共的約定,它要求 rollup 交易的驗證規則,由社區確定,而不是一個不可變的一層合約。實踐中,這表示通往 rollup 的橋,不能是高高在上的,必須是可變的,以便有一種升級的方法,使得有主權的 rollup 上的硬分叉可以被確認(下一節將具體討論)。
因此,這表示 rollup 的社區可以通過硬分叉來更新鏈,而不會導致結算層或數據可用層,或一層鏈上的監管,破壞鏈的最小信任本性。這對有主權的 rollup 上原生鑄造的資產來說很重要,而不需要所有資產都從其它鏈轉移而來(譯者註:即都需要主鏈資產的背書)。
有主權的 rollup 也可以只把以太鏈用作數據可用層,而不是高高在上的結算層,但這樣和採用'純粹' 的數據可用層,比如 Celestia 相比,麻煩更多。因為 rollup 的節點,需要關注以太鏈結算層上所有交易的有效性,才能運行以太鏈上數據可用層的節點(譯者註:因為以太鏈的所有功能是打包在一起的,不能說只運行其中一部分)。
構建一個 Celestia 上的'結算 rollup' 也是可能的,它也是一種有主權的 rollup。一個有主權的 rollup,可以被一些非主權獨立的 rollup,用作結算層。不過,這種結算層的主權和以太一層鏈的主權類似,它的社區經常通過具有公眾共識的硬分叉來更新鏈(譯者註:即通過類似 EIP 的機制達成公眾共識,然後通過硬分叉實現更新)。
有主權的跨 rollup 通訊
正如前面提到的,Celestia 上的 rollup 完全不需要一個高高在上的橋來連接任何結算層。rollup 的結算層和執行層就因此而被解耦和模塊化了。那麼,Celestia 的 roullup 如何橋接到其它鏈?不受高高在上的結算層的限制,我們設計跨鏈橋的空間更寬廣了。我們對設計空間和選項有如下探索。
讓我們假設有主權的 rollup 鏈 A 想要橋接到另一個鏈 B——假定也是一個 rollup。
點對點結算 vs. 鏈上結算
A 和 B 可以直接互相在對方嵌入輕節點。比如,兩條鏈都運行 A 和 B 的輕節點。這樣,輕節點可以直接通過點對點網絡接收相應的欺詐證明或者可用性證明。我們把這稱之為'點對點結算'。
兩條鏈上都可以有橋接合約,這允許資產被抵押或贖回到其中任何一個鏈(比如通過'鎖定然後鑄造' 機制),並且被互相的排序者和執行交易的驗證者監督(無論是直接還是間接的)。
另一方面,輕節點也可以被實現為鏈上的智能合約,並且區塊頭和欺詐證明或者零知識證明可以被提交給鏈上的智能合約。這就是以太鏈上的 rollup 的情況。我們稱之為'鏈上結算'。
連接器和有中心點的網絡 vs. 點對點橋接
當前,rollup 預期連接到單個結算層,這個結算層像結算連接器,比如以太鏈(連接器和有中心點的網絡)。如果 A 和 B 都同時連接到相同連接器,那他們可以通過橋互相轉移資產,並把連接器看作是結算中介。
不過,就像 IBC,rollup 可以選擇直接互相連接,並採用一條中介性的連接鏈(點對點橋接)。
動態橋接 vs. 靜態橋接
根據 rollup 的不同的執行環境,鏈的更新或者硬分叉可能要求橋接到新的鏈。這是因為 A 和 B 必須互相支持對方的執行環境,以便對方的欺詐證明或者零知識證明可以工作。
讓我們假定某個 optimistic rollup 鏈 A 的狀態機是直接用 Golang 寫的(比如,利用 Cosmos SDK),而不是一個智能合約環境,比如 EVM 或者 CosmWasm。為了橋接到鏈 B,B 需要更新他們節點上的軟件,以便以功能庫的方式,包含 A 的狀態機,以便驗證 A 的欺詐證明。這是因為 B 不能自動添加 A 的狀態機操作碼,因為這些代碼可能是惡意的或者非確定性的,這會有安全風險。因此,公眾共識或監督這些橋是必要的。這和用零知識證明構建的有效 rollup,不能被 B 理解的情況是相似的。我們把這叫做'靜態橋接',因為橋(譯者註:的功能)必須在更新鏈的時候,被明文添加。這種橋可以按照 IBC 輕節點來實現。
另一方面,如果某個 optimistic rollup 鏈 A 是在沙盒智能合約環境,比如 EVM 或 CosmWasm 環境中編寫的,那鏈 B 可以允許 A 的狀態機操作碼被直接添加到 B 的狀態機中,而不需要公眾共識或監督,比如通過一個智能合約。作為對比,如果 A 是個零知識證明 rollup,它可以被動態地橋接到 B,只要 B 能兼容理解 A 的零知識證明。我們稱之為'動態橋接'
非高高在上的結算層 vs. 高高在上的結算層
如果一個 rollup 鏈把它的區塊和證明發佈到,像連接器那樣工作的結算層,比如以太鏈。我們說這種結算層是'高高在上的',如果典範鍊和它的交易驗證由結算層來決定。
另一方面,如果 rollup 把它的區塊和證明發佈到結算層,但 rollup 的典範鏈完全是由 rollup 自己的網絡決定的,我們說這種結算層是'非高高在上的'。為了使非高高在上的結算層有意義,需要有某種方式能夠更新 rollup 而不要求結算層硬分叉。
基於委員會的橋 vs. 基於證明的橋
為了使兩個 rollup 之間的橋只需要最少的信任,rollup 鏈必須互相驗證欺詐證明或者零知識證明。這表示他們必須互相能夠理解對方的狀態機('基於證明的橋')。
不過,'基於委員會的橋' 也是存在的(比如現在的 IBC 橋)。相比於依賴狀態有效性證明,這些橋依賴一個委員會來證實區塊的有效性。這種橋不是最小信任的,因為為會員有可能盜竊資產。不過,這種橋的複雜性可能會低一些,因為部署橋的鏈,不需要,跟源頭鏈一樣的,處理欺詐證明或者零知識證明的功能。
可升級的橋 vs. 不可升級的橋
當前以太鏈上的 rollup,事實上是要求 rollup 不能被多籤或者委員會升級,因為如果他們可以,他們就不是最小信任的了,而資產可以在升級過程中被盜竊。在這種模型中,rollup 只能通過一層鏈的硬分叉來升級,因為典範鍊是一層結算層來確定的,意味著 rollup 沒有主權。
要使有主權的 rollup 有實用性,應該有某種升級途徑,來確認 rollup 的主權,而不是用高高在上的結算層。要達到目的,有幾種方式可以考慮,基於橋是否是最小信任的。假定 A 鏈正要硬分叉,而 B 鏈需要升級它上面 A 的輕節點。
對靜態橋,B 也需要硬分叉。這種升級路徑,意味著橋是最小信任的,因為不需要多籤或者委員會的參與。
對動態橋,鏈 A 控制的委員會(比如 DAO)可以更新 B 上的輕節點。這需要橋被信任。
對動態橋,鏈 B 控制的委員會(比如 DAO)可以更新 B 上的輕節點。如果 B 是結算層,這給結算層帶來了升級負擔,這可能是符合預期的,如果結算層有專業的監管需求,或者有很高的金融安全需求。這也要求橋被信任。
為什麼需要主權?
https://platform.twitter.com/embed/Tweet.html?dnt=true&embedId=twitter-widget-1&features=eyJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9mZiIsInZlcnNpb24iOm51bGx9LCJ0ZndfcmVmc3JjX3Nlc3Npb24iOnsiYnVja2V0Ijoib2ZmIiwidmVyc2lvbiI6bnVsbH0sInRmd190d2VldF9yZXN1bHRfbWlncmF0aW9uXzEzOTc5Ijp7ImJ1Y2tldCI6InR3ZWV0X3Jlc3VsdCIsInZlcnNpb24iOm51bGx9LCJ0Zndfc2Vuc2l0aXZlX21lZGlhX2ludGVyc3RpdGlhbF8xMzk2MyI6eyJidWNrZXQiOiJpbnRlcnN0aXRpYWwiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2V4cGVyaW1lbnRzX2Nvb2tpZV9leHBpcmF0aW9uIjp7ImJ1Y2tldCI6MTIwOTYwMCwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvZmYiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3VzZXJfZm9sbG93X2ludGVudF8xNDQwNiI6eyJidWNrZXQiOiJmb2xsb3ciLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3R3ZWV0X2VkaXRfZnJvbnRlbmQiOnsiYnVja2V0Ijoib2ZmIiwidmVyc2lvbiI6bnVsbH19&frame=false&hideCard=false&hideThread=false&id=1540772513516511233&lang=zh-cn&origin=https%3A%2F%2Fweb3caff.com%2Fzh%2Farchives%2F21076&sessionId=2dd5df41dbd4612eeb7d21a5a68060a77004ab4d&theme=light&widgetsVersion=3235bd17138fa%3A1657578976990&width=550px
就其核心而言,rollup 是簡單的區塊鏈,rollup 橋是這些區塊鏈的簡單的輕節點。當前被以太鏈帶動起來的 rollup 的目標是不可升級的 rollup,同時有一個高高在上的結算層。這等於是運行一個永遠不能升級的區塊鏈節點,它的區塊只有被鏈上的高高在上的,這個 rollup 的輕節點接受才是有效的。正如我們上面所說的,這只是 rollup 設計空間中一個很小的子集。
在 Celestia 的實驗室,我們對不需要高高在上的結算層的,有主權的 rollup 更感興趣。因為我們相信區塊鏈中最重要的一層是公共共識。事實上,區塊鍊是允許社區在主權的基礎上,實現集體領導的工具,而不被現狀所拖累。這表示硬分叉是一種特性,而不是缺陷,因為硬分叉能強化主權社區實現公共共識的能力。這在某個公共資源出問題的情況下,尤其重要,比如以太鏈因 DAO 的破壞而分叉的時候。
有主權的 rollup 將是一個強有力的途徑,它使主權社區能利用社區的計算設備,來跟踪和加強社會經濟價值和協議,而不需要,為啟動和維護他們自己的共識層和驗證者集,付出額外的代價。且不需要在公共共識上從屬於某個高高在上的結算層,無論這個結算層是否適合自己。
有主權的 rollup 對開發者來說,在執行環境上有跟大的靈活性,因為他們不受限於,某個需要為他們的 rollup 處理欺詐證明或者零知識證明的,高高在上的結算層。尤其是在很多情況下,這些結算層不能便利和高效的處理某些欺詐證明和零知識證明。
請關注我們的後續文章,我們將進一步列舉例子來說明,主權對區塊鏈來說,為什麼特別重要。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。