Rollups 之間的無信任互通性:概況、建構與挑戰

作者:Marshall Vyletel Jr. 來源:1kx 翻譯:善歐巴,金色財經

介紹

以太坊上的rollup 數量出現了爆發性增長。根據L2Beat 的數據,截至撰寫本文時,已有91 個L2 和L3 上線,還有82 個即將上線。因此,在流動性、使用者體驗和開發人員工具方面也存在大量碎片化。目前的互通性解決方案仍有待改進,因為它們依賴第三方橋接器、外部包裝資產和意圖框架的組合,而每個解決方案都有各自的問題。

  1. 流動性橋通常是最大的加密貨幣駭客攻擊的目標(例如價值3.21 億美元的蟲洞橋駭客攻擊)

  2. 外部包裝的資產並不受歡迎,數據顯示,只要有可能,人們更願意以原生形式持有資產(例如,根據L2Beat 的數據,規範橋接資產價值為220 億美元,而外部包裝的資產僅價值30億美元)

  3. 意圖框架依賴第三方,這些第三方需要一些不可忽略的信任,並收取額外費用以促進跨Rollup 活動(例如,由於官方橋樑不規範,Degen 鏈用戶損失了80% 以上的代幣)。中心化的意圖框架也意味著較低的競爭,這可能導致定價和性能不理想

在本文中,我們透過定義和討論分散的Rollup 生態系統之間的六個層級的互通性解決方案,調查了無信任互通性前景。

我們從預設情況開始,即非同步從來源rollup 提現到L1 並手動橋接至目標rollup,最後以單一交易中跨rollup 可組合性的假設架構結束。我們將探討每個等級的互通性將如何影響使用者體驗、開發人員體驗、MEV 潛力以及rollup 本身(具體與基礎設施變化有關)。

本文主要討論以太坊及其L2,並僅關注無需信任的互通性。在這種情況下,「無需信任的互通性」是指協議內通道,不需要第三方在大多數rollup 已經需要的必要基礎設施之外促進傳輸。

準備工作

定義

從根本上講,無需信任的互通性需要一些共享資源,任何兩個希望互通的協定都必須能夠存取這些資源。在以太坊L1 的情況下,所有智慧合約都存在於共享以太坊完整狀態的相同環境中,因此它們將始終具有最高等級的互通性。然而,L2 僅透過單獨的橋接合約共享結算層,因此互通性受到很大限制。

能夠推動我們在無信任互通性階梯上前進的關鍵共享基礎設施元件是共享排序器、超級建構器和共享結算。這些共享層所開放的保證和新功能是相關的,但本質上是正交的。

  1. 共享序列器/超級建造者:主要提升速度和使用者體驗。

  2. 共享結算:無需外部包裝和協議內訊息傳遞的資產交換。

首先,我們將定義引言中提到的六個無需信任的互通性等級:

  1. L1 異步:
    →透過總結算的L1 進行手動資產轉移,實現互通性。

  2. 原子包含:
    → 保證跨Rollup Bundle 中的所有交易都會包含在該Bundle 中涉及的每個Rollup 的下一個區塊中,或都不包含在內。

  3. 共享結算:
    → 透過相同的橋接合約,多個rollup 連接到L1。

  4. 原子執行:
    → 保證跨Rollup 捆綁包中的所有交易都將包含在捆綁包中涉及的每個Rollup 的下一個區塊中並成功執行,否則將不執行任何交易。成功執行是指每筆交易均在不回滾的情況下執行,並反映在捆綁包中每個Rollup 的更新狀態中。

  5. 區塊級可組合性:
    → 跨Rollup Bundle 的下一個區塊保證可以包含依賴交易(Rollup B 上的tx B 依賴Rollup A 上tx A 的結果)

  6. 交易等級可組合性:
    → 智慧合約等級互通性僅需一筆交易即可同時導致多個rollup 之間的狀態變化(無捆綁)。在任何rollup 上使用任何協議在邏輯上等同於在一條鏈上使用不同的智能合約。重要的是,這意味著任何呼叫之前的狀態變更都可以在返回時恢復。

為了進一步了解每個級別,我們將介紹以下關鍵用例,以展示每個級別的功能及其對使用者、開發人員、匯總和MEV 搜尋者的影響。

範例:

  1. 相同代幣轉移
    → 寄給自己:在兩個Rollup 之間將Eth 兌換為Eth,或將ERC-20 兌換為ERC-20

  2. 代幣購買
    → 跨Rollup 限價訂單:使用Rollup A 中的Eth/ERC-20,從Rollup B 上的DEX 購買不同的ERC-20,並(可選)送回Rollup A

意義:

我們還將回答以下問題,以進一步了解對任何匯總生態系統中關鍵股東的影響。

  1. 使用者體驗
    透過實現這種程度的互通性,使用者體驗會發生怎樣的變化?

  2. 開發人員體驗
    透過實現這種程度的互通性,開發人員體驗會發生怎樣的變化?

  3. MEV 潛力
    如果我們實現了這種程度的互通性,是否有可能出現新的MEV 機會?

  4. Rollup 的影響
    Rollup 是否必須選擇加入任何新的基礎設施才能實現這一點? Rollup 的費用結構有哪些變化? Rollup 參與該基礎設施可能帶來哪些潛在好處?

進階概述

邁向無信任互通性的六個階段

1. L1 異步

所需基礎設施:

不適用

根據定義,這指的是目前預設的無信任互通模式。所有rollup 都是這樣定義的,因為它們是作為結算層建立在L1 上的,並且只能透過橋接合約存取該L1,它們會定期發布狀態更新以保護網路。

在這種情況下,執行任何無需信任的跨Rollup 活動的唯一規範方法是透過規範橋從來源Rollup 中提取資產,並在L1 上可用後手動將其存入目標Rollup 中。

對於Optimistic Rollup,考慮到防錯窗口,提現延遲約7 天。在ZK Rollup 中,提現延遲不太確定,但可能在15 分鐘到一整天之間,ZkSync 就是這種情況。

此外,使用智能合約進行點對點原子交換也是可能的,但這是一個較小的用例,並且無法有效擴展。

值得注意的是目前存在的第三方解決方案:

  1. 流動性橋樑

  2. 意圖框架

我們的兩個範例都需要第三方解決方案來協助。

發送給自己:

  1. 規範做法:
    → 從Rollup A 提取資產
    →手動存入Rollup B

  2. 第三方:
    → 流動性橋樑/ 求解器網絡

跨滾動限價訂單

  1. 規範:
    → 從Rollup A 提取資產
    →手動存入Rollup B
    →執行限價訂單
    →要發回,必須對目標ERC-20 進行外部包裝

  2. 第三方
    → 跨匯總限價訂單的新興解決方案空間
    → 有開放的設計圍繞著使用意圖來促進這一點

由於這是預設情況,因此無需討論UX、DevEx、MEV 和匯總的變更。

2. 原子包含

所需的基礎設施

共享序列器 *

原子包含僅保證跨匯總捆綁包將包含在下一個區塊中。

這需要一個共享的排序器,但理論上,如果兩個給定rollup 上的排序器未達到最大吞吐量,則可以手動實現(只需向每個rollup 分別提交兩個交易即可)。這就是我們在所需基礎設施上添加了星號的原因。

但是,我們並不假設共用排序器運行每個連接的rollup 的完整節點,因此無法保證一組交易的成功執行。在這種情況下,共享排序器只能保證交易格式正確且將包含在下一個區塊中,但不一定能成功執行。

由於沒有執行保證,因此不可能以任何有意義的方式以程式設計方式利用原子包含,而不會招致其中一項交易被撤銷的風險。因此,我們本質上處於與L1 Async 互通性完全相同的情況。

考慮啟動一個僅具有原子包含保證的簡單交叉匯總交換:

  1. 跨Rollup 交換捆綁
    → Tx 1:在來源Rollup 上鎖定/ 銷毀代幣
    → Tx 2:將代幣鑄造到目標Rollup 上的使用者地址

我們可能有原子包含保證,即兩個交易實際上都包含在每個匯總的下一個區塊中,但如果第一個交易回滾而第二個交易沒有回滾,則用戶將在目標鏈上錯誤地分配資金,而無需在源鏈上鎖定或燒毀它們,我們就會遇到雙重支付問題。

任何互通性解決方案,無論是流動性橋、意圖框架或xERC-20 交換,都容易受到這種風險的影響,而且不可能緩解這種風險。由於存在這種風險,目前的解決方案要求發起交易必須已成功執行並包含在來源鏈上的區塊中,然後才能使用中繼器傳遞發出的訊息並在目標鏈上執行第二筆交易。

重要提示:原子包含不會對互通性潛力產生重大影響

3. 共享結算

所需基礎設施:

證明聚合層//共享橋合約

這就是事情開始變得更加有趣的地方。由於共享橋合約的存在,從L1 存入rollup 生態系統的所有流動性都可以在所有連接的rollup 之間自由移動。在此之前,我們無法在不經過規範管道、外部包裝資產或使用第三方解決方案的情況下在rollup 之間進行交換。

為什麼要建立共享橋合約?要理解為什麼共享橋合約可以讓我們以無需信任的方式跨Rollup 轉移資產,首先考慮一下,如果可以在Rollup A 中擁有Eth,將其銷毀,然後在Rollup B 上原生鑄造,而無需在Layer1 上建立共享橋合約,會發生什麼情況。

JHnmVgKofsVFmGVAn6qUyGFHXbLAQpgE2deeDFB1.png

我們看到,每個rollup 都會與主網上的橋接合約不同步。 rollup B 橋接合約仍有50 個Eth,因此用戶無法將其1 個Eth 提取到L1。

為了解決這個問題,我們建立了外部資產包裝協議,在匯總中發行外部包裝版本的代幣,這些代幣象徵著網路中其他地方的原生版本。

有了共享結算層,情況就不同了。由於每個連接的rollup 的所有流動性都鎖定在同一個橋樑合約中,因此人們可以在rollup 之間自由移動,因為橋樑合約中的總價值保持不變,並且始終可以提取。

確實需要在L1 合約層級進行更新,以了解流動性在哪裡,以允許用戶從任何地方提款,但這很簡單,因為所有連接的匯總都可以讀取/寫入共享合約。

使用共用結算層,對於簡單的發送給自己的情況下,流程可能看起來像下面這樣。

發送給自己:

  1. 使用者建立初始交易:
    →Tx 1:在rollup A 上提取Eth(並在rollup B 上鑄造)
    →交易被分批並提交給L1 合約
    →它被聚合到交易根中,該交易根將所有共享結算rollup 分組

  2. Rollup B導入此交易根

  3. 中繼器將交易提交給鑄幣廠,並將Merkle 證明提交給rollup B

  4. Rollup B使用Merkle Proof 和交易根來驗證銷毀交易

  5. 用戶在Rollup B 上鑄造了Eth

  6. Rollup B向L1提交證明

我們可以將此流程擴展到在共享結算生態系統中所有匯總中都有合約的任何ERC-20。

我們可以將共享橋合約視為所有連接匯總之間的協定內訊息傳遞層,因此理論上這種流程實際上可以擴展到任何任意訊息傳遞標準。

這讓我們更接近可組合性,但由於只有在L1 上反映狀態變化後才需要聚合證明和傳遞訊息,因此延遲較高(儘管明顯低於L1 非同步情況)。此外,任何複雜的跨Rollup 活動(例如在Rollup B 上使用DEX 從Rollup A 上的資產開始進行跨Rollup 限價訂單)對於用戶來說仍然是一個繁瑣的過程,因為他們仍然必須向自己發送並在目標Rollup 上手動交換資產。在這種情況下,無法建立原子跨Rollup 捆綁包。

共享結算的另一個重要好處是,對於在多個環境中執行訂單的流動性提供者或解決者來說,摩擦更小。由於他們跨所有連接的Rollup 的流動性都反映在同一個過橋合約中,因此他們不必等待完整的提款窗口來管理跨Rollup 流動性。

對利害關係人的影響:

  1. 用戶:
    現在可以以原生形式轉移資產,無需L1 提款期

  2. 開發人員:
    變更僅限於代幣發行者,他們現在可以使用協議內訊息傳遞在所有連接的Rollup 上發行ERC-20 的原生版本

  3. MEV 搜尋者:
    由於這種情況發生在每個rollup 的多個區塊上,因此不存在新的MEV 潛力

  4. Rollups:
    Rollups 必須選擇使用共享橋合約,並可能添加預編譯來處理跨Rollup 訊息

重要提示:共享結算允許在共享橋接合約和證明聚合層的所有匯總中進行非外部包裝的資產轉移和任意訊息傳遞,但仍然會有不可忽略的延遲(儘管比L1 Async 短得多)並且無法創建跨匯總原子束。

4.原子執行

所需基礎設施:

共享排序器// 超級建造者

原子執行使我們能夠保證跨卷捆綁包的成功執行,但正如我們將看到的,沒有依賴事務的跨卷捆綁包的用例數量比最初預期的要少。

如果一組依賴交易中的任何單筆交易被撤銷,那麼所有其他交易都將變得無效,並且也必須被撤銷,就像跨rollup 銷毀和鑄造代幣的情況一樣。在目標rollup 上鑄造代幣取決於它們是否已在源rollup 上被銷毀或鎖定,因此我們可以說一組銷毀和鑄造交易是一組依賴交易。

如果沒有能夠建立目標交易的中間方(例如超級建造者),就不可能建立此捆綁包。

考慮一下,在沒有用戶以外的其他方參與的情況下,跨Rollup 交換捆綁包的構建必須滿足哪些條件。必須建立一個捆綁包來鎖定/刻錄來源Rollup 上的資產,並在目標Rollup 上鑄造資產,但我們遇到了問題:

  1. 來源rollup 上的合約只能在鎖定/ 銷毀原始來源資產時發出訊息,它們無法在目標rollup 上呼叫和建立交易。
    →這就是為什麼訊息協定和中繼網路存在的原因。
    → 訊息可用來建構目標上的呼叫應該是什麼,但它實際上不能建立交易本身。

  2. 在目標rollup 上創建第二筆交易以進行鑄造:
    → 用戶自己無法創建此tx,因為他們沒有rollup B 上代幣的鑄造權
    →即)目標鏈需要證明代幣已在源鏈上被燒毀/鎖定,但此證明直到初始交易執行後才可用,這會破壞我們對原子性的要求。 → 理論上,任何其他能夠
    創建具有鑄造權的第二筆交易的一方都可以在任何時候在目標鏈上創建“鑄造”交易,而無需首先在源鏈上創建“燒毀”或鎖定,這是一個巨大的漏洞。

我們可以看到,即使我們可以保證跨匯總捆綁包的執行,但我們在如何首先建立它們以轉移有價值的資產方面遇到了困難。

但是,仍然有一些不需要依賴cross-rollup bundles 的原子執行案例。其中之一就是cross-rollup 套利:

VXyWjzT128LwU5kpjfTSCelPJzs4YIn1QyyBmn3w.png

由於這些交易之間沒有嚴格的依賴關係,任何人都可以創建這個原子包並將其提交給可保證原子執行的共享序列器。

然而,為了首先獲得原子執行保證,rollup 必須選擇共享排序器和超級構建器,以運行所有連接的rollup 的完整節點,因此從原子執行到區塊級可組合性的一步非常小,所有共享排序解決方案都會做到這一點。唯一需要的改變是,區塊建構器或其他第三方必須能夠代表用戶建立交易,以完成依賴的跨rollup 組合包。

不太可能建構只允許原子執行而不進一步實現可組合性的基礎設施。考慮到基礎設施已經具備原子執行功能,實現完全塊級可組合性的相對收益遠遠超過實現這一目標的難度。

對利害關係人的影響:

  1. 用戶:
    可能不會有變化,儘管第三方可能會提供像意圖這樣的解決方案,但具體如何實現還不清楚

  2. 開發商:
    可能不會改變

  3. MEV 搜尋者:
    考慮到原子執行,跨rollup 套利更加安全

  4. Rollup:
    Rollup 必須選擇使用共享排序器/超級建構器,提交包含來自希望互通的每個Rollup 的交易的區塊,這可能會改變Rollup 的收入結構。目前尚不清楚它將如何改變。 –
    排序市場可能會透過允許成熟的建構者購買ToB 空間來增加Rollup 的收入

重要提示:雖然跨rollup 捆綁包保證原子執行,但如果沒有創建捆綁包部分的超級構建器,則不清楚這些捆綁包將如何構建,因此原子執行本身不太可能影響互通性。預設情況下,共用序列器/超級建構器應建構區塊級可組合性。

5. 區塊級可組合性

所需基礎設施:

共用排序器// 超級建構器// 證明聚合層* // 共用橋接合約*

(* = 可選)

在有關共享序列器和共享結算層的大部分討論中,通常用來描述這種級別互通性的術語是「同步可組合性」。

我們稍微修改了這個術語,使其更具描述性。將術語更新為「區塊級可組合性」意味著可以在兩個rollup 之間組合跨rollup 交易包,這些交易包將在下一個區塊中包含並成功執行。同步可組合性可能會與交易級可組合性混淆,我們將在下一節中探討這一點。重要的是,這需要一個中間方(共享排序基礎設施),它可以成為依賴交易包的執行者和創建者。

在這個層面上,我們開始看到Rollup 之間的真正可組合性,而不僅僅是簡單地發送給自己以參與另一個Rollup 上的dapp。

透過添加可以創建交易的共享序列器,我們現在可以製作跨匯總包,開發人員可以透過程式設計利用它。

有兩種情況需要考慮:

  1. 區塊級可組合性

  2. 區塊級可組合性+共享結算層

在這兩種情況下,我們都可以為更複雜的活動建立跨匯總捆綁包,但在第二種情況下,透過共享結算,我們可以使用原生資產,例如,這可能會對跨匯總DEX 活動產生更好的價格影響。

借助區塊級可組合性,我們既擁有原子執行的優勢,又擁有創建依賴事務包的額外能力。讓我們來看看我們的兩個說明性範例。

透過xERC-20 進行相同代幣轉移(無共享結算):

  1. 用戶擁有ERC-20

  2. 使用者透過dapp 建立tx:
    →將ERC-20 存入xERC-20 鎖箱以接收xERC-20 包裝版本
    →銷毀xERC-20
    →向共用排序基礎設施發送訊息,表示已啟動跨rollup 傳輸,並附上相關資料以促進交換

  3. Superbuilder 拾取交易並建立跨Rollup 捆綁
    → Tx 1:上述包裝和銷毀交易
    → Tx 2:在Rollup B 上鑄造xERC-20

  4. Superbuilder 將此交叉rollup 提交給共用排序器
    → 由於Superbuilder 正在運行兩個相連rollup 的完整節點,因此它們會模擬交易以確保捆綁包成功執行。如果任何一筆交易回滾,整個捆綁包都會回滾。

  5. 共享排序器將包含兩筆交易的區塊提交給DA 層以及執行狀態變更的節點

  6. xERC-20在Rollup B 上鑄造給用戶

有了共享結算層,流程進一步簡化,因為不需要先將ERC-20 包裝為xERC-20 進行交換。

現在讓我們來看看跨Rollup 限價訂單,即在Rollup B 上用Rollup A 中的初始(不同)ERC-20 購買ERC-20,並將生成的ERC-20 發送回Rollup A。在這種情況下,我們不假設我們有一個共享結算層,儘管在有共享結算層的情況下存在類似的流程。唯一的區別是不需要額外對資產進行外部包裝。

以下是此案例中所需的交易:

  1. 在A 上包裝並銷毀ERC-20

  2. B 上的Mint xERC-20

  3. 在B 上將初始xERC-20 與目標ERC-20進行交換

  4. 在B 上包裝並銷毀目標ERC-20

  5. A 上的Mint xERC-20

以下是其可能的工作流程:

JYca2Irpteudt2twl2Kc1AoXIOQy7Q41gYCVelD8.png

myAXnO2XiUzGPb4vaZ0unPFvCukNTdzrCHj84Er9.png

流動:

  1. 用戶發起第一筆交易:
    →包裝並銷毀xERC-20,並發送訊息指定交換參數(目標鏈、DEX 位址、要交換的ERC-20、限價訂單價格、是否發回的布林值)

  2. 超級建造者看到交易並創建捆綁包:
    → Tx 1:使用者建立上述交易
    → Tx 2:在目的地鑄造xERC-20(超級建造者必須擁有鑄造權限)
    → Tx 3:使用來自tx 1 的資料進行限價訂單
    → Tx 4:在B 上包裝並銷毀ERC-20,假設限價訂單已完全履行,並在來源鏈上發送訊息進行鑄造
    → Tx 5:從源鏈上的交換輸出鑄造目標xERC-20

由於超級建構器會創建區塊並排序交易,因此它可以模擬每筆交易,並在任何交易撤銷時省略捆綁包。例如,如果發現用戶無法完全履行其限價訂單,則在執行區塊之前會省略捆綁包。

在沒有共用結算層的共用排序基礎設施的情況下,需要使用外部包裝版本的Eth 和xERC-20,這可能會導致DEX 的市場狀況惡化,因為包裝資產的流動性池會變薄。在這種情況下,使用者可能必須使用更寬鬆的限制,滑點容忍度更高,並且可能會收到次優價格。如果涉及USDC,則有一個例外。沒有共享結算的共享排序器可能會與Circle 合作,獲得跨rollup 的USDC 合約的獨家權利,以促進跨rollup 的原生USDC 轉移和交換。

有了共享結算層,這種外部包裝就沒有必要了,而且由於原生資產交換的流動性池更深,可能會提供更好的價格,但流程基本上相同。

樂觀地信任定序儀

Rollup 需要樂觀地信任共享的排序器/超級建構器來創建有效的跨Rollup 捆綁包。這主要是因為這個跨Rollup 捆綁包包含依賴交易,各個Rollup 無法驗證這些交易,直到將區塊添加到每個Rollup 的鏈上並聚合到L1 上的結算層之後。一個例子是從源頭到目的地的Eth 的初始銷毀和鑄造。至關重要的是,Eth 必須在源鏈上實際銷毀,然後再在目標鏈上鑄造,否則可能會出現雙重支付。

但是,要在區塊中執行這個完整的捆綁包,所有交易都必須存在於該區塊中,即使交易代表在區塊本身之前無效的狀態(例如,如果用戶在區塊之前沒有任何Eth,則在交換的目標鏈上有Eth)。因此,我們必須相信排序器確實在跨匯總捆綁包中包含了有效的依賴關係。事後可以提交證明來證明每筆交易的有效性。

然而,當使用包裝資產時,這一點就不那麼重要了,因為它們對儲存在L1 中的本機流動性沒有影響,但仍然必須有回退機制來抵消惡意排序器或程式碼中的錯誤的風險,這些錯誤允許交易捆綁包與被還原的依賴交易一起執行。

對利害關係人的影響:

  1. 使用者
    對用戶體驗進行了大規模升級,允許在單一區塊中進行跨匯總限價訂單

  2. 開發者
    需要對跨Rollup 活動有跨Rollup 意識,可能要利用自訂預編譯。開發人員必須從Bundle 的角度來思考,而不僅僅是交易,但超級建構器和自訂Rollup 基礎架構可能會消除大多數開發人員的複雜性。

  3. MEV 搜尋者
    MEV 搜尋者在跨匯總捆綁包上使用L1 策略的機會基本上相同,但這取決於PBS(提議者-構建者分離)的實施方式。
    → 跨匯總捆綁包本質上被視為單一交易,因此可以透過搶先交易或夾持這些捆綁包來找到MEV,只要它們不會使價格超出可容忍的滑點金額(因為這樣整個捆綁包就會恢復,MEV 嘗試就會失敗)

  4. Rollups
    需要選擇加入共享排序基礎設施(包括超級建造者),並在共享結算層的情況下允許存取共享排序器中的Eth 銷毀/鑄造。
    → 可以透過向建造者出售區塊空間來內部化MEV

6. 交易層級的可組合性

所需基礎設施:

VM 等級變更// 共享結算// 超級建造者

交易級可組合性是指一個EVM 鏈上的智能合約所共享的相同等級的功能。在這種情況下,單一交易可以同時更新多個rollup 的狀態,並確保如果呼叫未成功返回,則可以還原任何呼叫之前的任何狀態變更。實際上,區塊級可組合環境中的原子交易包可以在單一跨rollup 和跨VM 交易中完成。除了共用結算層和超級建構器之外,這還需要對所有連接的rollup 進行VM 級變更。

我們在此從高層次描述了一個可能的機制。 (據我們所知,此構造歸功於Espresso 團隊)。首先,用戶向所有狀態被交易改變的rollup 或可以在所有相關rollup 上建立區塊的超級建構者提交跨rollup 交易。超級建構者模擬交易並形成輸入輸出對列表,每個相關rollup 一個,該列表指定交易中必要和預期的跨rollup 訊息。 (請注意,超級建構者只有在一段時間內對所有相關rollup 擁有安全排序權時才能這樣做)。然後,超級建構者將模擬的區塊連同每個跨rollup 交易的預期輸入輸出對清單一起發送給每個rollup 的提議者。在執行期間,每個rollup 都會正常執行自己的狀態轉換函數,假設來自跨rollup 交易清單的輸入是正確的。在結算期間,輸入輸出清單可以在共享結算層的證明聚合階段進行交叉比較並證明是安全的。具體來說,如果跨Rollup 交易的任何預期輸入與另一個Rollup 指定的輸出不匹配,則結算過程將拒絕整個跨Rollup 交易。

儘管除了閃電貸之外,交易級可組合性所能解鎖的新功能有限,但開發人員創建跨Rollup 應用程式的體驗可以大大改善。能夠創建與所有連接鏈互動的dapp,而無需考慮跨Rollup 捆綁包,這將使在多Rollup 環境中進行創新變得容易得多。此外,還可能出現新的用例和行為。

交易級可組合性方面有許多未解決的設計問題。首先,需要仔細考慮開發人員如何選擇加入或退出其智能合約的跨Rollup 呼叫。允許任意可組合性而不受限制意味著我們回歸到單一的Rollup。我們認為這裡的答案是讓開發人員明確指出其合約中哪些地方需要跨Rollup 可組合性,例如透過Solidity 修飾符(如「可組合」)將合約的某些入口點標記為可呼叫的跨Rollup。

對利害關係人的影響

  1. 用戶:
    與區塊級可組合性含義相同,並具有諸如閃電貸之類的其他高級功能
    → UX 與選擇加入的dapp 使用一條鏈幾乎相同

  2. 開發人員:由於dapp 開發人員可以本地調用合約交叉匯總並使用這些調用的輸出(如單匯總調用),因此
    開發人員體驗得到極大
    改善→ Superbuilder/Sequencer infra 仍然必須將交易放置在受交叉匯總調用影響的匯總的區塊中,但不必像區塊級可組合性那樣構建相同的捆綁包。

  3. MEV 搜尋者:
    跨rollup 捆綁包現在基本上相當於一條鏈上的單筆交易,因此MEV 潛力很高

  4. Rollups:
    需要虛擬機器層級的更改,以及選擇共用排序器和共用結算層
    →在能夠透過證明驗證狀態之前,必須信任其他rollups 的輸入和輸出,這涉及額外的信任假設,但削減機制可以減輕信任負擔

摘要與生態系圖

在了解了這裡定義的每個互通性等級的技術細節之後,我們可以總結一下:

  1. 共享結算允許跨rollup 交換而無需外部包裝資產,並在所有連接的rollup 之間創建協議內訊息傳遞路徑

  2. 共享排序/ Superbuilders允許在跨rollup 捆綁包上提供下一個區塊執行保證

  3. 區塊級可組合性允許創建複雜、快速、相互依賴的跨Rollup 捆綁包,從而實現近乎智能合約到智能合約級別的可組合生態系統。
    → 透過新增共享結算,無需使用外部包裝資產即可建立這些跨Rollup 捆綁包

  4. 交易級可組合性是可能的,雖然新開闢的用例可能針對更複雜的用戶,但它有可能極大地升級跨匯總開發體驗。

目前,有許多專案正在湧現,旨在創建這些原生可互通的生態系統。以下是該領域的高層次概述:

生態系地圖

生態系地圖

生態系地圖

結束語

關於本文所列出的框架中的技術細節,仍存在一些懸而未決的問題。例如,在區塊級可組合生態系統中為跨匯總限價訂單建立捆綁包可能需要更詳細的設計來處理部分履行和市場訂單的滑點容忍度的情況。我們在這裡提供了一種潛在的解決方案,如果訂單未完全完成,則可以恢復跨匯總限價訂單捆綁包,但設計空間是開放的。

此外,值得一提的是,這與目前應用鏈領域日益增長的思想共享有關。應用鍊是長尾L2,要么是通用的,要么是經過許可的,目的是將特定的相關協議孤立在一個L2 上。當我們達到區塊級可組合性時,我們很可能也會開始看到應用鏈環境因所有連接網路之間具有本機可組合性而獲得顯著的吸引力。

目前,為這些應用鏈引入流動性仍然很困難,但一旦更大的鏈作為可互通環境的入口連接起來,我們很可能會看到圍繞共享基礎設施的圍牆花園生態系統。

另一個重要的懸而未決的問題是超級建造者周圍的設計空間將如何解決。這方面的發展仍處於起步階段,目前尚不清楚如何以最有效的方式創建一個可以創建跨匯總包的複雜建造者網路。這些跨匯總包將以最佳方式包含在區塊中,以及對匯總收入的影響是一個懸而未決的問題,許多團隊正在探索不同的策略。

最終,未來可能會涉及協議內和協議外橋接解決方案的組合,它們將協同工作,為每個人提供更好的互通性流程。我們相信,本文中定義的進展可以作為開發人員和建構者的指南,他們專注於為最終用戶提供更無縫的跨Rollup 互通性。

Total
0
Shares
Related Posts