BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

萬字詳談Rollup排序器的去中心化道路

Foresight News
特邀专栏作者
2023-03-25 02:00
本文約19261字,閱讀全文需要約28分鐘
「Rollup」要成為真正的Rollup,排序器去中心化是關鍵的一步。
AI總結
展開
「Rollup」要成為真正的Rollup,排序器去中心化是關鍵的一步。

原文作者:Jon Charbonneau

原文作者:

原文作者:原文作者:原文編譯:0x11,Foresight News

 

Kelvin 認為「ZK Rollup」 不是真正的ZK Rollup,我認為所有「Rollup」都

不是真正的Rollup

,至少現在還不是。那麼問題是,我們如何使它們成為真正的Rollup?

  • 當前的Rollup 大多是需要信任和許可的:

  • 來源:L2 Beat https://l 2b eat.com/scaling/risk

  • 我將概述以下方面的情況:

  • 強制交易包含機制:即使Rollup 運營商正在審查用戶,用戶也應該能夠強制包含他們的交易以抵抗審查。

MEV-Aware 設計:我將簡要介紹FCFS 的一些變體。關於加密內存池,可以參考我最近的文章。

Rollup 如何工作?

智能合約Rollup (SCR)

首先,簡要回顧一下SCR 的工作原理工作原理

  • 工作原理

  • 工作原理

  • 基於輸入的確定性輸出(Rollup 區塊鏈)

圖片描述

圖片描述

 

圖片描述

更具體地說,傳統的排序器通過將它們的狀態根和調用數據發佈到它們關聯的L1 智能合約來提交Rollup 塊,新塊被添加到Rollup 的頂端。鏈上合約運行Rollup 的輕型客戶端,保存區塊頭哈希。合約在收到有效性證明後或在欺詐證明窗口期結束後被確認結算。如果一個未最終確定的ORU 塊是無效的,可以通過提交一個回滾鏈的欺詐證明來孤立它(以及所有後續區塊)。證明有助於保護跨鏈橋:SCR 具有「交易包提交應該需要某種類型的保證金來防止惡意行為。如果提交了欺詐交易包(例如無效的狀態根),保證金將被燒毀並分配一些給欺證明的挑戰者。

SCR 具有「

  • 合併共識

  • 」——一種可在鏈上驗證的共識協議。 Rollup 共識可以完全在L1 智能合約中運行。它不影響主鏈共識機制,也不需要主鏈共識機制的任何支持。

  • 去中心化共識協議通常包含四個主要特徵(請注意,這是一種簡化,不能清楚地說明全部共識協議,例如,無領導協議):

  • 區塊有效性函數——狀態轉換函數。區塊有效性在鏈下執行,通過有效性證明或欺詐證明來證明。

分叉選擇規則——如何在兩個原本有效的鏈之間進行選擇。 Rollups 旨在通過構造實現分叉自由,因此並不嚴格要求分叉選擇規則。

  • 領導者選擇算法——允許誰將新區塊添加到區塊鏈。

  • 抗女巫攻擊——PoW、PoS 等

鑑於1 和2 還存在爭議,去中心化排序器的最低要求就是某種形式的抗女巫攻擊+ 領導者選舉。 Fuel Labs 一直在做這方面的工作,他們認為PoS:

不應該應用於具備完整共識協議的Rollup(其中驗證器/ 排序器將對區塊進行投票)

應該只用於Rollup 中的領導者選擇

  • 為什麼你應該有一個L2 本地共識,這一點也有很好的論據,稍後會詳細介紹。

  • SR - 沒有決定「規範」Rollup 鏈的L1 智能合約。規範的Rollup 鏈可以由Rollup 節點自己決定(檢查L1 DA,然後在本地驗證分叉選擇規則)。

圖片描述

圖片描述圖片描述來源: Celestia相關說明:有一個有趣的論點,即不存在全球規範鏈(只有橋能決定哪個鏈被認為是規範的)。這裡有一個反駁的觀點此處。 

此處此處

去中心化排序器

用戶發起的強制交易包含

智能合約Rollup

智能合約Rollup

智能合約Rollup

 

智能合約Rollup

如上所述,定序器一般負責批量處理交易並將其發佈到L1 智能合約。不過,用戶也可以自己直接向合約中插入一些交易:

 

當然這是低效和昂貴的,因此排序器將打包交易並將它們一起提交。這分攤了許多交易的固定成本,並允許更好的數據壓縮:

定序器承諾最終會在L1 上發布這些交易,同時我們可以計算輸出以獲得軟確認:

 

當排序器將這些事務發佈到L1 時,會進一步鞏固輸出:

通常情況下,用戶在從L1 將資金橋接到L2 時只會自己包含交易。這作為L1 合約的輸入,告訴L2 它可以在L2 上鑄造由L1 上鎖定資產支持的資產。因為我是L2 過來的,所以排序器可以發起這個取款請求,提交給L1。但是,現在你信任L2 排序器的抗審查性(censorship resistance,CR)。你不再擁有與在L1 相同的保證,也許他們不喜歡你,或者排序器關閉,你的資產永遠停留在L2 上。包含列表

Rollup 可以通過各種措施在本地增加自己的抗審查。這可能包括擁有一個具有高質押價值的L2 共識集、

包含列表

的一些變體、添加閾值加密等,以最大限度減少L2 用戶審查的機會。這些都是不錯的做法,但理想情況下,我們還希望L2 用戶擁有與L1 相同的抗審查保證。如果用戶受到審查,他們需要一些方法來強制退出Rollup 或強制將他們的交易納入L2。這就是為什麼L2 用戶應該保留諸如強制將他們的L2 交易直接包含到L1 合約中的能力。例如,被審查的用戶可能能夠自己直接向L1 提交一個單操作交易包。,我強烈推薦閱讀。它希望在具有共享證明者和DA 層的系統中啟用交叉Rollup 強制交易。

主權Rollup

主權Rollup主權Rollup)。 

精彩帖子

主權Rollup 的強制包含機制工作方式不同,如前所述,它們執行分叉選擇規則的方式與SCR 不同(Sovereign Labs 在發布的

精彩帖子

在SCR 中,L1 智能合約執行Rollup 的分叉選擇規則。除了驗證ZK 證明之外,它還檢查該證明是否建立在之前的證明之上(而不是其他分叉),以及它是否處理了在L1 上發送的所有相關強制交易。

SR 可以將其ZK 證明發佈到L1 DA 層,供所有人查看為calldata/blob(即使L1 未驗證它們)。然後,你只需添加一條規則,即新證明只有在先前有效證明的基礎上才有效。這個規則可以在客戶端強制執行,但它會要求用戶掃描鏈的歷史。

calldata 可以綁定回L1 區塊頭,並且可以添加一條聲明說「我已經掃描了DA 層的證明(從區塊X 開始到區塊Y 結束),並且這個證明建立在最近的有效證明之上」。這直接在證明中證明了分叉選擇規則,而不是在客戶端強制執行。

由於你已經在掃描證明,因此你還可以證明你已經掃描了任何強制交易。任何人都可以在需要時將強制交易直接發佈到L1 DA 層。

交易終局性的層級和ZK 快速終局性

以太坊上的鏈上證明驗證通常非常昂貴,因此目前的ZKR(例如StarkEx)往往每隔幾個小時才將STARK 發佈到以太坊。相對於交易數量,證明的增長往往非常緩慢,因此這種批處理可以顯著節省成本。然而,這麼長的最終確定時間帶來的用戶體驗並不理想。

如果Rollup 只在鏈上發布狀態差異(而不是完整的交易數據),那麼即使是完整的節點也無法在沒有證明的情況下確保最終確定性。如果Rollup 的完整交易數據發佈在鏈上,那麼至少任何完整節點都可以與L1 一起完成。

通常,輕節點只會依賴中心化排序器實現軟確認。然而,ZKR 可以在p2p 層中快速生成和分發ZK 證明,供所有輕客戶端實時查看,同時以L1 速度為它們提供最終性。稍後,這些證明可以遞歸地打包發佈到L1。這就是Sovereign Labs 計劃做的事情,類似地,Scroll 計劃在鏈上發布中間ZK 證明(但不驗證它們),因此輕客戶端可以相當快地同步。通過這兩種方式,Rollup 可以開始以L1 的速度完成終局性,而不是等待以節省Gas 成本。請注意,在這兩種情況下,你只是將最終確定時間降低到絕對最小值(L1 速度)。任何排序器都不會比L1 更快實現最終確定性。不同的排序器設計可以做的最好的結果是為你提供比L1 更快的預確認,並具有不同級別的確定性(例如,具備去中心化共識集的L2 的預確認比單個可信排序器的更可靠)。

  • Patrick McCorry 最近還對Rollup 交易

  • 最終確定性等級

進行了很好的概述。

根據誰向你提交(以及Rollup 結構是什麼),交易「最終性」有不同的級別

  • 不同的參與者在給定時間對「真相」的認知程度不同(例如,L2 輕客戶端、全節點和L1 智能合約將在不同時間意識到相同的「真相」)

  • 單排序器

當前大多數Rollup 都有一個排序器用於提交交易包。它提高了效率,但也帶來了較弱的實時活性和抗審查性。加上適當的保護措施後,這對於許多用例來說可能是可以接受的:

抗審查:如上所述,用戶強制包含交易的機制。

活性:如果主排序器出現故障,則可以使用某種熱備份選項(類似地為ZKR 證明者提供備份,而ORU 欺詐證明者應該是無需許可的)。如果備用排序器也出現故障,任何人都應該能夠介入。

 

例如,備用排序器可以由Rollup 治理機制選出,用戶可以獲得安全性、抗審查性和活性。即使從長遠來看,單個主動排序器也是一個可行的選擇。

Base 可能是一個新趨勢的開始。公司現在可以管理和優化他們的產品,就像他們對企業區塊鏈的胡說八道感到興奮一樣,但它現在實際上可以成為一個無需許可、安全和可互操作的鏈。

Base 最終打算將他們的排序器集去中心化,但重點是他們並不嚴格需要這樣做(或者他們可以在非常有限的範圍內,例如小型排序器集)。要明確的是,這需要Rollup 來實施必要的步驟,來確保它實際上是安全的,並維護抗審查性(刪除任意即時升級、實施穩健證明、強制交易包含、MEV 拍賣等)。

這將是對中心化/ 託管產品的巨大改進,而不是對最大去中心化產品的替代。 Rollup 只是擴展了設計空間。這也是大多數Rollup 團隊沒有將排序器去中心化作為首要任務的主要原因——其他項目更看重用戶安全、抗審查和減少對Rollup 運營商的信任。

然而,如果用戶/ 其他方需要介入以保持活性和「實時抗審查」(相對於「最終抗審查」,例如強制通過L1 進行交易),這仍然不是理想的選擇。根據強制交易包含機制,低價值用戶介入可能成本高昂或不切實際。對實時抗審查和活性的最大保證有高度偏好的Rollup 將尋求去中心化。運營單個受許可的排序器時也可能存在監管考慮。

權威證明(PoA)

對單個排序器的一個直接改進是允許少數地理分佈式排序器。排序器可以簡單地輪換,他們之間建立聯繫將有助於激勵誠實的行為。

這個概念應該不會太陌生——多重簽名橋通常有少數受信任的公司,或者類似的委員會,比如Arbitrum 的AnyTrust DA 。但重要的是,他們在這裡的權力要小得多(你不依賴Rollup 排序器來保證安全,這與多重簽名跨鏈橋運營商提取鎖定資金的方式不同)。總的來說,與單排序器相比,這種方案的抗審查和活性更好,但仍然不完美。

排序器拍賣又名MEV 拍賣(MEVA)

Rollup 也可以通過智能合約直接運行MEV 拍賣(MEVA) ,而不是根據質押分配排序器權利。任何人都可以競標交易的排序權,拍賣合約將排序權授予出價最高的人。這可以針對每個區塊進行,也可以持續一段較長的時間(例如,競標成為第二天的排序器的權利)。獲勝的排序器仍應提交一筆保證金,以保證如果他們隨後出現故障或作惡,可以實施處罰。

資料來源:ZK Rollup 的去中心化

在實踐中,如果拍賣沒有直接納入協議,協議外的MEVA 是最自然的結果。如果根據質押權重確定排序權,就會出現某種形式的MEV-Boost/PBS 式拍賣系統,類似於我們今天在L1 以太坊上看到的。這種情況下,費用/MEV 可能會分配給質押者。如果拍賣被納入協議,那麼費用/MEV 可能會進入某種形式的Rollup DAO 金庫。

領導選舉的無許可PoS

Dymension

無需許可即可作為排序器加入,但你必須質押代幣(可能是L2 的原生代幣)。質押機制可以通過智能合約或直接在Rollup 中建立在基礎層上。你可以使用此PoS 結合某種形式的鏈上隨機性的方式來進行領導者選擇,這與任何L1 大致相同。你對一個區塊進行排序的概率= 你佔總質押量的比例。可以通過削減等來對錯誤/ 惡意的排序器施加懲罰。

請注意,由於上述原因,這不需要排序器達成共識。 Rollup 使用L1 達成共識,因此不需要本地共識。質押決定哪些排序器可以提議區塊,但是他們不需要對其他排序器提議的區塊進行投票。Litepaper也可以授予任意時間長度的排序權。你可能有權對100 個連續的Rollup 塊或1000 個等進行排序。更長的周期可能更高效,並且在給定時間內只需要一個排序器。然而,授予擴大的壟斷權可能有其他外部性。

Dymension 是一個實踐這些思路的項目。 Dymension Hub 將是Cosmos 中典型的誠實多數PoS L1。它的L2(「RollApps」)將使用它進行結算和共識,同時依賴Celestia 進行DA(因此這些L2 實際上是「Optimistic Chains」,而不是「Rollup」)。

根據他們的

,去中心化RollApp 排序將需要在Dymension Hub 上抵押DYM(Dymension 的原生資產)。然後,領導者的選擇取決於抵押的DYM 的相對數量。這些排序器將從各自的Rollup 中獲得收入(費用和其他MEV),然後將相關的成本支付給Dymension Hub 和Celestia。

這種機制的結果是,這個堆棧中幾乎所有的價值捕獲都直接累積到DYM 代幣中。使用自己的原生代幣進行排序的Rollup(正如StarkNet 打算對STRK 所做的那樣)為他們自己的代幣附加了價值。這個設置啟發了一個問題:以太坊Rollup 是否只能使用ETH 進行排序器選舉?

  • 在我看來,這大大降低了在此類結算層上部署L2 的動機。大多數L2 團隊自然希望他們自己的代幣能夠產生有意義的價值(而不是僅僅用於費用)。

  • PoS 共識:激勵L2 驗證者在L1 最終確定之前達成臨時L2 共識,提供更強的預確認。這不是一個嚴格的要求,但卻是一個有吸引力的選擇。

此外,STRK 可以以某種形式用於:

  • 此外,STRK 可以以某種形式用於:

  • 證明:激勵證明者生產STARK。

交易流程如下:

  • 交易流程如下:

  • 交易流程如下:

  • 交易流程如下:

  • 排序:排序器對交易進行排序並提交一個區塊

 

L2 共識:StarkNet 共識協議簽署提議的區塊證明生產:證明者為共識同意的區塊生成證明。 

L1 狀態更新:將證明提交給L1 以進行狀態更新

有關StarkNet 計劃的更多詳細信息,你可以參考以這一篇

  • 貼文

  • L2 共識,還是只是L1 共識?

L2 可能會也可能不會實現自己的本地共識(即,L2 驗證者在將數據發送到L1 以獲得最終共識之前在其區塊上簽名)。例如,L1 智能合約可以根據其規則了解到:

  • 用於領導者選舉和共識的PoS: 「我只能接受由L2 共識簽署的區塊。」

  • 用於領導者選舉的PoS: 「這是被選中的排序器,此時允許提交區塊。」

  • Rollup 如果沒有本地共識,你需要做的是:

  • 使Rollup 區塊提議無需許可。

創建一些標準來選擇為給定高度構建的最佳區塊

讓節點或結算合約執行分叉選擇規則

從L1 繼承共識和最終性

請注意,在任何一種情況下,L2 的價值都可以累積到Rollup 代幣中。即使L2 代幣僅用於某種形式的領導者選擇(而非共識投票),排序權的價值仍會累積到L2 代幣上。L2 共識的缺點現在讓我們討論在L1 之前擁有/ 不擁有本地共識的權衡。Fuel Labs 團隊提出的一個論點Kalman Lajkó認為L2 共識會降低抗審查性。 「這允許大多數驗證者審查新區塊,這意味著可以凍結用戶資金。不需要PoS 來保護Rollup,因為Rollup 是由以太坊保護的。」這是一個爭議地帶。如前所述,即使審查排序器依然可以提供抗審查性(例如,強制交易直接進入L1,或

更複雜的設計

  • ,例如

  • 正在研究的設計)。

此處此處此處

此處

此處

所述,一些人對在排序器去中心化中使用PoS 表示擔憂。 L1 與L2 的複雜性可能使處理某些類型的攻擊更具挑戰性。

L2 共識的優勢排序器的最大目標可能是在L1 的完全安全和保障之前為用戶提供更快的軟確認。查看StarkNet 的機制:

「強大而快速的L2 終局性——StarkNet 狀態只有在交易包被證明為L1 之後才成為最終狀態(可能需要幾個小時)。因此,L2 去中心化協議應該在下一交易包被證明之前就執行順序做出有意義的承諾。」

由多排序器的經濟安全支持的共識有助於在此期間提供

更有力的保證

「Starknet 共識必須是負責任的,因為違反安全和活性的行為會受到懲罰,任何部分參與者(包括惡意的多數)都會受到懲罰。」

Rollup 還可以靈活地在共識機制選項的範圍內嘗試不同的權衡點,因為它們最終總是可以回退到以太坊L1 的安全性和動態可用性。

在L1 排序的Rollups上面的Rollup 都構建了特定的排序器,以某種形式創建Rollup 區塊。例如,PoS 無需許可即可加入,但在給定slot,只有選出的L2 排序器能夠提交區塊。也有一些相關方案不依賴任何L2 排序器,它們通過L1 本身來進行交易排序。完全無政府狀態

  • Vitalik 早在2021 年就提出了這種「

  • 完全無政府狀態

」的想法。任何人都可以隨時提交交易包。它滿足了上面討論的去中心化排序器的兩個最低要求:

抗女巫攻擊:由L1 提供抗女巫攻擊(即交易費用和區塊大小/gas 限制)。

Based Rollup

領導者選擇:領導者選擇是事後的。

這已經足夠了,因為L1 已經提供了安全性。如果L2 區塊已發佈到L1,則它們只有在無效或建立在無效區塊上(將被回滾)時才會被孤立。如果它們有效並發佈到L1,則它們具有與L1 本身相同的安全性。Justin DrakeVitalik 指出了一個重要的問題:效率低下。多個參與者很可能並行提交交易包,但只有一個可以被成功包含。這會浪費大量精力來生成證明和/ 或在發布交易包到鏈上時浪費Gas。Based Rollups但是,PBS 現在可以使這種無政府狀態的設計變得可行。它允許更多有規律的排序,每個L1 區塊最多有一個Rollup 區塊,並且沒有浪費Gas(雖然可能浪費了計算資源)。 L1 區塊構建者可以只包含最高價值的Rollup 區塊,並根據搜索者輸入的出價構建區塊,類似於任何L1 區塊。 Z 在默認情況下許可ZK 證明可能是合理的,這樣做可以避免浪費計算。

這是

最近提出的「

」提案背後的核心思想。他使用該術語來指代由L1(「基礎」層)排序交易的Rollup。 L1 提議者只需確保在自己的L1 區塊中包含Rollup 區塊。這個簡單的方案可以立即擁有L1 的活性和去中心化。它們迴避了棘手的問題,例如在L2 排序器審查的情況下解決強制交易包含問題。此外,它們還消除了一些Gas 開銷,因為不需要排序器簽名驗證。

一個有趣的問題是關於這些L2 交易在哪裡進行處理。 L2 客戶端需要將這些交易發送到某個地方,以便L1 搜索者/ 構建者接收它們並創建區塊和數據塊。它們可能會被送到:

L1 Mempool - 它們可以與一些特殊的元數據一起發送,「知情」的搜索者/ 構建者來解釋。但是,這可能會增加L1 內存池的負載。

L2 的p2p Mempools - 這條思路似乎更站得住腳。搜索者/ 構建者除了通常的渠道外,還將開始檢查和解釋這些內容。這裡的一個明顯缺點是Based Rollup 限制了排序器的靈活性。例如:。 

減少MEV:Rollups 可以通過FCFS 的變體、加密的內存池等變得有創意。

預確認:L2 用戶喜歡快速的交易「確認」。 Based Rollup 交易「確認」時間最多回落到與L1 持平(12 秒),或者等待更長時間才能

這些都是圍繞EigenLayer 的研究領域,至少在他們的白皮書白皮書

白皮書

中提到過。目前尚不清楚這種方案能否實際解決問題。為了重新質押以有效改善這些缺點,可能希望所有質押者都選擇運行它。通過讓想要執行此操作的質押者進入一個單獨的共享排序層(稍後會詳細介紹)來模擬這個想法似乎更合乎邏輯。提案。這是專門用於L1 排序的ZK Rollup 的另一種變體。這裡的排序器是一個完全開放的角色,任何人都可以提交交易包(即完全無政府狀態)。 PoE 有兩個參與方,過程分為兩步:

排序器

排序器

排序器

排序器收集L2 用戶交易並通過發送L1 交易(包括所有選定的L2 交易數據)創建交易包。排序器將根據收到的經濟價值提交區塊,或為用戶實現更好的服務(例如,在每個L1 區塊中發布一個交易包,即使這會使L2 交易更昂貴,但用戶想要更快的交易)。

聚合器

  • 排序器將支付L1 Gas 費以發布交易包,並且協議定義了必須用MATIC 支付的額外費用。一旦發布,獲勝的交易包立即定義鏈的新頂端,任何節點都可以確定性地計算當前狀態。然後需要有效性證明來最終確定輕客戶端的狀態(包括L1 智能合約)。

  • 聚合器

這裡的聚合器是ZK 證明者。同樣,這是一個任何人都可以參與的無需許可的角色。很簡單:

帶有交易數據的排序交易包在L1 上按它們在L1 上出現的位置排序。

  • PoE 智能合約接受更新有效狀態的第一個有效性證明,包括一個或多個尚未被證明的提議交易包。

  • 聚合器可以進行成本效益分析,以找出發布證明的正確頻率。如果他們贏了,他們將獲得一部分費用,但等待更長時間以發布新證明會將他們的固定驗證成本分攤到更多交易中。如果聚合器延遲發布證明(它不證明新狀態),那麼合約將執行還原操作。證明者浪費了計算資源,但他們會節省大部分的Gas。

  • 來自L2 交易的費用將由創建有效性證明的聚合器處理和分配。

純分叉選擇規則

Rollkit」概念,如純分叉選擇規則」概念,如此處此處

此處

此處

所述,指的是沒有特權排序器的Rollup。節點遵從DA 層進行排序,並應用「先到先得」的分叉選擇規則。

壞事:其他人

擔心

基礎層的激勵(例如,比特幣礦工的中心化風險)。

  • 這類方案可能是有意義的,特別是作為一種更簡單的Rollup 引導方法,但很難看到大多數Rollup 將如此多的MEV 放棄給L1。 Rollups 的一大好處確實是經濟收益——一旦DA 開始擴展並且成本下降,他們將只需要向L1 支付很少的費用。較慢的出塊時間和簡單的MEV 方法的缺陷對用戶來說似乎也不是最佳選擇。

  • 激勵ZK 證明

請注意,上述PoE 的競爭可能圍繞最快的聚合器進行。 ZK 證明者市場有兩個經濟問題需要解決:

如何激勵證明者創建證明

如何使證明提交無需許可,使其成為一個競爭激烈且穩健的市場

讓我們考慮ZK 證明者市場的兩個簡單模型:

富有競爭的市場

一個無需許可的市場中,證明者都爭先恐後地為Rollup 排序器/ 共識產生的區塊創建證明。第一個創建證明的人可以獲得為證明者指定的任何獎勵。該模型可以高效地找到最適合該工作的證明者。

這看起來非常類似於PoW 挖掘。然而,這裡有一個獨特的區別:證明是確定性計算。結果是,與其他證明者相比具有小但一致優勢的證明者幾乎總能獲勝。那麼這個市場就很容易出現中心化。

在PoW 挖礦中,隨機性方面有更好的結果——如果我有1% 的挖礦算力,我應該得到1% 的獎勵。

這種競爭性證明模型在計算冗餘方面也是次優的——許多證明者將競爭並花費資源來創建證明,但只有一個人會獲勝(類似於PoW 挖礦)。

基於回合製的證明

證明者之間可以採取輪換的方式創建證明(例如,根據質押的代幣或聲譽)。這種方式可能更加去中心化,但在證明延遲方面效率較低(在一個證明者能夠更快更有效地創建證明的情況下,另一個「慢」證明者也有機會創建證明)。但是,它可以防止在只有一個證明者能夠創建證明時浪費計算資源。

也可以允許任何人發布證明,但只有指定的證明者才能在給定時間內獲得獎勵。因此,如果當前證明者失敗了,另一個證明者可以發布證明,但他們無法獲得獎勵。這是一種無私行為,花費資源進行計算而沒有任何回報。

Scroll 工作流程

共享排序

共享排序

  • 共享排序

  • 共享排序

  • 大多數早期的解決方案都假定每個Rollup 都需要自己弄清楚如何去中心化他們的排序器。正如我們在L1 排序方案中看到的那樣,但事實並非如此。許多Rollup 可以選擇一個共享排序器(SS)。這樣做的好處是:

  • 省力:無需再擔心序器的去中心化問題,無需招募和管理驗證者。這是一種非常「模塊化」的方法——將交易排序剝離。 SS 從字面上看是一家SaaS 公司(排序器即服務)。

結合安全和去中心化:讓一個排序層建立強大的經濟安全(更強的預確認)和實時CR,而不是為每個單獨的Rollup 創建多個小型委員會。

  • 快速交易:其他單個Rollup 排序器也可以做到這一點,但請注意,你仍然可以在這裡獲得那些超快的預確認。

  • 跨鏈原子性——在鏈A 和鏈B 上同時執行交易。 (這個很複雜,所以我稍後會更深入講解)。

如前所述,簡單地使用原生L1 作為L2 的排序器從根本上有幾個缺點:

仍然受限於L1 的數據和交易排序吞吐量

L1 排序可以做的最好的事情是消除L1 的計算瓶頸(如果交易執行是吞吐量的瓶頸)並實現通信複雜性的改進。

Metro - Astria 的共享排序器Metro 是SS 層的一個方案。你可以參考Evan Forbes 的Modular Insights talk研究帖子Shared Security Summit talk

研究帖子

了解更多詳情。由Josh Bowen 領導的Astria 團隊正在致力於實現Metro 方案。

  • 執行與排序分離

  • 當前的Rollup 節點實際上處理三件事:

這裡的關鍵是執行和排序的分離。而共享排序可以做到:

為許多選擇將其作為排序層的鏈排序交易

 

排序是無狀態的。 SS 節點不再需要存儲所有不同Rollup 的完整狀態,他們刪除了執行計算,傳統排序器面臨的巨大瓶頸在這裡消失了。

兼具排序器安全和去中心化

當從共識中剝離執行時,效率會變得非常高。如果節點所要做的只是生成有序的交易塊並就該塊達成一致而不執行所有事情,那麼它們的效率會非常高。執行和證明可以在事後由不同的各方完成。

  • 兼具排序器安全和去中心化

  • SS 節點可以保持相對輕量級,甚至可以水平擴展(通過選擇共識節點的隨機子集來對不同的交易子集進行排序)。排序層比傳統排序器更加去中心化,傳統的排序器需要掌握鏈的複雜狀態並負責執行。

此外,通過跨多個鏈匯集資源,無需在多個Rollup 中分割PoS 共識,而是將它們全部聚合在一個地方。與許多實現自己的排序器集的Rollup 相比,這種方案可能會產生更去中心化的排序器集,且不需要大量的質押資產。這很重要,因為:

  • 排序:為Rollup 用戶提供實時抗審查(CR)和活性的第一道線。

  • 執行和證明:可以在沒有強烈的去中心化需求的情況下在事後完成。

  • 一旦同意交易排序,執行(和證明)可以在事後推遲到一個完全不同的鏈:

後續的執行層不需要去中心化,因為這不是CR 的來源。單排序器不是CR 的理想選擇,但這並不是因為它們作為執行者的角色,而是因為他們排序並包括交易。在這裡,SS 已經提供了有序的交易輸入,因此也就是CR。之後對狀態承諾的計算和比較就不需要去中心化了。

軟執行

軟執行

軟執行

軟執行

用戶喜歡快速的軟執行:

Lazy Rollup

這需要某種形式的共識(或中心化排序器)來提供出色的用戶體驗:

如果你只是依賴像Celestia 這樣的基礎層的共識,就不能提供這些圍繞排序和包容性的軟性承諾。如果SS 有一個具質押了高價值資產的去中心化委員會,它可以在快速區塊(低於L1 區塊時間)上提供相當強大的承諾。

因此,只要SS 創建一個區塊,用戶就可以得到軟確認。這種確認的強度取決於SS 的構建(權力下放、經濟安全、分叉選擇規則等)。一旦數據實際發佈到基礎層,你就可以將這些交易視為真正的最終交易。然後可以生成並提交狀態根和相關證明的最終計算。

「Lazy Rollup」非常簡單。他們等到交易全部被排序並發佈到DA 層,然後他們下載這些交易,可選地應用分叉選擇規則來選擇交易的子集,執行交易處理,並確定交易狀態。然後可以生成區塊頭。

為了讓SS 運行,必須有某種機制讓用戶為他們的交易付費。你可以簡單地使用大多數Rollup 交易類型中已經包含的現有簽名和地址來支付SS 層上的Gas。或者,付款可能涉及SS 上的一些包裝交易,任何人都可以為包含的任意數據付費。這是一個開放的設計空間。

分叉選擇規則

分叉選擇規則

分叉選擇規則

MEV

分叉選擇規則

Rollup 能夠繼承他們正在使用的SS 的分叉選擇規則。然後,Rollup 的全節點實際上是SS 的輕客戶端,檢查一些提交以指示哪個Rollup 區塊在指定高度是正確的。

但是,繼承SS 的分叉選擇規則是可選的——你可以簡單地要求Rollup 處理(不一定執行)它發佈到基礎層的所有事務數據。它會有效地繼承基礎層的CR 和活性,但是你會犧牲很多用戶喜歡的SS 特性。

假設一個Rollup 想要繼承其SS 的分叉選擇規則並獲得快速的軟執行,SS 自然會在MEV 方面處於非常核心的位置。它決定Rollup 的交易包含和排序。

然而,Rollup 不一定必須執行SS 提供的交易,或者按照提供的順序執行交易。你可以在技術上允許自己的Rollup 進行第二輪處理,以在執行後重新排序SS 發布的交易。但是,如上所述,這會失去使用SS 的大部分優點。

即使在這種情況下,SS 層也可能仍然存在MEV,因為它有權包含交易。如果你真的想要,你甚至可以允許你的Rollup 在第二輪處理中排除某些交易,但這會變得混亂,減少CR,並且失去大部分SS 的好處。

換出共享排序器

Espresso 排序器(ESQ):由EigenLayer 保障

EigenLayer 白皮書白皮書

白皮書

白皮書

提到去中心化SS 是重新質押的潛在用例之一。這個SS 可以由ETH 重新質押保護,它將處理許多不同L2 的交易排序。

Well Espresso 剛剛在他們的共享排序器計劃中公佈了這一點。它可以利用EigenLayer 重新質押來確保其共識。為了提供一個漂亮的可視化效果,今天Rollup 是這個樣子的:

這就是他們使用Espresso 等SS 時的樣子:

Espresso 排序器(ESQ) 總體上與Metro 的思路非常相似。它們按照相同的核心原則工作——將交易執行從排序中剝離出來。除此之外,ESQ 還將為交易提供數據可用性。

  • HotShot 共識和Espresso DA(數據可用性)

  • 作為背景,以太坊目前使用Gasper 達成共識(Casper FFG 作為最終工具+ LMD GHOST 作為其分叉選擇規則)。這里相關的TLDR 是Gasper 即使在大多數節點可能掉線的條件下也能保持活躍(動態可用性)。它有效地運行兩個協議(Casper FFG 和LMD Ghost),共同維護一個帶有最終前綴的動態可用鏈。 Gasper 在快速確定性上進行權衡。

  • 總體而言,ESQ 包括:

  • HotShot:ESQ 建立在HotShot 共識協議之上,與Gasper 不同,該協議將快速最終性優先於動態可用性。它還可以擴展以支持更多驗證器,就像以太坊所做的那樣。

  • Espresso DA:ESQ 還將為選擇加入的鏈提供DA。該機制還用於擴大他們的普遍共識。

排序器合約:作為輕客戶端驗證HotShot 共識並記錄檢查點的智能合約。此外,它還管理ESQ 的HotShot PoS 共識的質押者。

這個系統是為擴展性而構建的,因此ESQ 希望為L2 提供更便宜的DA。他們仍然會將他們的證明和狀態更新結算到L1 以太坊,但請注意,這將使默認情況下使用ESQ 的鏈不再是完整的「Rollups」(以太坊L1 不保證他們的DA )。它比數據可用性委員會(DAC) 的簡單實現更強大,但它的保證比真正的Rollup 更弱。

交易流程

  • 交易流程

  • 交易流程

交易流程

交易流程的完整視圖:

 

跨鏈原子性

跨鏈原子性

跨鏈原子性

跨鏈原子性

  • 正如Espresso 帖子中所述,SS 可以提供一些關於跨鏈原子性的令人興奮的用例:

  • 跨多個Rollup 共享的排序層有望使跨鏈消息傳遞和橋接更便宜、更快、更安全。消除為另一個鏈的排序器構建輕客戶端的需要,節約了成本。通過消除給定Rollup 與其他Rollup 的共識保持實時獨立的需求,交叉Rollup 橋接也可以進一步節省成本。共享排序器還為橋接提供了安全優勢:共享排序器可以保證當且僅當事務在另一個Rollup 中完成時,它才能在一個Rollup 中完成。此外,共享排序器增強了用戶表達跨不同Rollup 的事務之間的原子依賴性的能力。按照慣例,Alice 將獨立於Bob 的Rollup-B 交易t' 簽署和發布她的Rollup-A 交易t'。在這種情況下,Alice 的交易可能會在Bob 的交易之前很久就被排序,從而給Bob 留下一個長期的選擇來中止。這種可選性不平衡通過共享排序器得到緩解,Alice 和Bob 可以將兩個交易作為一個簽名包一起提交(即,排序器必須將這兩個交易視為一個交易)。

這對跨鏈MEV 產生了影響,因為鏈上活動最終會增長。典型的例子是「原子套利」。同一種資產在兩個不同的鏈上以兩種不同的價格進行交易。搜索者希望在沒有風險的情況下同時執行兩筆交易來實現套利。例如:

  • T 1 在R 1 上執行,當且僅當:

  • T 2 也包含在到R 2 的指令流中

T 2 也包含在到R 2 的指令流中

  • T 1 在R 1 上執行,當且僅當:

  • T 2 也在R 2 上執行

T 2 也在R 2 上執行

T 2 也在R 2 上執行

  • T 2 也在R 2 上執行

  • 但是,這仍然不是你在共享狀態機(例如,完全在以太坊L1 上)上進行交易時的保證。如前所述,SS 不持有這些Rollup 的狀態,它們不執行交易。你不能完全保證其中一項交易(在R 1 或R 2 上)不會在執行時恢復。

直接在這個基礎上構建更高級的原語是有問題的。例如,如果你嘗試在此SS 之上構建一個即時銷毀和鑄造的跨鏈橋接,它會在完全相同的區塊高度同時執行以下操作:

  • 銷毀R 1 上的輸入

  • 在R 2 上生成輸出

你可能會遇到以下情況:

 

R 1 上的銷毀可能會拋出意外錯誤,但

  • R 2 上的輸出不會因任何原因而失效,因此它會完全執行。

  • 這將是一個大問題。

在某些情況下,只要這兩個事務都包含在輸入流中並被執行,你就可以確定這兩個事務的預期結果,但通常情況並非如此。

保證:T 1 和T 2 將包含在它們各自的流中,並且(可能)都將執行。

  • 不保證:成功執行交易和由此產生的期望狀態。

  • 這些「保證」可能足以滿足原子套利之類的需求,其中搜索者已經擁有在每條鏈上執行這些交易所需的資產,但這顯然不是共享狀態機的同步可組合性。對於像跨鏈閃電貸這樣的東西,它本身並不能提供足夠的保證。

  • 與其他跨鏈消息傳遞協議結合使用時,可能仍然有用。讓我們看看與交叉Rollup 消息傳遞協議一起使用時如何促進NFT 跨鏈原子交換:

  • T 1 在R 1 上將ETH 從U 1 (用戶1 )轉移到SC 1 (智能合約1 )

  • T 2 在R 2 上將NFT 從U 2 (用戶2 )轉移到SC 2 (智能合約2 )

SC 1 當且僅當它收到來自SC 2 的確認NFT 已存入的消息時,才允許U 2 提取ETH

SC 2 當且僅當它收到來自SC 1 的確認ETH 已存入的消息時,才允許U 1 提取NFT

兩個智能合約都實現了一個時間鎖,這樣如果任何一方失敗,雙方都可以收回他們的資產

  • 此處的SS 允許兩個用戶在步驟1 中以原子方式提交。然後,你使用某種形式的跨鏈消息傳遞來驗證彼此的結果狀態並解鎖資產以執行交換。

  • 如果沒有SS 以原子方式進行,兩方可以就價格達成一致。但隨後U 1 可以提交交易,然後U 2 可以等待並決定是否要中止交易。有了SS,他們就會被鎖定在交易中。

  • 這幾乎是SS 跨鏈原子性用例的邊緣。總結:

  • 此處提供的保證的精確強度和實用性仍未得到證實

這對於跨鏈原子套利可能非常有用,同樣可能對其他應用程序有用,例如跨鏈交換和NFT 交易

是非常不同的方法。

 

前面提到的Kalman 的

  • 共享排序器總結

  • 總而言之,SS 的基本思想是:

  • 顯然這幅圖並不科學,一切都是高度主觀的,並且非常依賴於確切的構造。 TLDR 如下:

  • 中心化排序器- 如果你完全控制系統,通常很容易實現你想要的任何功能。然而,預確認能力有次優的保證,強制退出可能是不可取的,活性是次優的等。

去中心化的L2 排序器:具有分佈式質押排序器的Rollup 相對於只有單個排序器的Rollup 更具穩健性。但是,不同設計方案在諸如延遲之類的事情上需要進行權衡(例如,如果許多L2 節點現在需要在確認Rollup 區塊之前進行投票)。

SUAVE

在L1 排序:最大程度保證去中心化、抗審查和活性等。但是,它缺乏快速預確認、數據吞吐量限制等功能。

共享排序器:擁有去中心化排序器的功能,不需要引導你自己的排序器集。然而,與L1 排序相比,這種方案在L1 最終確定之前的過渡時期有較弱的保證。此外,共享層可以將許多Rollup 的委員會、經濟安全等聚合到一個地方(可能比單個Rollup 都有自己的委員會更強大)。SUAVE一旦L1 最終確定,所有Rollup 都會達到100% L1 安全性。在獲得L1 結算的完全安全和保障之前,大多數排序器設計只是試圖提供好用功能,但削弱了在過渡期間的保證。

去中心化構建器與共享排序器

當我們談論這些試圖處理許多其他鏈的交易的共享層時,差異可能會讓人非常困惑。特別是當SUAVE 通常被稱為「排序層」或者其他術語時,例如「用於Rollup 的去中心化區塊構建器」。需要明確的是,

與上述SS 設計有很大不同。

讓我們觀察一下SUAVE 如何與以太坊交互。 SUAVE 不會以任何方式被嵌入以太坊協議。用戶只需將他們的交易發送到其加密內存池中。 SUAVE 執行者的網絡然後會為以太坊(或類似的任何其他鏈)輸出一個區塊(或部分區塊)。這些區塊將與傳統的集中心化以太坊構建者的區塊競爭。以太坊提議者在它們之間做出選擇。

同樣,SUAVE 不會取代Rollup 選擇區塊的機制。例如,Rollup 可以實現一個PoS 共識集,其運作方式與以太坊L1 的運作方式大致相同。然後,這些排序器/ 驗證器可以選擇SUAVE 為它們生成的區塊。

 

SUAVE 不關心你的鏈的分叉選擇規則是什麼或者你的區塊是如何選擇的。它可以為任何鏈提供最有利可圖的排序。請注意,與前面描述的SS 節點不同,SUAVE 執行程序通常擁有完全狀態(儘管它們也可能滿足某些不需要狀態的偏好)。他們需要模擬不同交易的結果以創建最佳排序。

SUAVE + 共享排序器為了解差異,讓我們考慮一個用戶想要運行原子跨鏈套利的示例。提交給SUAVE 與提交給SS,他們可以獲得的保證有何區別:SUAVE + 共享排序器

  • 現在考慮一下,SUAVE 如何與Rollup 排序交互?甚至可能與SS 交互? Espresso 似乎確實相信

  • SUAVE 與ESQ

兼容。 ESQ 旨在與私有內存池服務兼容,例如可以充當構建器的SUAVE。它看起來類似於我們在以太坊上使用的PBS,現在:

共享提議者= 共享排序器

  • 共享構建者= SUAVE

  • 與PBS 一樣,構建者可以獲得提議者(此處為排序器)的盲目提交,以提議給定的區塊。提議者只知道從提議區塊中獲得的總效用(構建者的出價),而不知道內容。

綜上所述,我們再回過頭來看一個想做跨鏈套利的搜索者。 SUAVE 本身可以構建並發送到兩個不同的Rollup:

Block 1 (B 1 ) 其中包括Trade 1 (T 1 ) - 在Rollup 1 (R 1 ) 上以低價購買ETH

Block 2 (B 2 ) 包括交易2 (T 2 ) - 在Rollup 2 (R 2 ) 上以高價出售ETH

  • 但很有可能B 1 贏得了拍賣而B 2 輸了(反之亦然)。如果將這兩個Rollup 選擇到同一個SS 中會發生什麼。

  • SS 節點不知道交易實際上在做什麼,所以它們需要有人(比如SUAVE,或其他MEV-aware 構建者)為它們構建一個完整的區塊,如果它們想要高效的話。好吧,SUAVE 執行者可以將B 1 和B 2 都提交給SS,條件是兩個區塊都被填充或殺死(原子地執行或刪除兩者)。

現在你可以在整個過程中獲得非常好的經濟保證:

SUAVE = 共享構建者= 可以向你保證,如果B 1 和B 2 都包含並以原子方式執行,會發生什麼狀態。

安全
ETH
智能合約
PoS
分叉
跨鏈
Base
Arbitrum
Celestia
MEV
歡迎加入Odaily官方社群