Rollup 將是有主權的鏈

大多數應用都會被佈署在rollup上,他們把Celestia用作共識層和數據可用層。作為首個為增加交易容量而提出的二層解決方案,rollup將是大多數區塊鏈應用的家園,無論它們用Celestia,還是以太鏈,還是別的平台做共識層和數據可用層。

在本文中,我們將討論什麼是rollup,它們當前是如何工作在以太鏈上的,以及它們將如何工作在Celestia上。

對現有的以太鏈的rollup來說,以太鍊是高高在上的結算層,以太鏈rollup完全就像以太鏈的’嬰兒鏈’一樣,因為正確的rollup鍊是由以太鏈上的合約定義的。相比之下Polkadot平行鏈模型也是一樣,中繼鏈對平行鏈來說,也是高高在上的結算層。

另一方面,對Celestia來說,我們認識到一種新型的rollup:有主權的rollup鏈。它們是獨立的,他們有權作為子網本身,來定義自己的正確性,就如同獨立的一層鏈一樣,並且可以通過受信任的或無需信任的橋,連接到其它的鍊或者結算層。

目錄:

  • 什麼是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是結算層,這給結算層帶來了升級負擔,這可能是符合預期的,如果結算層有專業的監管需求,或者有很高的金融安全需求。這也要求橋被信任。

為什麼需要主權?

就其核心而言,rollup是簡單的區塊鏈,rollup橋是這些區塊鏈的簡單的輕節點。當前被以太鏈帶動起來的rollup的目標是不可升級的rollup,同時有一個高高在上的結算層。這等於是運行一個永遠不能升級的區塊鏈節點,它的區塊只有被鏈上的高高在上的,這個rollup的輕節點接受才是有效的。正如我們上面所說的,這只是rollup設計空間中一個很小的子集。

在Celestia的實驗室,我們對不需要高高在上的結算層的,有主權的rollup更感興趣。因為我們相信區塊鏈中最重要的一層是公共共識。事實上,區塊鍊是允許社區在主權的基礎上,實現集體領導的工具,而不被現狀所拖累。這表示硬分叉是一種特性,而不是缺陷,因為硬分叉能強化主權社區實現公共共識的能力。這在某個公共資源出問題的情況下,尤其重要,比如以太鏈因DAO的破壞而分叉的時候。

有主權的rollup將是一個強有力的途徑,它使主權社區能利用社區的計算設備,來跟踪和加強社會經濟價值和協議,而不需要,為啟動和維護他們自己的共識層和驗證者集,付出額外的代價。且不需要在公共共識上從屬於某個高高在上的結算層,無論這個結算層是否適合自己。

有主權的rollup對開發者來說,在執行環境上有跟大的靈活性,因為他們不受限於,某個需要為他們的rollup處理欺詐證明或者零知識證明的,高高在上的結算層。尤其是在很多情況下,這些結算層不能便利和高效的處理某些欺詐證明和零知識證明。

請關注我們的後續文章,我們將進一步列舉例子來說明,主權對區塊鏈來說,為什麼特別重要。

Total
0
Shares
Related Posts