科普 | Rollup 中的定序器

我看到 OptimismPBC 上部署的 Uniswap 的快速確認功能引起了很多人的興趣。但這是如何做到的?用戶可以放心使用嗎?只靠一個定序器提供確認難道不會威脅到去中心化嗎?讓我來一一為你解答。

科普 | Rollup 中的定序器

首先,最重要的是,定序器在許多 rollup 系統中都屬於享有特權的參與者(@optimismPBC、@arbitrum、@StarkWareLtd、@zksync)。它們接收來自用戶的交易,對其進行排序並批量提交到 Layer1上。

定序器之所以存在,主要是因為單一協調者簡單高效。現階段,每個 rollup 系統通常都會有一個定序器,由系統創建者運行。

定序器負責為交易排序。因此,在收到用戶的交易后,定序器可以立即將其挖出,並向用戶返回確認。這極大地改善了用戶體驗。

如果你擔心定序器會攫取 MEV,那你是對的,不過我會單獨討論這個問題(留到最後分析)。

如果定序器忠於職守,則一切都好。但是,如果定序器作惡,欺騙用戶並試圖破壞網絡,我們該怎麼辦?讓我們來深入探討這個問題。

最重要的問題是:定序器可以偷用戶的資金嗎?不能。狀態轉換的有效性由 rollup 架構保障(Optimistic Rollup 靠的是欺詐證明,zk-Rollup 靠的是有效性證明)。

定序器能審查用戶的交易嗎?沒錯,它確實可以。定序器通常是 JSON RPC 節點。與 Infura 類似,定序器甚至可以謊報網絡狀態或審查用戶交易。

幸運的是,審查不是什麼大問題,因為所有 rollup 系統都可以通過不可審查的 Layer1 來發布 Layer2 交易。協議會強迫定序器在幾分鐘內將用戶交易打包到 rollup 內。

如果定序器謊報狀態,用戶需要自己運行節點,根據發布到 Layer 1 的批量交易重新創建 rollup 狀態。這聽起來可能很糟糕,但是與 Layer1 上的情況相同。

最後,定序器可以謊稱交易已得到即時確認嗎?可以。正如上文所述,定序器可以謊報當前網絡狀態以及用戶交易是否被打包。

例如,定序器可以對用戶謊稱交易已成功,但是實際上被撤銷了。用戶只有基於 Layer1 重新創建 rollup 狀態之後才會發現自己被騙了。

只有被發布在 Layer1 上,rollup 交易才算是被敲定了。這就是為什麼 Rollup 的 Web 3.0 庫一般可以讓開發者輕鬆構建用戶界面,以告知用戶 Rollup 交易的處理進度。

未來有可能採取的一種解決方案是,讓定序器在收到用戶交易時簽名確認,如果交易沒有被打包到 rollup,用戶可以懲罰定序器。這可以通過瞭望塔之類的服務自動化執行。

這是真正讓我感到興奮的地方 —— 定序器技術還處於發展初期。未來,我們將看到更多複雜的設計來解決我提到的很多問題。

我們也可以運行一個由定序器組成的免許可型 PoS 網絡來代替單個許可型定序器。每一批交易都由網絡中隨機選取的定序器打包到 Layer1 上。這會大幅增強抗逆性和抗審查性。

當然了,每個定序器都需要提供保證金,一旦作惡就會遭到罰沒。

其它項目如 Arbitrum 在試驗一種公平的協議來發現正確的交易排序。https://eprint.iacr.org/2020/269.pdf

當然,也可以不打擊 MEV,而是擁抱 MEV:參與方通過競標的方式來獲得在一段時間內運行定序器的權利(但是這個想法存在一些問題)。

如果你想更多了解 rollup 的設計空間,可以閱讀 Vitalik 的這篇文章(中文譯本)中的 “誰可以提交批量交易” 一節。

總之,IMO 定序器在去中心化和速度之間取得了良好的平衡。我們目前看到的還只是定序器的最小可行產品,還有很多聰明人正在努力改進它。未來將一片光明!

原文鏈接:

https://twitter.com/krzKaczor/status/1415326134552641536

作者: Kris Kaczor

翻譯&校對: 閔敏 & 阿劍

本文鏈接:https://www.8btc.com/article/6664963

轉載請註明文章出處

(0)
上一篇 2021-07-24 19:23
下一篇 2021-07-24 20:25

相关推荐