原文作者:JamesPrestwich
原文編譯:0x11,ForesightNews
共享排序器正在飛速發展,是時候對它是什么及其存在的原因進行深入分析了。這篇文章分析的對象僅限于OptimisticRollup,歡迎ZK關注者前來指教。
排序器是什么?
排序器是OptimisticRollup中的半信任化角色。雖然交易可以由主鏈本身進行排序,但這并不經濟,用戶必須單獨提交其Rollup交易對應的主鏈交易,并支付主鏈上費用。排序器通過允許Rollup交易共享單個主鏈交易來為用戶解決這些問題。
排序器聚合鏈下的多筆用戶交易來補充主鏈的排序,并將它們作為單個交易集合提交到主鏈,交易成本在用戶間分攤。排序器還可以壓縮交易集合,進一步節省主鏈數據可用性成本。與依賴排序器的用戶相比,自主排序的用戶將為包含在Rollup中的交易支付更多費用。
但是,排序器可以對交易集合中的交易排序進行控制。它可以選擇不包含用戶交易,從而迫使用戶自行排序,支付更高的主鏈成本。它還可以通過重新排序和插入提取的方法在交易集合中提取MEV。它們實際上擁有對Rollup的優先寫入權限。值得注意的是,因為排序器可以與合約交互,所以只有絕對可靠的交易才能通過鏈上機制可靠地強制執行,不可靠的交易在強制排序時很可能會失敗。
這使得排序器成為Rollup用戶的半信任方。雖然排序器無法阻止用戶訪問Rollup,但他們可以延遲用戶的訪問,導致用戶承擔額外的費用,并從用戶的交易中提取價值。通過去中心化進一步約束排序器的行為是一個活躍的研究課題。
排序和執行有什么區別?
排序器是主鏈排序的補充,它不計算Rollup的狀態,實際上它可能會選擇對無效交易進行排序。Rollup節點必須解析和清理排序數據,導出Rollup的有效歷史記錄,并執行歷史記錄以生成最新狀態。排序器則完全不參與此過程。
Tezos已激活孟買升級,引入二層擴展解決方案Smart Rollups:金色財經報道,權益證明區塊鏈 Tezos 宣布已激活第 13 次核心協議升級孟買,并引入了二層擴展解決方案 Smart Rollups,孟買升級后 Tezos 將提供 WebAssembly (WASM) 執行環境,允許開發人員使用 Rust、C 和 C++ 等通用編程語言在鏈上進行構建,讓開發人員可以更輕松地創建和部署 Dapp。其他升級功能包括:支持交互式欺詐證明、流水線驗證、將出塊時間從 30 秒減少到 15 秒等。[2023/3/31 13:36:23]
不過,正如我的朋友Fred不斷提醒我的那樣,一旦交易被排序,結果就是確定的。這意味著所有Rollup節點將根據排序器生成的順序達成一致結果。給定已知歷史,Rollup有一個正確的狀態。一旦節點找到這個狀態,一個或多個提議者會將其提交給主鏈的Rollup合約。
理論上,任何節點都可以是提議者,不需要任何權限。提議者將狀態連同保證金一起提交給主鏈。如果欺詐證明結果是狀態無效,保證金就會被沒收。該合約在計時器結束后接受證明,然后其中包含的用戶交易在主鏈上執行。執行節點通過欺詐游戲確保提議者誠實,我們傾向于將執行節點稱為「Rollup全節點」或「驗證者」。
換句話說,一旦排序被提交到主鏈,狀態就變成最終的和不可變的。提議者計算并報告最終狀態給Rollup合約,以維護Rollup到主鏈的資產橋的利益。提議者不會創造狀態,他們只是計算并證明它。Rollup合約不會創建或最終確定Rollup,它只是從提議者那里獲得Rollup狀態。
為什么要將排序和提議分離?
這是一個復雜的問題。從根本上說,將它們分開是因為它們本身是分開的。這聽起來像是同義反復,但似乎每個人都花了很長時間才意識到這一點。我們驀然回首,才發現Rollup的思想歷史多年來一直在Plasma和狀態通道中曲折發展。在基于比特幣的proto-Rollup早期,并沒有排序器,用戶只需將他們的交易發布到主鏈。之后,這種設計消失多年,最終因為Barry的工作重新出現。在Barry和Celestia之間,Rollup的研究主要集中在Rollup橋與主鏈的交互上。在SovereignRollup出現之前,甚至沒有人意識到我們其實在構建更好的Mastercoin。
Celestia宣布旗下模塊化rollup框架產品Rollkit已獨立運營:金色財經報道,據Celestia官方博客介紹,Celestia旗下模塊化rollup框架產品Rollkit(曾稱作Rollmint)已獨立運營,成為由社區主導的公共項目。據介紹,Rollkit提供了一個模塊化節點,用于在數據可用性層之上運行rollup。同時它公開了一個兼容ABCI的客戶端接口,可以用作任何兼容ABCI的區塊鏈應用程序的Tendermint的替代品。
通過使用Rollkit的模塊化框架,開發者可以定制rollup并插入任意數據可用性和執行層。目前,在Celestia的Mocha測試網上可使用Rollkit構建。[2023/2/22 12:21:14]
拋開出處不談,排序器解決了一個特定的問題:用戶交易成本最小化。然而,這個過程中又引入了一個新問題:排序器可以同時對同一交易產生多個排序結果。如果排序完全由主鏈完成,將會有一個單一的規范排序,但用戶交易費用會更昂貴。我們選擇使用排序器來改善Rollup中的用戶體驗。
假設存在很多個排序器,因為有多個提議者。排序器們可以提交相互沖突的排序,我們現在需要一種機制來「規范」主鏈上的特定排序批次。當前的Rollup通過一個單一的、特定的、已知的、半可信的排序器來實現這一點。選擇單個排序器使我們能夠解決這個問題,直到去中心化排序器到來。因為我們想要多個提議者,但只需要一個排序器,所以必須將這兩個角色分開。
數據依賴性是另一個重要的原因:提議者需要排序,但是排序器不需要狀態。提議者依賴于排序器工作的輸出,但是排序器不依賴于提議者。因為數據依賴是單向的,所以需要在角色之間劃定界限,并允許參與者專注于單一角色。
為了回答最初的問題,我們將提議者和排序器分開,因為它們本身是分開的。提議者在排序器的下游工作。Rollup將信任和權威授予了排序器,而提議者只是一個普通工作人員。
路印正式上線zkRollup二層AMM閃兌服務:據官方消息,路印協議Loopring正式上線基于路印協議3.6的以太坊二層AMM(自動做市商)閃兌功能。Loopring二層AMM當前只在網頁端可用,用戶可以用Metamask、支持WalletConnect的錢包和硬件錢包解鎖二層賬號。路印智能錢包將集成AMM相關功能,當AMM資金池達到一定數額后,Loopring會陸續開放相關的訂單簿交易,并上線訂單智能路由功能。官方指出,目前Loopring僅上線了LRC/ETH交易池,將于本月旬上中線更多交易池并開啟AMM流動性挖礦,用以獎勵流動性提供商。[2020/12/2 22:52:20]
排序器、提議者和驗證者現狀
Arbitrum和Optimism是兩種常見的ORU方案。我想簡要介紹一下他們中的主要角色,不會涉及到代碼,只是規范和文檔。Optimism的討論將僅限于Bedrock設計。
Arbitrum
除了批處理和壓縮用戶交易外,Arbitrum排序器還運行一個完整的節點。交易被直接發送到排序器,它在交易排序時創建一個可信的WebSocket提要。Arbitrum將此提要作為「軟」確認來源。排序器對排序結果作出承諾,用戶通常可以依賴該排序。節點、MEV搜索者或其他參與者可以使用此提要來預先計算Rollup狀態。
排序器會定期將經過排序的壓縮交易發布到主鏈。主鏈最終確定代表Rollup的「硬」確認。一旦主鏈確定了排序,它就成為Arbitrum鏈上不可更改的部分,其中排序的所有交易都成為最終狀態,結果狀態也成為最終狀態。
自然地,因為排序器設置交易順序,所以它具有優先寫入權限。排序器可以控制排序的內容,從而控制Rollup歷史中交易的排序。當然,用戶可以通過主鏈上的delayedinbox強制包含交易。搜索者已經竭盡全力將WebSocket交易提要的延遲降到最低,因此他們很可能會形成一個強大的MEV市場來對Arbitrum交易進行排序。
動態 | 保險巨頭旗下區塊鏈子公司B3i已任命John Carolin為首席執行官:7月17日消息,瑞士再保險公司、蘇黎世保險等全球多家保險巨頭支持的區塊鏈子公司B3i已任命John Carolin為首席執行官。B3i目前正為約40家成員公司構建DLT解決方案。Carolin于2018年3月加入B3i擔任首席財務官,自今年3月以來一直擔任臨時首席執行官。[2019/7/17]
有13個經過許可的Arbitrum提議者,他們中每一個都在名為「RBlock」的特定承諾中托管了ETH。用戶可以選擇依賴一定比例的質押來做出關于Rollup的最終決定,而無需運行Rollup完整節點。雖然Arbtirum驗證者可以識別欺詐,但只有提議者可以通過欺詐證明質疑承諾的有效性。實際上,只有提議者可以成為完整的驗證者。
正義,就像一個排序器,是盲目的,它必須帶著劍
Optimism
與Arbitrum一樣,除了批處理和壓縮用戶交易外,Optimism排序器也運行一個完整的節點。交易直接發送到排序器,排序器在排序時創建可信的預確認。Optimism用戶可以使用這些確認作為最終軟確認的來源。排序器對排序作出承諾,用戶通常可以依賴該排序。節點、MEV搜索者或其他參與者可以使用這些確認來預先計算Rollup狀態。
排序器會定期將經過排序的壓縮交易發布到主鏈。主鏈最終確定代表Rollup的「硬」確認。一旦主鏈確定了序列,它就成為Optimism鏈歷史中不可更改的一部分。其中排序的所有交易都成為最終狀態,結果狀態也成為最終狀態。
自然地,因排序器設置交易順序,所以它具有優先寫入權限。排序器可以控制排序的內容,從而控制Rollup歷史中交易的排序。當然,用戶可以通過在主鏈強制包含交易。作為MEV拍賣概念的發起者,一個用于排序Optimism交易的強大MEV市場似乎將要形成。
動態 | BitPay聘請前PayPal執行官Rolf Haag擔任業務解決方案負責人:據Finextra消息,近日,全球最大的區塊鏈支付提供商BitPay聘請前PayPal執行官Rolf Haag擔任業務解決方案負責人。Haag先生將負責管理BitPay的企業對企業(B2B)和大額支付業務。Haag對此表示,早期PayPal使用和BitPay的使用方面有著驚人的相似之處,特別是在需要完成對全球供應商支付的企業中。比特幣是全球B2B和大眾支付的突破口,因為它比銀行電匯或PayPal更便宜,更快捷,更透明。BitPay在提供這些優勢同時可以消除比特幣的價格風險。[2018/11/8]
Optimism有1個經過許可的提議者。該提議者簽署了對主鏈的特定承諾,稱為「狀態輸出」或「L2輸出根」。用戶在做出關于Rollup的最終決定時可以選擇依賴提議者,而無需運行Rollup全節點。雖然Optimism驗證者可以識別欺詐,但只有一個經過許可的挑戰者可以通過簽名來挑戰承諾的有效性。挑戰者可以隨時刪除一個L2輸出根,無需欺詐證明。實際上,只有獲得許可的挑戰者才能成為完整的驗證者。
小結
當前兩個主要的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組合或其他一些執行機制,就無法將原子包含納入原子執行。所有這些關于共享排序器實現無縫互操作性的吹噓都是垃圾科學。
Tags:ROLROLLBITIMIroll幣是什么TROLL幣bitflyer交易所官網Ethereum Gas Limit
比特幣網絡的用戶在一個安靜的周日支付了403BTC的費用,而5月份出現了大幅飆升。在4月的大部分時間里,比特幣礦工每天賺取約20個比特幣,最多40個比特幣,但從本月早些時候開始,這一數字開始快速.
1900/1/1 0:00:00親愛的Gate.io用戶:2023年5月1日至2023年5月7日期間,GateLive主播專享直播返傭收益已結算,發放獎勵已以USDT的形式發放到各主播現貨賬戶,請注意查收.
1900/1/1 0:00:00親愛的CoinW用戶: 幣贏CoinW將分別于2023/05/0912:00、13:00、14:00、15:00在BRC20區上線MEMEBRC、BANKBRC、PEPEBRC、PIZABRC.
1900/1/1 0:00:005月9日消息,谷歌將于美東時間周三舉行一年一度的年度開發者大會。文件顯示,谷歌本次活動的主題是:人工智能如何“幫助人們充分發揮潛力”,并介紹谷歌在人工智能領域的一系列技術更新,包括提供對谷歌自家.
1900/1/1 0:00:00進裙關注公中呺:全因素熱愛BTC市場面臨賣壓,短線有反彈潛力。比特幣價格分析顯示BTC價格走低,突破關鍵的28,000美元水平。如果看跌趨勢繼續下去,BTC可能在短期內跌破26,000美元.
1900/1/1 0:00:00DearKuCoinUsers,Turbos(TURBOS)willbeavailableonBurningDropfrom10:00:00onMay10.
1900/1/1 0:00:00