原文作者:JamesPrestwich
原文編譯:0x11?,ForesightNews
共享排序器正在飛速發展,是時候對它是什么及其存在的原因進行深入分析了。這篇文章分析的對象僅限于OptimisticRollup,歡迎ZK關注者前來指教。
排序器是什么?
排序器是OptimisticRollup中的半信任化角色。雖然交易可以由主鏈本身進行排序,但這并不經濟,用戶必須單獨提交其Rollup交易對應的主鏈交易,并支付主鏈上費用。排序器通過允許Rollup交易共享單個主鏈交易來為用戶解決這些問題。
排序器聚合鏈下的多筆用戶交易來補充主鏈的排序,并將它們作為單個交易集合提交到主鏈,交易成本在用戶間分攤。排序器還可以壓縮交易集合,進一步節省主鏈數據可用性成本。與依賴排序器的用戶相比,自主排序的用戶將為包含在Rollup中的交易支付更多費用。
但是,排序器可以對交易集合中的交易排序進行控制。它可以選擇不包含用戶交易,從而迫使用戶自行排序,支付更高的主鏈成本。它還可以通過重新排序和插入提取的方法在交易集合中提取MEV。它們實際上擁有對Rollup的優先寫入權限。值得注意的是,因為排序器可以與合約交互,所以只有絕對可靠的交易才能通過鏈上機制可靠地強制執行,不可靠的交易在強制排序時很可能會失敗。
這使得排序器成為Rollup用戶的半信任方。雖然排序器無法阻止用戶訪問Rollup,但他們可以延遲用戶的訪問,導致用戶承擔額外的費用,并從用戶的交易中提取價值。通過去中心化進一步約束排序器的行為是一個活躍的研究課題。
排序和執行有什么區別?
排序器是主鏈排序的補充,它不計算Rollup的狀態,實際上它可能會選擇對無效交易進行排序。Rollup節點必須解析和清理排序數據,導出Rollup的有效歷史記錄,并執行歷史記錄以生成最新狀態。排序器則完全不參與此過程。?
deBridge已在zkEVM rollup Linea上線:金色財經報道,deBridge宣布在基于Consensys的zkEVM rollup Linea上線,Linea 已集成到 deBridge和 DLN中,無需流動性池即可實現高性能互操作性。[2023/8/8 21:30:37]
不過,正如我的朋友Fred不斷提醒我的那樣,一旦交易被排序,結果就是確定的。這意味著所有Rollup節點將根據排序器生成的順序達成一致結果。給定已知歷史,Rollup有一個正確的狀態。一旦節點找到這個狀態,一個或多個提議者會將其提交給主鏈的Rollup合約。
理論上,任何節點都可以是提議者,不需要任何權限。提議者將狀態連同保證金一起提交給主鏈。如果欺詐證明結果是狀態無效,保證金就會被沒收。該合約在計時器結束后接受證明,然后其中包含的用戶交易在主鏈上執行。執行節點通過欺詐游戲確保提議者誠實,我們傾向于將執行節點稱為「Rollup全節點」或「驗證者」。??
換句話說,一旦排序被提交到主鏈,狀態就變成最終的和不可變的。提議者計算并報告最終狀態給Rollup合約,以維護Rollup到主鏈的資產橋的利益。提議者不會創造狀態,他們只是計算并證明它。Rollup合約不會創建或最終確定Rollup,它只是從提議者那里獲得Rollup狀態。
為什么要將排序和提議分離?
這是一個復雜的問題。從根本上說,將它們分開是因為它們本身是分開的。這聽起來像是同義反復,但似乎每個人都花了很長時間才意識到這一點。我們驀然回首,才發現Rollup的思想歷史多年來一直在Plasma和狀態通道中曲折發展。在基于比特幣的proto-Rollup早期,并沒有排序器,用戶只需將他們的交易發布到主鏈。之后,這種設計消失多年,最終因為Barry的工作重新出現。在Barry和Celestia之間,Rollup的研究主要集中在Rollup橋與主鏈的交互上。在SovereignRollup出現之前,甚至沒有人意識到我們其實在構建更好的Mastercoin。
安永已開源以太坊二層方案Nightfall 3,采用ZK-Optimistic Rollup機制:7月2日消息,安永宣布推出并開源以太坊二層方案c,Nightfall 3采用ZK-Optimistic Rollup機制,將零知識證明(ZK或ZKP)與處理交易驗證的新模型相結合,以提高效率并降低交易成本。ZK-Optimistic Rollup為了確保只有正確形成的第二層區塊被納入最終的區塊鏈記錄,從經濟上激勵用戶挑戰不正確的區塊,當提出挑戰時,智能合約對挑戰的準確性進行仲裁,獎勵正確的挑戰,并刪除不正確的第二層區塊。(Prnewswire)[2021/7/2 0:22:54]
拋開出處不談,排序器解決了一個特定的問題:用戶交易成本最小化。然而,這個過程中又引入了一個新問題:排序器可以同時對同一交易產生多個排序結果。如果排序完全由主鏈完成,將會有一個單一的規范排序,但用戶交易費用會更昂貴。我們選擇使用排序器來改善Rollup中的用戶體驗。
假設存在很多個排序器,因為有多個提議者。排序器們可以提交相互沖突的排序,我們現在需要一種機制來「規范」主鏈上的特定排序批次。當前的Rollup通過一個單一的、特定的、已知的、半可信的排序器來實現這一點。選擇單個排序器使我們能夠解決這個問題,直到去中心化排序器到來。因為我們想要多個提議者,但只需要一個排序器,所以必須將這兩個角色分開。
數據依賴性是另一個重要的原因:提議者需要排序,但是排序器不需要狀態。提議者依賴于排序器工作的輸出,但是排序器不依賴于提議者。因為數據依賴是單向的,所以需要在角色之間劃定界限,并允許參與者專注于單一角色。
為了回答最初的問題,我們將提議者和排序器分開,因為它們本身是分開的。提議者在排序器的下游工作。Rollup將信任和權威授予了排序器,而提議者只是一個普通工作人員。
排序器、提議者和驗證者現狀
Gemini贊助比特幣核心開發者Dhruv Mehta和Jarol Rodriguez:加密貨幣交易所Gemini宣布通過GeminiOpportunityFund基金贊助比特幣核心開發者DhruvMehta和JarolRodriguez,贊助將用來提高比特幣網絡的可擴展性、安全性和可持續性。其中,Gemini與SquareCrypto和人權基金會共同對DhruvMehta進行了贊助,后者將提高比特幣網絡節點安全性;對JarolRodriguez的贊助是直接通過GeminiOpportunityFund進行的。JarolRodriguez最近加入了ChaincodeLabs研究小組,將改進比特幣網絡的圖形用戶界面。[2021/6/8 23:20:47]
Arbitrum和Optimism是兩種常見的ORU方案。我想簡要介紹一下他們中的主要角色,不會涉及到代碼,只是規范和文檔。Optimism的討論將僅限于Bedrock設計。
Arbitrum
除了批處理和壓縮用戶交易外,Arbitrum排序器還運行一個完整的節點。交易被直接發送到排序器,它在交易排序時創建一個可信的WebSocket提要。Arbitrum將此提要作為「軟」確認來源。排序器對排序結果作出承諾,用戶通常可以依賴該排序。節點、MEV搜索者或其他參與者可以使用此提要來預先計算Rollup狀態。
排序器會定期將經過排序的壓縮交易發布到主鏈。主鏈最終確定代表Rollup的「硬」確認。一旦主鏈確定了排序,它就成為Arbitrum鏈上不可更改的部分,其中排序的所有交易都成為最終狀態,結果狀態也成為最終狀態。
自然地,因為排序器設置交易順序,所以它具有優先寫入權限。排序器可以控制排序的內容,從而控制Rollup歷史中交易的排序。當然,用戶可以通過主鏈上的delayedinbox強制包含交易。搜索者已經竭盡全力將WebSocket交易提要的延遲降到最低,因此他們很可能會形成一個強大的MEV市場來對Arbitrum交易進行排序。
個人通證平臺Roll完成100萬美元融資:基于社交屬性個人通證平臺Roll宣布完成100萬美元融資,投資方包括Fabric Ventures、IOSG、William Mougayar等公司,該平臺迄今為止的融資總金額已經達到270萬美元。Roll于2019年夏季推出,允許人們創建自己的通證并定義通證用途。據Roll團隊透露,該系統日均交易額約為50萬美元,目前已經吸引了250位通證創建者。(coindesk)[2020/10/26]
有13個經過許可的Arbitrum提議者,他們中每一個都在名為「RBlock」的特定承諾中托管了ETH。用戶可以選擇依賴一定比例的質押來做出關于Rollup的最終決定,而無需運行Rollup完整節點。雖然Arbtirum驗證者可以識別欺詐,但只有提議者可以通過欺詐證明質疑承諾的有效性。實際上,只有提議者可以成為完整的驗證者。
正義,就像一個排序器,是盲目的,它必須帶著劍
Optimism
與Arbitrum一樣,除了批處理和壓縮用戶交易外,Optimism排序器也運行一個完整的節點。交易直接發送到排序器,排序器在排序時創建可信的預確認。Optimism用戶可以使用這些確認作為最終軟確認的來源。排序器對排序作出承諾,用戶通常可以依賴該排序。節點、MEV搜索者或其他參與者可以使用這些確認來預先計算Rollup狀態。
排序器會定期將經過排序的壓縮交易發布到主鏈。主鏈最終確定代表Rollup的「硬」確認。一旦主鏈確定了序列,它就成為Optimism鏈歷史中不可更改的一部分。其中排序的所有交易都成為最終狀態,結果狀態也成為最終狀態。
自然地,因排序器設置交易順序,所以它具有優先寫入權限。排序器可以控制排序的內容,從而控制Rollup歷史中交易的排序。當然,用戶可以通過在主鏈強制包含交易。作為MEV拍賣概念的發起者,一個用于排序Optimism交易的強大MEV市場似乎將要形成。
2014年諾獎得主Tirole:政府制約比特幣的原因之一是只給私人帶來收益:5月20日大灣區經濟與發展論壇上,2014年諾獎得主Jeae Tirole表示,比特幣和區塊鏈是不同的,區塊鏈是一個創新型的科技,應用面非常廣泛,比如智能合同、記錄和轉移資產、公司投票等;而比特幣是沒有價值的,同時伴之而來的泡沫還會帶來很大風險。Tirole認為,比特幣的社會價值不同于自認價值,當央行發行貨幣的時候,不管日元、歐元還是人民幣,都會獲得一些制幣收益,這對公共財產來說是有好處的。因此,從政府的角度出發,之所以會限制比特幣的發展與應用,不僅因為它被用于洗錢、避稅和一些非法活動,更應為它沒有給政府帶來收益,而這些收益全部到了私人手中。[2018/5/21]
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組合或其他一些執行機制,就無法將原子包含納入原子執行。所有這些關于共享排序器實現無縫互操作性的吹噓都是垃圾科學。
近期,Ordinals協議的火爆又激發起大家對比特幣生態探索的興趣。其實,在Ordinals協議之前,就有一個智能合約系統能夠在比特幣上發行代幣和NFT,它就是RGB.
1900/1/1 0:00:00DAO作為一種適合Web3的全新人類組織形式,在經歷了前期百花齊放的發展之后,為愛發電的大部分DAO友們熱情不再,各種以DAO名義拉起的“組織”大多在前期大起之后不了了之,默默歸寂于微信折疊.
1900/1/1 0:00:00PEPE?的火熱和造富效應又一次點燃了加密社區。在沒有主流敘事的驅動下,源于互聯網文化、由社區驅動的MemeCoin?就承擔起了炒作預期.
1900/1/1 0:00:00空投獵人旨在通過推測潛在的空投并提前埋伏來賺錢。雖然這種策略可以帶來高額利潤,但也會帶來財務風險和道德問題。空投是一種真正僅限加密的現象,涉及向協議和平臺的早期采用者分發加密代幣.
1900/1/1 0:00:00頭條 ▌BRC-20代幣過去24小時交易量突破450萬美元金色財經報道,數據顯示,比特幣銘文代幣Ordi現報6.73美元,24小時漲幅78.51%,當前總市值已達1.41億美元.
1900/1/1 0:00:00原文標題:AcceleratingZero-KnowledgeProofs原文作者:FigmentCapital原文編譯:Lynn.
1900/1/1 0:00:00