那麼什麼是排序器(Sequencer),它在 Layer2 中又是如何工作的? 中心化排序器所面臨的問題有哪些? 同時排序器未來將如何發展? 本文將深入探討這些問題。

作者:鑒叔

封面😛 hoto by J K on Unsplash

目前 Layer2 主要的收入來源是使用者在 Rollup 上進行交易時所給的 Gas 費,只要再減去 Layer2 向 Layer1 提交數據時所交的 Gas 費,剩下的幾乎就是純利潤。 如下圖所示,粗略統計,OP Mainnet 2023 年 6-12 月利潤大約為 523 萬美元,Arbitrum 利潤全年為 1650 萬美元,zkSync Era 2023 年 3-12 月利潤為 2224 萬美元。

排序器(Sequencer)的原理、現狀及未來

實現如此巨大的利潤背後的秘密是什麼呢? 其實這與他們唯一運行著的排序器有很大的關係。

那麼,什麼是排序器(Sequencer),它在 Layer2 中又是如何工作的? 中心化排序器所面臨的問題有哪些? 同時排序器未來將如何發展? 本文將深入探討這些問題。

排序器的原理

Sequnencer,中文譯為排序器或定序器,它是 Layer2 中非常關鍵的角色。 其主要功能為接收來自 Layer2 使用者的交易並對其進行執行,最後將對交易排序和壓縮後形成的批處理(Batch)提交到 Layer1 中。

排序器(Sequencer)的原理、現狀及未來

或許這樣說還是比較抽象,接下來筆者將以具體的例子來類比。 以往當使用者在乙太坊上發生交易時,我們可以形象地看作是自己開車去城裡(乙太坊)辦事,當交易高峰期來臨時堵車這樣的事情就自然會發生,這時候使用者除了等以外,就只能多付點錢讓外援(指的是驗證者)來接你,不然沒有任何辦法。

解決堵車問題在現實中有很多種方案,比如發展公共交通、擴寬車道、多修幾條路、錯峰限號出行等,而 Layer2 就是乙太坊的公共交通方案,排序器(Sequencer)便是公交車師傅。 公交車師傅告訴大家,你們不用親自開車進城了,只要給我一些服務費(比自己開車的費用低)保證給大家送到目的地,這樣既省錢又省力。 同時為了最大化利用公交車內的空間,公交車師傅一般會把人盡可能的裝滿才發車,還會對乘客進行指揮、重新排列,例如兩個胖子之間可以夾一個瘦子,使車內乘客 “嚴絲合縫”。

瞭解完這個流程,我們再來回答一些大家關注的問題。

誰可以運行排序器呢?

有幾種常見的方案:

  • 中心化的排序器

這種方案則是 Layer2 團隊親自或指定某個組織唯一運行排序器,因為這種方式效率很高成本卻很低,所以是 Layer2 團隊最喜歡的方案;

當然還有其他的方案來決定誰可以運行排序器,筆者將在「去中心化排序器」一節中詳細介紹。

  • 完全無許可的排序器

意味著任何人都可以對交易進行排序並提交到 Layer1 上。 但是這種方案雖然看似簡單公平,但也有明顯的缺點,畢竟排序器並不等於 Layer1 的礦工或驗證者,它們並不提高最終的安全性,只是向主鏈提交批處理(Batch)。 即使多個參與者同時提交批處理(Batch),最後也只有一個會被收錄,這就導致了其他排序器的計算資源和 Gas 被大量浪費;

排序器是按什麼標準排序呢?

通常來講有兩種排序方式,一個是先到先服務,類似於先上公交車的人可以先佔座,先發出的交易也會被先排序; 第二個方式是按 Gas 費排序,如果有的使用者對自己的交易很急,他可以多給排序器一些錢,那麼這時排序器就會優先打包他的交易而不管先來後到。

主流的 Layer2 多採用第一種方式,但是不管第一種還是第二種本質上也只是符合常理罷了,對於如何排序其實 Layer2 是沒有硬性規定的。 排序器甚至可以隨心所欲地排序,就像公交車師傅可以拒絕某人上車也可以提前給自己的親戚朋友佔座一樣,雖然不符合常理。

排序器可以作惡嗎? 又該如何防止呢?

理論上排序器可以作惡。

排序器的權力其實非常大,他可以故意撤銷某人的交易然後謊報其已經成功了,或者也可以在眾多交易中夾雜一個惡意交易(例如將使用者在 Layer2 的資產轉移到自己的位址)來使自己獲利。

但是,為了防止排序器可能的作惡行為,不同的 Layer2 也有不同的約束方式。 Optimistic Rollup 採用欺詐證明的方式,即首先樂觀的認為排序器是誠實的,在爭議期內(通常為一周)如果沒有驗證者證明排序器提交到 Layer1 的數據有誤,那麼其提交的數據將永遠無法更改; ZK Rollup 則採用的是有效性證明,即對於排序器發佈的批處理(Batch)都會進行第一時間的驗證,驗證通過後交易就會在 Layer1 得到最終確認,沒有爭議期。

排序器(Sequencer)的原理、現狀及未來

現狀:中心化排序器引發的問題

目前主流的 Layer2 例如 OP Mainnet、Arbitrum One、Starknet 及 zkSync Era 都採用的是中心化排序器方案,由官方或附屬組織運行著排序器,例如 Optimism 基金會運行著 OP Mainnet 的排序器、Offchain Labs 運行著 Arbitrum One 的排序器等。

中心化排序器對於 Layer2 項目來說具有許多好處,例如便於管理、提高效率並且還能賺取一定的收入。 雖然它們幾乎都承諾會維護使用者的利益,不會作惡(現階段嚴格按照先到先服務的排序標準),但是中心化排序器依然引起許多用戶的擔心。

抗審查性弱

排序器由單一的一個中心化實體來運行,那麼其抗審查性是無法與 Layer1 中成千上萬的驗證者或礦工相比的。 團隊可能會因為法規的要求而剔除一些交易,或者因為某些原因將一些交易列入黑名單等。 儘管目前大多數 Layer2 都設計了機制,使用戶能夠繞過排序器直接向 Layer1 提交交易,但是使用者依然需要付出額外的成本。

排序器(Sequencer)的原理、現狀及未來

弱活躍性

弱活性也可以理解為單點故障。 相比於一秒成千上萬的交易請求,一個中心化的排序器因為硬體等原因無法同時處理這麼多請求,當一個排序器過載而又沒有其他備用排序器時就會引起整個系統宕機,例如 Arbitrum 發放空投時就出現過一段時間的宕機。

獲取不當的 MEV 收益

MEV 全稱為 Maximal Extractable Value,即最大可提取價值,是指礦工/驗證者通過操縱交易(添加、刪除、重排交易)所能夠獲取的額外收益。 雖然通常情況下它們會按照 Gas 費從高到低進行排序決定交易被納入區塊的順序,但一旦監控到有重大利潤出現時,礦工可以通過在區塊中添加交易、刪除交易或改變交易順序以獲取除出塊獎勵以外的收益,通俗理解就是 “即當選手又當裁判”。

在 Layer2 中,排序器也和 Layer1 的礦工/驗證者類似有著操縱交易順序的權力。 雖然排序器由 Layer2 團隊運行,但本質上我們依然無法完全相信他們,尤其是像 OP Mainnet 使用的還是私有記憶體池(為使用者暫存交易的地方,等待排序器處理),這就相當於是在進行黑箱操作,儘管其聲稱這樣做的原因是為了防止其他人監控交易而獲取不當的 MEV 收益。

未來

主流的 Layer2(OP Mainnet、Arbitrum One、Starknet、zkSync Era)也並非沒有意識到中心化排序器帶來的問題。 所以它們都提出了自己的去中心化排序器方案。

排序器(Sequencer)的原理、現狀及未來

不過目前僅還體現在官方文檔或白皮書中,似乎相比與將自己的權力和收益分散,它們現在更專注於打造自己的核心競爭力(網路性能、生態建設)。

去中心化排序器

以下筆者將簡單介紹幾種去中心化排序器的方案:

  • 地理去中心化

這是一種簡單粗暴的方式,將幾個排序器發佈在全球不同的地理位置,並由聲譽良好且利益相關的公司/組織運行。 他們可以通過輪換的方式來決定誰在一段時期內進行交易排序。 雖然依然具有問題,但比起單一的中心化排序器,這種方案還是具有更好的抗審查性和活性。

  • 排序器拍賣

Rollup 可以通過智慧合約直接進行排序器拍賣。 任何人都可以競標排序器運行權。 這樣的拍賣對每個區塊進行,也可以針對某一時間段。 當然,最後獲勝的一方仍要質押一定的保證金,以便在他們作惡時可以對他們進行處罰。 同時,拍賣所得的資金 Rollup 也可以進行有效的分配。

  • 領導者選舉

此方案為任何人都可以將代幣(ETH 或 Layer2 原生代幣)質押到 Layer2 的智慧合約中,每一個提交批處理(Batch)的排序者都從這些質押者中隨機抽取(抽中概率也可以與質押金額成正比)。

  • Based Rollup

這是近期在乙太坊社區中產生的一種方案,即直接由乙太坊的驗證者來主導 Layer2 交易的排序,完全取代 Layer2 自己的排序器。 當然,這個方案相比於前幾種操作難度更高,且目前還有許多技術問題待解決。

共用排序器

去中心化排序器方案本質上探討的是 Layer2 如何下發排序器的運行權力,在這個過程中 Layer2 團隊依然是主導者。 而共用排序器指的則是取消了單個 Layer2 專屬的排序器,多個 Layer2 同用一個第三方排序器網路。

這樣做有諸多好處,例如 Layer2 之間的原子可組合性(不同的 Layer2 交易在同一個記憶體池內)、防止 MEV 提取等。 目前有許多專案正在建立一個共用排序器網路,如 Astria、Radius 和 Espresso 等。

總結與思考

消除單點故障和緩解系統性風險是加密精神之一,將排序器去中心的想法某種程度上也是基於這種精神的延伸。 但是,如果我們從實際角度出發思考,去中心化排序器或共用排序器是否現在能完美緩解中心化排序器所引發的問題呢? 筆者看來未必。

從 MEV 的角度上來說,拿乙太坊舉例,根據 Flashbots 的數據顯示,自乙太坊 The Merge 後,其統計的區塊提議者(Proposer)已實現了 288829ETH 的 REV 提取。(注:REV 為已經被提取過的 MEV)

這還只是 Flashbots 統計的不完全數據,可見 MEV 市場在無需許可的乙太坊中有多麼巨大。

排序器(Sequencer)的原理、現狀及未來

良性適當的套利操作而產生的 MEV 有利於市場的穩定,但在巨大 MEV 利益的誘惑下而進行的惡意操作(例如三明治攻擊),就會對整個網路產生不利影響。 即使礦工自己不作惡,也會滋生出一個鏈下的勾結和賄賂市場。 這顯然違背了乙太坊理念的初衷,也會嚴重傷害普通使用者的利益,雖然目前乙太坊也在尋找解決方案(例如將排序者與提議者分離),但短期內這樣的情況依然存在。

乙太坊目前 MEV 的格局是市場自發形成的,那麼當 Rollup 的排序器同樣放開和去中心化後,久而久之會不會也形成這樣的市場格局呢? 相比於信任 Rollup 團隊而可能造成的單點故障,市場無序競爭后引發的混亂和另一種中心化也令人膽戰。

同時,共用排序器雖然能使不同的 Rollup 在排序器層面具有了互操作性,但如果未來越來越多這樣的第三方共用排序器被使用,本質上它們就成了一個控制多個 Rollup 的網路,其權力也會越來越大。 那麼,到時會不會又引發同樣的中心化問題呢? 我們是否又需要某種方案來去中心化共用排序器? 這些問題都有待進一步的思考。

區塊鏈的發展與去中心化是個漫長的過程,排序器被人們關注的原因是因為它在整個 Rollup 中扮演著極其重要的角色。 相信在未來經過不斷的探索與努力,今天所面臨的問題都會得到合適的解決。

參考資料:

【1】你不是真正的 Rollup

【2】MEV:從零和博弈走向三權分立

【3】對話 AltLayer、Scroll、Starknet 團隊 | 共用排序器和 L2 共識

【4】optimistic-rollups-vs-zk-rollups

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。