乙太坊多鏈發展前路何方,或許波卡能給參考答案

原文:《Starknet和馬達拉應用鏈的共用序列器》

作者: Apoorv Sadana

編譯:Odaily星球日報夫如何

! [乙太坊多鏈發展前路何方,或許波卡能給參考答案] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-d5ea1f805b-dd1a6f-69ad2a.webp)

當越來越多的L2、應用鏈依靠乙太坊作為結算層后,多鏈之間的互操作性和每條鏈的去中心化程度就顯得尤為重要。

本文討論了共用排序器的概念,共用排序器可以使不同的應用鏈共用一組驗證者來實現去中心化,並通過訂單引擎和 Rollup 引擎來處理交易排序和執行。

但共用排序器和 Polkadot 的多鏈設計架構具備高度相似性,可否將 Polkadot 現成的技術引入乙太坊生態系統,從而提高乙太坊多鏈的發展進程。

以下由Odaily星球日報編譯。

100 個應用鏈會發生什麼?

假設我們處在一個未來,現在有100個不同的應用鏈在乙太坊上結算。 讓我們來解決這將引發的問題。

去中心化的碎片化

每個應用鏈都需要自行解決去中心化的問題。 現在,應用鏈的去中心化並不像L1那樣必要,主要是因為我們依賴L1來確保安全性。 然而,我們仍然需要去中心化來確保生命力、抵抗審查和避免壟斷優勢(例如高費用)。 然而,如果每個應用鏈都採用自己的方式解決去中心化問題,這將導致驗證者集的碎片化。 每個應用鏈都必須開發經濟激勵措施來吸引新的驗證者。 此外,驗證者還需要選擇他們願意運行的用戶端。 這為開發者啟動自己的應用鏈創造了巨大的准入門檻(與部署智能合約相比,後者只是一次交易)。

可組合性

可組合性基本上意味著跨應用的交互。 在乙太坊或 Starknet 上,這僅僅意味著調用另一個智能合約,其他一切都由協定自己處理。 然而,在應用鏈中,這變得更加困難。 不同的應用鏈有自己的區塊和共識機制。 每次嘗試與另一個應用鏈交互時,你需要仔細審查共識演算法和最終性保證,並相應地設置跨鏈橋接(直接到鏈上或通過L1)。 如果你想與 10 個具有不同設計的應用鏈交互,你需要做這 10 次。

! [乙太坊多鏈發展前路何方,或許波卡能給參考答案] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-18c07cd8cf-dd1a6f-69ad2a.webp)

開發體驗

解決去中心化和橋接並不容易。 如果每個應用鏈都需要解決這些問題,對於普通的智慧合約開發者來說,建立自己的應用鏈將變得非常困難。 此外,由於每個應用鏈都試圖以自己的方式解決這些問題,我們很快會看到不同的鏈遵循不同的標準,這將使新專案方加入生態系統變得更加困難。

共用排序器可以解決這個問題

如果你關注應用鏈領域,你可能聽說過“共用排序器”這個術語。 它是指為解決上述問題而共用一組公共驗證者的想法。 它的工作原理如下。

共用去中心化

**共用排序器的核心思想是不需要為每個應用鏈或L2擁有不同的驗證者集。 但可以擁有一組非常高效和去中心化的驗證者,為所有的鏈排序區塊。 **

由於今天幾乎每個排序器都是集中化的,排序器被視為一個單一應用程式,它收集交易,對它們進行排序,執行它們,並將結果發佈到L1上。 然而,這些任務可以分解為多個模組化元件。 出於解釋的需要,我將其分為兩個部分。

**排序引擎:**負責按照特定的順序對交易進行排序。 一旦排序引擎決定了這個順序,就必須遵循此順序。 此舉在L1上提交此順序並強制L1驗證者檢查是否按照所需的順序執行交易來實施的。

**Rollup 引擎:**Rollup 引擎基本上包括 Rollup 所做的一切:從使用者收集交易,執行交易,創建證明並更新L1上的狀態。 理想情況下,這可以分解為更多的元件,但在本文中我們將避免這樣做。 在這裡,排序引擎是共用排序器,Rollup 引擎基本上是所有 Rollup 邏輯。

因此,交易的生命週期如下所示。

! [乙太坊多鏈發展前路何方,或許波卡能給參考答案] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-fc5a1b83cf-dd1a6f-69ad2a.webp)

共用排序器基本上對 Rollup 中的交易進行排序,並將其提交到L1上。 共用排序器通過將共用排序器集合去中心化,也就意味著與該排序器集合連接的所有 Rollup 都變得去中心化了。

可組合性

可組合性的一個主要問題是瞭解交易在其他應用鏈上何時最終完成,並相應地在鏈上採取行動。 但是共用排序器可以讓可組合的 Rollup 互相共用區塊。 因此,如果在 Rollup B 上發生交易回滾,整個區塊都會回滾,這也導致 Rollup A 上的交易回滾。

現在,這聽起來肯定比實際操作要容易。 為此,Rollup 之間的通信需要高效且可擴展。 共用排序器需要制定關於 Rollup 如何通信、跨鏈消息應該是什麼樣子、如何處理 Rollup 升級等方面的適當標準。 儘管這些問題是可以解決的,但也不易實現。

開發者體驗

雖然共用排序器確實抽象了去中心化方面,使跨鏈消息傳遞變得更容易,但每個鏈仍然需要遵循一些標準,以與共用排序器相容。 例如,所有 Rollup 交易都需要轉換為排序器所理解的通用格式。 同樣,需要過濾排序器的區塊以獲取相關交易。 為了解決這個問題,**我認為共用排序器將推出 Rollup 框架或 SDK,將樣板代碼抽象出來,只向應用鏈開發者公開業務邏輯部分。 **

以下是應用鏈在使用共用排序器時的示意圖。

! [乙太坊多鏈發展前路何方,或許波卡能給參考答案] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-849b693227-dd1a6f-69ad2a.webp)

乙太坊多鏈可否借鑒 Polkadot 的設計架構

Polkadot 在乙太坊之前就開始著手多鏈的未來。 實際上,他們已經在這方面工作了5年多了。 如果你熟悉 Polkadot,你可能已經注意到上面的設計基本上是重新發明瞭 Polkadot 已經完成的許多事情。

中繼鏈(共用去中心化)

中繼鏈基本上就是上面序列圖中的排序引擎+L1。 中繼鏈的功能包括:

對所有平行鏈(Rollup)的交易進行排序 驗證交易是否正確執行(它不使用零知識驗證,而是重新運行 Rollup 的執行代碼,以驗證狀態差異)。

! [乙太坊多鏈發展前路何方,或許波卡能給參考答案] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-a5377511f0-dd1a6f-69ad2a.webp)

你可能已經意識到,中繼鏈基本上就是我們上面討論過的共用排序器。 不同的是,中繼鏈還需要驗證執行,而我們將這一點留給了乙太坊。

XCM 和 XCMP

我們在前面的部分提到,如果每個鏈都建立自己的方法來與其他鏈進行互操作,那麼很快我們就會在所有鏈上看到不同的標準和格式。 你需要跟蹤與每個鏈交互的所有這些格式。 此外,你還需要回答諸如如果一個鏈升級會發生什麼之類的問題。 然而,這些問題可以通過引入所有鏈必須遵循的標準來解決。

正如你可能已經猜到的,Polkadot 已經做到了這一點。 XCM 是消息格式,XCMP 是消息協定,所有的子鏈都可以使用它們來相互通信。

Substrate 和 Cumulus

Substrate 是 Parity 開發的一個用於構建區塊鏈的框架。 雖然 Polkadot 上的所有平行鏈都使用 Substrate,但 Substrate 實際上是以鏈無關的方式構建的。 該框架抽象了區塊鏈的所有通用方面,專注於應用邏輯。 正如我們所知,Madara 是基於 Substrate 構建的,Polkadot、Polygon Avail 和許多其他專案也是如此。 此外,Cumulus 是在 Substrate 之上的中間件,可以將你的鏈連接到 Polkadot。

因此,繼續之前的類比,Substrate 和 Cumulus 可以被視為替代 Rollup 框架的解決方案,它們允許構建應用鏈並將其連接到共用排序器。

共用排序器 → 中繼鏈

可組合性 → XCM 和 XCMP

Rollup 框架/堆棧 → Substrate 和 Cumulus

! [乙太坊多鏈發展前路何方,或許波卡能給參考答案] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e786adbea4-dd1a6f-69ad2a.webp)

上述基本上就是 Polkadot 的翻版,除此之外,Polkadot 和 Parity 擁有一些經驗豐富且資金充裕的團隊,他們繼續改進 Substrate 和 Polkadot,增加更多功能並提高可擴充性。 這項技術經過多年的實戰測試,並且具備豐富的開發工具。

在乙太坊上結算 Polkadot?

雖然 Polkadot 確實在乙太坊之前開始構建多鏈的未來,但無可否認的是,截至今天,乙太坊是最具去中心化的區塊鏈,也是大多數應用和流動性所在的地方。 然而,如果有一種方法將所有 Polkadot 技術引入乙太坊生態系統,會怎樣呢?

實際上,我們已經開始這個工作了,Madara 就是一個例子。 Madara 使用 Substrate 框架允許任何人在乙太坊上構建自己的基於 zk 的L2/L3解決方案。 接下來我們需要的是以共用排序器形式的 Polkadot 中繼鏈。 如果我們可以重用 Polkadot 中繼鏈,但是移除驗證部分,因為在L1上通過 zk 證明進行驗證 將交易的順序提交到L1上 優化節點和共識演算法,以支援 Tendermint/HotStuff 我們就可以得到前面提到的共用排序器。

顯然,這說起來容易做起來難。 然而,我認為這條道路比從頭開始重建排序器、標準和框架更加務實。 Polkadot 已經以一種與鏈無關的方式解決了許多問題,我們可以借鑒它們用於乙太坊。 作為一個附帶產品,我們也能得到:

● 一個積極開發者社區,繼續為 Substrate 構建和教育全世界。

● 一個活躍的開發工具集和強大的社區。

● 許多活躍的平行鏈也可以選擇在乙太坊上結算,如果他們願意這樣做的話(最近我們看到 Astar 使用 Polygon CDK 做了同樣的事情) 。

結論

我撰寫這篇文章的主要目的是在 Starknet 和乙太坊的更廣泛生態系統中引發討論。 我認為共用排序模型將在 Starknet 的去中心化以及所有考慮在其上構建的應用鏈的去中心化中起著重要的作用。 只要我們對應用鏈的論點和 zk 擴展性有信心,對共用排序模型進行徹底的分析是不可避免的。 此外,隨著Madara向生產環境邁進,Starknet已經開始了去中心化的工作,我認為現在是解決這個問題的時候了。 因此,我請求每個閱讀這篇文章的人對這個話題提出任何反饋/建議。 期待閱讀你的想法。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)