比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > XRP > Info

干貨 | Flashbots:關于加速EVM的幾種方法_以太坊

Author:

Time:1900/1/1 0:00:00

原文作者:Flashbots團隊XinyuanSun

感謝AlejoSalles、HongboZhang、AlexObadia和KushalBabel對本文的反饋和審閱。

原標題:《關于加速EVM的幾種方法,實現更好的可擴展性和更高效的MEV提取》

借助性能更高的以太坊虛擬機(EVM),我們可以實現更好的網絡可擴展性和更高效的最大可提取價值(MEV)提取。本系列文章分析了幾種加速EVM的方法,重點是并行化和共享數據沖突分析。

出于多種原因,以太坊虛擬機(EVM)的性能至關重要。首先,如果我們有更快的虛擬機,那么以太坊客戶端將能夠更快地處理和驗證交易,從而讓每個人都更容易運行一個完整的節點,并加強網絡的去中心化和安全性。第二,作為以太坊上的MEV提取變得更加突出,我們需要使MEV提取更容易,以便從中獲得的利潤可以更均勻地分配,以防止網絡經濟集中化。性能更高的EVM通過幫助搜索者產生更有利可圖的完整區塊和中繼以具有更好的延遲來實現這一點。這意味著建設者市場將變得更有效率,從而吸引更多的搜索者并使市場更具競爭力,這反過來又使人們更難以進行危及網絡穩定性的重組。

為了通過向后兼容性和對共識規則或存儲實現方式的最小更改來提高EVM性能,我們需要并行性。在本系列的第1部分中,我們認為需要并行EVM,并介紹實現它的一般方法,例如EIP648、EIP2930和推測執行。在第2部分中,我們研究了靜態分析和形式化方法如何使EVM可并行化,具體來說,我們提出了兩種實現并行化的簡單算法。

Aave社區開啟為GHO引入PSM模塊的溫度檢查投票:7月21日消息,Snapshot投票頁面顯示,Aave社區開啟GHO穩定性模塊提案的溫度檢查投票,以決定是否引入GHO PSM(錨定穩定性模塊)。該模塊是一種合約,可以無縫地以預定比率轉換兩種代幣,這種機制已被許多穩定幣項目證明為有效,如MakerDAO在保持穩定匯率方面。GHO穩定性模塊的設計受到現有模型的影響,用戶可以在GHO和治理接受的穩定幣之間以預定比率進行轉換。然而,GHO穩定性模塊的設計也具有獨特的特性,如價格策略、債務上限、資本分配器、應急清算等。

如果此次投票獲得社區的批準,將會進行GHO穩定性模塊代碼庫的審計,并與社區分享代碼庫,然后治理將能夠在治理過程的下一階段決定GHO穩定性模塊的許多特性的配置。投票截止日期為7月23日,目前投票贊成率達100%。[2023/7/21 11:08:33]

背景

去中心化對區塊鏈安全至關重要:去中心化網絡的參與者很難串通。理想情況下,這是通過盡可能多的單獨方運行節點來驗證正在進行的交易來實現的。然而,擁有個人電腦的普通用戶通常需要3天以上的時間才能在以太坊上啟動一個完整的節點。這種低效率的背后是以太坊的大存儲容量,更具體地說是EVM的存儲設計:

比特幣生態DEX ALEX推出面向BRC-20的訂單簿DEX:5月17日消息,比特幣生態 DEX ALEX 推出面向 BRC-20 的訂單簿 DEX,ALEX B20。目前該 DEX 僅支持 PIZA、SHNT 等 BRC-20 Token 交易。此前報道,3 月 14 日,ALEX 完成 250 萬美元戰略輪融資,Trust Machines 和 Gossamer Capital 等參投。[2023/5/17 15:08:57]

對于節點性能,EVM存儲維護是一大瓶頸,目前占用了超過70%的事務處理時間。而對于另外20%+的實際EVM指令解釋時間,最耗時的操作碼是SLOAD,因為在涉及IO訪問的大型數據庫中,Merkletrie節點的隨機訪問。

那么,要在不影響去中心化的情況下擴展以太坊,我們能做些什么呢?

提出了幾個方向:

無狀態,它在以太坊節點中引入了角色分離,一些節點是“存儲節點”,而另一些是“驗證節點”。驗證者節點將僅在驗證塊時接收部分存儲。通過傳輸其合法性證明來確保存儲的正確性。但這會產生額外的網絡IO開銷。解決方案是為以太坊存儲使用新的數據結構,例如Verkle樹來壓縮存儲驗證證明。RainBlock,也是一個分離節點功能的提議。除了存儲節點和驗證節點之外,它還引入了一個特殊的IO-helper節點。這個提議遇到了同樣的問題,即產生額外的網絡IO開銷,它使用他們稱為DSM-tree的自定義數據結構解決了這個問題。分片類似于節點功能的垂直分離,將計算卸載到不同的網段。這些提議雖然很有希望,但都涉及對基礎客戶端或共識規則的重大改變。

Realm Hunter項目Discord服務器遭攻擊:金色財經報道,據CertiK監測,Realm Hunter項目Discord服務器遭到攻擊。請社區用戶在服務器修復之前不要點擊任何鏈接。[2023/2/1 11:40:44]

作為正交方向,我們現在可以做的是使EVM并行。這有助于直接增加EVM的吞吐量,因此我們可以提高gas限制并在一個塊中包含更多交易,從而提高每秒交易量(tps)。此外,這還可以橫向幫助現有的可擴展性提議,如分片。

高效的MEV提取

下圖顯示了可用于MEV提取的具有多個相關AMM交易的區塊數量。作者僅在2021年5月之前從三個DeFi協議中對確定性單塊MEV機會進行抽樣,但結果令人震驚。

今天,MEV機會要復雜得多,典型的驗證者在每個區塊中看到超過10個MEV發射交易。

由于區塊構建和捆綁利潤優化是一個NP完全問題,而且我們有太多的MEV捆綁要考慮,因此蠻力是不現實的,區塊構建者很難有效地生產最優的完整區塊提議者建造者分離,巨型捆綁)。

對EVM并行化的研究可以幫助解決這個日益具有挑戰性的捆綁合并問題。本質上,并行化算法設計的雙重問題是理解沖突是如何在搜索包中發生的:它們都需要知道事務的共享數據訪問信息。此外,并行EVM可以幫助完整的區塊構建者進行更多的模擬,從而產生更有利可圖的捆綁包。

安全團隊:Audius漏洞利用者已將700枚ETH轉入Tornado Cash:7月24日消息,據安全團隊CertiK監測,去中心化音樂平臺Audius的漏洞利用者只有ETH的錢包已將700枚ETH轉入Tornado Cash。

此前消息,Audius社區金庫被利用,損失1850萬枚Audio代幣,黑客將資金在Uniswap兌換為約705枚ETH。[2022/7/24 2:34:44]

并行化問題的細分

并行化EVM可能并不像看起來那么簡單。像投機并發這樣的幼稚解決方案已經表明,隨著以太坊變得越來越擁擠,樂觀執行的沖突率也會增加。僅就2017年的交易而言,沖突率已經高達35%。

高沖突率表明我們需要設計更精細的并行化算法,這將需要更精確的存儲訪問信息。接下來,我們正式確定這些任務的范圍。

設當前區塊號為k,以太坊區塊鏈的狀態為s/k,順序EVM的狀態轉換函數為δ(tˉ,s),它返回一個新的EVM狀態給定的交易ˉt和狀態s的列表。假設在列表ˉt中有n個事務,從txn_1到txn_n,順序為

意味著我們只有在完成txni執行后才開始執行txnj?。

我們的目標是設計一個并行的EVM執行狀態轉換函數δp,例如δ(tˉ,sk?1?)=δp?(tˉ,sk?1?)。請注意,δ總是按照它們傳入的順序執行tˉ。而在δp?中,tˉ的執行沒有按順序。例如,在兩個不同CPU內核上運行的兩個事務可以同時完成執行,或者txnj?的執行將在我們開始執行txni?之前完成。

上周以來共有76億美元的USDT被贖回,為Tether現金儲備的兩倍:5月17日消息,上周四,Tether經歷了一場短暫的危機,其穩定幣USDT價格一度從1美元跌至0.95美元,但很快便恢復錨定。區塊鏈公開數據顯示,自上周以來,加密貨幣投資者已經贖回了價值76億美元的USDT。根據Tether網站上公布的數據,這一數字幾乎是截至去年年底其現金儲備的兩倍。(The Guardian)[2022/5/17 3:22:11]

為了讓我們獲得一個好處,我們有兩個作業要做:

1.為每個事務獲取有關可能的共享數據沖突的信息。這意味著如果我們只在事務級別進行并行化,共享數據沖突將只是EVM存儲,因為來自一個事務的信息可以溢出到另一個事務的唯一方式是通過存儲。如果我們在更深層次上并行化,比如EVM操作碼,那么我們得到的信息也將包括EVM堆棧和內存。

形式上,這意味著對于每個txni,我們都有一些關于其共享數據訪問κ(txni?)的信息。此信息可以是任何東西,例如,κ(txni?)可以在交易調用的合約代碼中返回一組存儲位置文字。假設完美信息函數是k_perfect,那么我們推導出的κ是對Kperfect的估計。

2.基于信息的準確性,我們設計了我們的算法δp?(tˉ,sk?1?,κ),它現在將k作為附加參數。我們并行化的確切策略和抽象級別取決于k的精煉程度以及我們容忍沖突的程度。例如,有了關于每個事務的調用數據、堆棧、內存和存儲的完美信息Kperfect?,我們可以設計一個在操作碼級別并行化而沒有沖突的δp?。

為簡單起見,我們在這篇文章中只考慮事務級并行性。也就是說,我們假設κ僅包含有關存儲訪問的信息。我們將更精細的并行化模型留給以后的帖子。

我們意識到這種形式化不同于通常用于實現并行EVM所采用的形式。我們選擇這種形式化的原因是,通過分離κ,我們可以輕松地將算法重新用于優化操作批處理和緩存等優化。

存儲訪問信息

要檢索有關存儲訪問的信息,可以直接從手動輸入中獲取。例如,更改交易的傳遞方式并要求開發人員/用戶列出他們將使用的地址的高估,或者像Solana或其他基于UTXO的鏈一樣,讓每筆交易都包含與之交互的帳戶簽名列表.這似乎是一個簡單的解決方案,因為我們不會為κ的生成產生運行時開銷并且始終可以確保其穩健性。但是這些方法至少需要更改客戶端或在客戶端之前實現一個附加層。此外,它們極大地改變了用戶/開發人員的習慣,因此可能難以實施。

或者,來自Optimism的BenJones在一次演講中提議,我們將工作外包給flashbots搜索者,因為他們需要在想出一個有利可圖的捆綁包時以任何方式模擬交易。這種方法通過提供k=K_perfect來實現最佳精度,但它依賴于搜索者誠實地傳遞附加信息及其捆綁包,并且僅涵蓋使用mev-geth的客戶端。更重要的是,如果不設計一些額外的激勵系統,就很難在像flashbots這樣的無權限系統中執行。

另一個想法是在運行時之前使用推測生成的存儲信息并將其緩存。因為這種方法是推測性的,所以收集到的存儲信息是不健全的,在這種情況下,我們會退回到正常的存儲訪問。如果我們在Rainblock中進行節點功能分離,則此建議效果最佳。但如前所述,假定不存在。

另一個有趣的想法是形式化方法輔助字節碼分析以實現高性能并行化,我們將在下一篇文章中介紹。其中一個例子是Forerunner,它與rawgeth相比實現了8倍的性能提升,也是基于推測執行的思想,并且與我們在第二篇文章中的方法最相似,因為它們也使用形式方法技術來幫助生成的κ。

并行化算法

在這個階段,我們應該已經使用我們選擇的任何方法獲得了必要的共享數據訪問信息κ。現在,出于演示目的,我們使用κ的特定示例。假設我們有兩個事務txn_i<txn_j?都訪問存儲位置σ,我們將它們的訪問信息記錄為元組{(r,w),(r,w。的元組。第一個元組(r,w)表示txn_i的讀/寫操作,第二個元組表示txn_j的元組。例如,寫入{(r),(r,w。表示txn_i?讀取但未寫入σ,而txn_j既讀取又寫入σ。

使用這種形式化,我們可以想到四種簡單的情況:

{(r),(r。:txn_i和txn_j是可并行的,假設\sigmaσ只是這兩個事務的“讀取”集中的一個。

{(r),(w。:txn_i和txn_j必須按照tˉ的順序依次執行。

{(w),(r。:txn_i和txn_j必須按照tˉ的順序依次執行。

{(w),(w。:如果對s'的寫操作是可交換的,那么txn_i和txn_j是可并行的,否則它們必須按照tˉ的順序執行。

但是,txn_i和txn_j不僅訪問σ,還訪問更多位置,因此我們擴展了我們的四個簡單規則,包括每個事務的讀取集和寫入集,并且在搜索要執行的可并行事務時,我們循環遍歷每個事務的存儲訪問信息\kappaκ并應用上述規則。

或者,我們可以使用Vitalik在EIP648中描述的簡單算法:每個事務都包含它訪問的地址的集合β,如果兩個事務txn_i和txn_j滿足β_i∩β_j=?,則并行執行它們,否則不。

最終,這一切都取決于我們的κ有多精細,以及我們希望并行執行有多精細。例如,它可能不僅僅是二次的,這意味著我們的κ不僅包含存儲訪問信息,還包含內存/調用數據上的信息,因為我們也在單個事務中進行并行化。

當然,在這四種情況下,有很多復雜性。例如:{(w),(w。。在這種情況下,我們可能讓txn_i先讀取s'然后更改它,但分配給s'的值始終等于txn_j的分配值,因為智能合約是如何編寫的。所以這有效地減少到{(r),(r。的情況。或者這很容易反其道而行之,簡化為{(w),(r。,{(w),(w。或{(r),(w。。即便如此,也可能是編寫器以某種方式不會更改存儲的值,或者讀取器不會影響EVM中的狀態更改。

這些例子的重點只是說有很多特定類別的情況我們的并行化算法不能以最佳方式工作。所以這意味著根據κ的確切結構,我們有很多長尾優化設計截然不同的并行化算法以獲得最佳性能。我們將在下一篇文章中回到精確的優化。

結論

EVM并行化促進了以太坊的吞吐量增加,而不會影響去中心化或需要對協議進行重大更改。并行EVM研究的采用和開放共享還有助于通過允許更多個人使用更好的捆綁合并和生產來最大限度地減少MEV的經濟中心化。

在這篇文章中,我們探索了以太坊可擴展性解決方案的前景,并討論了為什么當前的并行化技巧不能順利運行。我們還通過將并行化問題分為兩部分來展示我們對并行化問題的形式化:生成共享數據訪問信息和設計利用該信息的并行化算法。

Tags:以太坊MEVETHDEX如何挖以太坊幣MEV幣ETHERADEX

XRP
富達提交兩只新ETF申請,分別專注于加密行業和元宇宙_ETF

本文來自Blockworks,原文作者:BenStrackOdaily星球日報譯者?|念銀思唐摘要:-繼貝萊德上周提交區塊鏈ETF申請之后.

1900/1/1 0:00:00
融資新聞 | 多鏈Dapp協議Astar完成2200萬美元戰略融資,Polychain領投_ASTAR

據Cointelegraph1月28日報道,Astar是一個多鏈DApp協議,該協議以前被稱為Plasm,它在其最新的戰略融資中籌集了2200萬美元的資金.

1900/1/1 0:00:00
淺析不同跨鏈項目以及它們的使用場景_HAI

我想在我對個別跨鏈項目的設計進行深入研究之前,對各種類型跨鏈項目的架構情況做一個廣泛的概述會很有用.

1900/1/1 0:00:00
俄羅斯計劃將數字資產視為一種貨幣形式,預計將在2月18日前出臺一項法律草案_加密貨幣

本文來自Decrypt,原文作者:AndrewAsmakovOdaily星球日報譯者?|念銀思唐俄羅斯政府和該國央行就如何監管比特幣和其他加密貨幣達成協議,計劃將數字資產視為一種貨幣形式.

1900/1/1 0:00:00
比特幣收入占總營收的50% 更名后的Block(原Square)不斷展示區塊鏈野心_比特幣

來源:財聯社|區塊鏈日報 記者董宇佳 近日,美國移動支付巨頭Block宣布旗下現金應用程序CashApp正式集成閃電網絡,允許用戶免費進行比特幣交易.

1900/1/1 0:00:00
NFL巨星Tom Brady宣布退役,將專注于NFT等領域_NFL

據Decrypt消息,2月1日,在NFL職業生涯跨越22個賽季并贏得7次超級杯后,TomBrady宣布退役.

1900/1/1 0:00:00
ads