共享排序器正在飛速發展,是時候對它是什么及其存在的原因進行深入分析了。這篇文章分析的對象僅限于OptimisticRollup,歡迎ZK關注者前來指教。
排序器是什么?
排序器是OptimisticRollup中的半信任化角色。雖然交易可以由主鏈本身進行排序,但這并不經濟,用戶必須單獨提交其Rollup交易對應的主鏈交易,并支付主鏈上費用。排序器通過允許Rollup交易共享單個主鏈交易來為用戶解決這些問題。
排序器聚合鏈下的多筆用戶交易來補充主鏈的排序,并將它們作為單個交易集合提交到主鏈,交易成本在用戶間分攤。排序器還可以壓縮交易集合,進一步節省主鏈數據可用性成本。與依賴排序器的用戶相比,自主排序的用戶將為包含在Rollup中的交易支付更多費用。
但是,排序器可以對交易集合中的交易排序進行控制。它可以選擇不包含用戶交易,從而迫使用戶自行排序,支付更高的主鏈成本。它還可以通過重新排序和插入提取的方法在交易集合中提取MEV。它們實際上擁有對Rollup的優先寫入權限。值得注意的是,因為排序器可以與合約交互,所以只有絕對可靠的交易才能通過鏈上機制可靠地強制執行,不可靠的交易在強制排序時很可能會失敗。
這使得排序器成為Rollup用戶的半信任方。雖然排序器無法阻止用戶訪問Rollup,但他們可以延遲用戶的訪問,導致用戶承擔額外的費用,并從用戶的交易中提取價值。通過去中心化進一步約束排序器的行為是一個活躍的研究課題。
排序和執行有什么區別?
排序器是主鏈排序的補充,它不計算Rollup的狀態,實際上它可能會選擇對無效交易進行排序。Rollup節點必須解析和清理排序數據,導出Rollup的有效歷史記錄,并執行歷史記錄以生成最新狀態。排序器則完全不參與此過程。
不過,正如我的朋友Fred不斷提醒我的那樣,一旦交易被排序,結果就是確定的。這意味著所有Rollup節點將根據排序器生成的順序達成一致結果。給定已知歷史,Rollup有一個正確的狀態。一旦節點找到這個狀態,一個或多個提議者會將其提交給主鏈的Rollup合約。
Web3游戲基礎設施開發商zkMeta將在Polygon上創建游戲專用Rollup:3月23日消息,Polygon Labs 宣布 Web3 游戲基礎設施開發商 zkMeta 正在 Polygon 網絡上創建一個游戲專用 Rollup,zkMeta 的目標是 2023 年第三季度完成產品集成,Era7 將是第一個使用 Polygon ZK 技術在 zkMeta 上發布的游戲。zkMeta 還將探索使用 Polygon zkEVM 零知識技術和 Polygon Supernets 解決方案來構建自定義應用程序特定的區塊鏈。[2023/3/23 13:22:34]
理論上,任何節點都可以是提議者,不需要任何權限。提議者將狀態連同保證金一起提交給主鏈。如果欺詐證明結果是狀態無效,保證金就會被沒收。該合約在計時器結束后接受證明,然后其中包含的用戶交易在主鏈上執行。執行節點通過欺詐游戲確保提議者誠實,我們傾向于將執行節點稱為「Rollup全節點」或「驗證者」。
換句話說,一旦排序被提交到主鏈,狀態就變成最終的和不可變的。提議者計算并報告最終狀態給Rollup合約,以維護Rollup到主鏈的資產橋的利益。提議者不會創造狀態,他們只是計算并證明它。Rollup合約不會創建或最終確定Rollup,它只是從提議者那里獲得Rollup狀態。
為什么要將排序和提議分離?
這是一個復雜的問題。從根本上說,將它們分開是因為它們本身是分開的。這聽起來像是同義反復,但似乎每個人都花了很長時間才意識到這一點。我們驀然回首,才發現Rollup的思想歷史多年來一直在Plasma和狀態通道中曲折發展。在基于比特幣的proto-Rollup早期,并沒有排序器,用戶只需將他們的交易發布到主鏈。之后,這種設計消失多年,最終因為Barry的工作重新出現。在Barry和Celestia之間,Rollup的研究主要集中在Rollup橋與主鏈的交互上。在SovereignRollup出現之前,甚至沒有人意識到我們其實在構建更好的Mastercoin。
Autism Capital:有人看到Alameda前負責人Caroline在曼哈頓出現:12月5日消息,加密KOL Autism Capital發推稱,一位用戶聲稱他們于12月4日在曼哈頓SoHo西區的Ground Support Coffee看到Alameda Research投資部門前負責人Caroline Ellison,這意味著她不在香港,而在紐約,沒有被拘留。
此前消息,美國檢方和SEC正廣泛撒網向FTX投資者和合作方收集SBF、Caroline Ellison等關鍵人員信息。[2022/12/5 21:23:00]
拋開出處不談,排序器解決了一個特定的問題:用戶交易成本最小化。然而,這個過程中又引入了一個新問題:排序器可以同時對同一交易產生多個排序結果。如果排序完全由主鏈完成,將會有一個單一的規范排序,但用戶交易費用會更昂貴。我們選擇使用排序器來改善Rollup中的用戶體驗。
假設存在很多個排序器,因為有多個提議者。排序器們可以提交相互沖突的排序,我們現在需要一種機制來「規范」主鏈上的特定排序批次。當前的Rollup通過一個單一的、特定的、已知的、半可信的排序器來實現這一點。選擇單個排序器使我們能夠解決這個問題,直到去中心化排序器到來。因為我們想要多個提議者,但只需要一個排序器,所以必須將這兩個角色分開。
數據依賴性是另一個重要的原因:提議者需要排序,但是排序器不需要狀態。提議者依賴于排序器工作的輸出,但是排序器不依賴于提議者。因為數據依賴是單向的,所以需要在角色之間劃定界限,并允許參與者專注于單一角色。
為了回答最初的問題,我們將提議者和排序器分開,因為它們本身是分開的。提議者在排序器的下游工作。Rollup將信任和權威授予了排序器,而提議者只是一個普通工作人員。
排序器、提議者和驗證者現狀
Arbitrum和Optimism是兩種常見的ORU方案。我想簡要介紹一下他們中的主要角色,不會涉及到代碼,只是規范和文檔。Optimism的討論將僅限于Bedrock設計。
ZKRollup擴容團隊MatterLabs完成A輪融資,USV領投:3月1日消息,以太坊ZKRollup擴容方案MatterLabs宣布完A輪融資,聯合廣場風投(USV)領投該輪,此前的投資者Placeholder、1kx和Dragonfly繼續參與本輪,除此之外還有zkSync的生態合作方,包括Aave、Balancer、1inch、Curve、Binance、CoinbaseVentures、火幣、路印、Argent、MYKEY、imToken、Flexa、MoonPay、ripio、CoinGecko,但尚未公開具體的融資金額信息。[2021/3/1 18:05:07]
Arbitrum
除了批處理和壓縮用戶交易外,Arbitrum排序器還運行一個完整的節點。交易被直接發送到排序器,它在交易排序時創建一個可信的WebSocket提要。Arbitrum將此提要作為「軟」確認來源。排序器對排序結果作出承諾,用戶通常可以依賴該排序。節點、MEV搜索者或其他參與者可以使用此提要來預先計算Rollup狀態。
排序器會定期將經過排序的壓縮交易發布到主鏈。主鏈最終確定代表Rollup的「硬」確認。一旦主鏈確定了排序,它就成為Arbitrum鏈上不可更改的部分,其中排序的所有交易都成為最終狀態,結果狀態也成為最終狀態。
自然地,因為排序器設置交易順序,所以它具有優先寫入權限。排序器可以控制排序的內容,從而控制Rollup歷史中交易的排序。當然,用戶可以通過主鏈上的delayedinbox強制包含交易。搜索者已經竭盡全力將WebSocket交易提要的延遲降到最低,因此他們很可能會形成一個強大的MEV市場來對Arbitrum交易進行排序。
有13個經過許可的Arbitrum提議者,他們中每一個都在名為「RBlock」的特定承諾中托管了ETH。用戶可以選擇依賴一定比例的質押來做出關于Rollup的最終決定,而無需運行Rollup完整節點。雖然Arbtirum驗證者可以識別欺詐,但只有提議者可以通過欺詐證明質疑承諾的有效性。實際上,只有提議者可以成為完整的驗證者。
報告:在以太坊擴容競爭中roll-ups將擊敗L1解決方案:12月3日,加密研究機構Messari發布研究報告稱,在以太坊擴展解決方案的競爭中,roll-ups將擊敗第一層解決方案。Messari斷言,等待ETH2.0的完成,給其他低費用、低延遲的競爭對手留下了蠶食以太坊壟斷地位的機會。而roll-ups解決方案將勝出。因為該解決方案可以實現計算,而不會因為多余的數據和計算請求而拖累底層網絡。[2020/12/3 23:00:29]
正義,就像一個排序器,是盲目的,它必須帶著劍
Optimism
與Arbitrum一樣,除了批處理和壓縮用戶交易外,Optimism排序器也運行一個完整的節點。交易直接發送到排序器,排序器在排序時創建可信的預確認。Optimism用戶可以使用這些確認作為最終軟確認的來源。排序器對排序作出承諾,用戶通常可以依賴該排序。節點、MEV搜索者或其他參與者可以使用這些確認來預先計算Rollup狀態。
排序器會定期將經過排序的壓縮交易發布到主鏈。主鏈最終確定代表Rollup的「硬」確認。一旦主鏈確定了序列,它就成為Optimism鏈歷史中不可更改的一部分。其中排序的所有交易都成為最終狀態,結果狀態也成為最終狀態。
自然地,因排序器設置交易順序,所以它具有優先寫入權限。排序器可以控制排序的內容,從而控制Rollup歷史中交易的排序。當然,用戶可以通過在主鏈強制包含交易。作為MEV拍賣概念的發起者,一個用于排序Optimism交易的強大MEV市場似乎將要形成。
Optimism有1個經過許可的提議者。該提議者簽署了對主鏈的特定承諾,稱為「狀態輸出」或「L2輸出根」。用戶在做出關于Rollup的最終決定時可以選擇依賴提議者,而無需運行Rollup全節點。雖然Optimism驗證者可以識別欺詐,但只有一個經過許可的挑戰者可以通過簽名來挑戰承諾的有效性。挑戰者可以隨時刪除一個L2輸出根,無需欺詐證明。實際上,只有獲得許可的挑戰者才能成為完整的驗證者。
觀點:“以 rollup 為中心” 的擴容方案并沒有讓以太坊偏離方向:據EthFans社區10月15日消息,針對此前V神更新以太坊路線圖稱,將以rollup構建為中心,以太坊lightclient近期發博客文章表示,“以 rollup 為中心” 的擴容方案并沒有讓我們偏離方向,而是一個超集。我們在分片設計中遇到的問題與我們在整合跨rollup通信時遇到的問題是同構的。這就意味著,已經開展的大部分工作都可以繼續進行,不會被中斷。與此同時,以rollup為中心的路線圖會降低分片執行所必需的協議復雜性。這使得我們能夠不斷迭代類似分片的復雜的rollup機制。這樣可以讓更多開發者為不同的rollup格式做貢獻,讓現有核心開發者和研究者可以專注于構建一個健壯的數據可用性層。[2020/10/15]
小結
當前兩個主要的Rollup都集中在同一種設計上,它可能會變得非常混亂。他們經常對同一個概念使用不同的名稱,但他們的設計幾乎相同。
共享排序器
在對排序器有了新的理解后,讓我們繼續討論我真正想談的內容:共享排序器。當Rollup共享同一個排序器時會發生什么?
不同的Rollup是什么意思?
借用Ben的定義,我們應該將Rollup視為狀態、狀態轉換函數和證明系統。Rollup有合約和賬戶,它有一個虛擬機來處理交易以更新這些合約和賬戶,而非主權Rollup有一個證明系統來運行與主鏈的橋接。每個組件有多種設計,它們可以在一定程度上混合搭配。
但是,有些組件比其他組件更平等。總的來說,我們大概應該把狀態看作是鏈的本質。鏈不傾向于改變它們的狀態。畢竟,以太坊開發者多次更改虛擬機,多次更改共識機制,但只更改過一次狀態。狀態即是Rollup,虛擬機和證明系統的存在是為了支持它。因此,不同的Rollup具有不同的狀態。它們可能共享一個證明系統或一個STF,但兩個Rollup永遠不可能共享相同的狀態。
提取、檢查和過濾
Rollup從主鏈歷史中獲取它們的狀態。為了做到這一點,每個Rollup都必須定義一個「提取」函數。提取函數將主鏈歷史分為Rollup歷史和non-Rollup歷史。STF處理Rollup歷史以創建Rollup狀態。實際上,提取功能變成了一個「鏡頭」,Rollup通過它檢查主鏈。
Rollup使排序器能夠選擇提取函數下一次運行的輸出。排序器選擇Rollup節點下一步將看到和處理的數據,因此對STF的操作和下一個狀態有一定的控制。
在排序器創建主鏈數據視圖后,Rollup節點運行過濾功能。因為排序器不一定知道它所服務的Rollup的狀態,所以允許在其排序中包含無效交易。提取后,Rollup節點會看到這些無效交易,并將其刪除。當給定無效交易時,Rollup節點不會出錯,而是簡單地忽略它并繼續。L1必須禁止垃圾信息以保持共識,而Rollup則不需要。
共享排序器
共享排序器為兩個或多個Rollup的提取函數提供輸入。因此,它為兩者設置新的歷史記錄,控制STF的輸入。它可以單獨為每個Rollup執行此操作,也可以同時為兩者執行此操作。單獨設置歷史記錄時,它的工作方式與未共享的排序器完全相同。
然而,當同時為兩個Rollup創建新的歷史記錄時,共享排序器可以通過原子「鏈接」兩個Rollup的歷史記錄來行使一些額外的權力。排序器同時為每個Rollup生成序列,并確保兩者都確認或都不確認。這允許排序器對兩條鏈的歷史進行控制,因此對Rollup的下一個狀態有一定程度的控制。
原子包含
在這一點上,我必須重申,排序器可以對其產生的排序行使很大的自由裁量權。這意味著雖然用戶可以使用共享排序器在多個Rollup上進行交易,而無需與主鏈進行交互,但他們不一定依賴排序器在這些交易之間產生任何特定的關系。共享排序器的支持者設想了一種新結構,用戶可以在其中指定包含的原子性,即可以強制排序器通過共享強制排序機制同時對多個Rollup中的一組交易進行排序。這將允許用戶確保所有這些原子交易都包含在Rollup歷史中,或者全部不包含。
這并不像看起來那么好。因為只有絕對可靠的交易才能強制排序,只有絕對可靠的交易集才能保證在原子包含時原子執行。正如我們之前所說,包含和執行是分開的。Rollup在包含之后和執行之前通過過濾器功能過濾掉無效交易。假設排序器獲取用戶的原子集,并導致一個交易失敗或失效。該交易將在排序后被過濾,并且不會執行。這意味著原子包含不足以保證原子執行,除非涉及的所有交易都是絕對可靠的。
具體而言,可以原子執行簡單的發送和取款,但任何容易出錯的東西,如交換或DeFi交互,都不能。不幸的是,大多數高價值交互都包含1個或多個容易出錯的交易,因此似乎很難使原子包含發揮作用。這有效地排除了通過共享排序器進行交叉Rollup的DeFi可組合性。共享排序器不是靈丹妙藥,用戶的資產可能被鎖定在異步跨鏈模型中,直到流程結束。
Rollup組合的原子執行
還記得之前談到的排序器如何在將排序發布到主鏈之前提供可信的執行保證嗎?您可以設想一個共享排序器針對多Rollup系統做同樣的事情。共享排序器可以運行每個Rollup的完整節點,并使用它們來確定交易是否成功。然后它可以承諾它不會產生原子交易集不全部成功的排序。
當然,這個系統是值得信任的。你會相信排序器不會說謊。您現在可能在想「我們可以通過限制排序器的行為將其轉換為免信任的系統嗎?」我很高興/悲傷/困惑地說答案是「是的,但是」。是的,但我們這樣做的方法是組合每個Rollup的STF,以創建一個執行所有組合Rollup交易的單個STF。也就是說,我們必須使所有Rollup之間的所有虛擬機原子化。這相當于使它們成為相同的Rollup。所以是的,我們可以實現不受信任的原子執行,方法是通過將多個Rollup合并為一個。這可能是個好主意1,但我懷疑它的可行性。
偶然性關系的原子執行
我在別處寫過這個,另一個可靠的選擇是在交易和Rollup狀態之間集成顯式的偶然關系。這會將評估突發事件的負擔轉移到提議者身上,因為他們必須根據他們對遠程Rollup的信任來計算和提議狀態根。但是,我認為我們可以通過重復應用過濾器功能來簡化它。假設偶然性在某個交易和區塊中是明確的,我們可以運行兩次過濾器,一次假設預測的狀態有效,一次假設預測的狀態無效。這可以擴展到n個預測狀態,代價是對過濾器函數進行2^n次評估.
在這個世界上,提議者可以證明2^n個根,每個根都有明確的偶然關系。例如,提議者可以證明「根是X取決于遠程Rollup狀態A,否則是Y」,而不是說「根是X」。這樣,提議者就不會永遠評估遠程Rollup區塊。相反,他們會根據來自其他狀態的假設信息,多次評估自己的過濾函數和狀態。這真的很酷,因為它保留了Rollup的分離,同時仍然允許復雜的即時交叉Rollup通信。
結論
排序器是鐘表匠巧奪天工之作,它設置Rollup歷史記錄,然后看著它滴答滴答地走到它的命定狀態。Optimism和Arbitrum并無多大差別,但兩者安全性確有不同。沒有人知道排序器是做什么的。共享排序器可以進行原子包含,但不能進行原子執行,如果沒有Rollup組合或其他一些執行機制,就無法將原子包含納入原子執行。所有這些關于共享排序器實現無縫互操作性的吹噓都是垃圾科學。
文:財經故事薈,采寫:王舒然,編輯:萬天南 圖片來源:由無界AI工具生成在大模型甚囂塵上的當下,一向高舉高打的字節,卻一反常態,低調得讓人不太習慣.
1900/1/1 0:00:00前兩天,一個C字打頭的區塊鏈安全審計公司審計過的項目MerlinDEX卷款200萬美刀跑路,在業內引起了不大不小的震動.
1900/1/1 0:00:00作者:黑米,白澤研究院 以太坊開發者社區不斷突破創新界限,以改善去中心化應用程序(dApp)的用戶體驗。EIP和ERC分別是提案和正式的標準,旨在改進以太坊網絡的功能.
1900/1/1 0:00:00歐洲議會于?4?月?20?日通過了歐洲加密資產市場法規。據悉,歐盟是世界上第一個引入全面加密法的主要司法管轄區,通過沒多久后,美國國會派遣十幾名國會工作人員負責了解歐盟新的加密法律框架.
1900/1/1 0:00:00近期,Ordinals協議的火爆又激發起大家對比特幣生態探索的興趣。其實,在Ordinals協議之前,就有一個智能合約系統能夠在比特幣上發行代幣和NFT,它就是RGB.
1900/1/1 0:00:00購買?MemeCoin?能“致富”嗎?近期的?PEPE?一直在話題熱榜上,改變了“不溫不火”的市場現狀,重新點燃了用戶心中靠?Crypto?一夜暴富的夢想.
1900/1/1 0:00:00