以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 中幣 > 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可并行化,具體來說,我們提出了兩種實現并行化的簡單算法。

Bitfarms:5月產出459枚BTC,售出414枚BTC:6月2日消息,比特幣礦企 Bitfarms 在 5 月份總計出售 414 枚 BTC,占到其 5 月份 459 枚 BTC 總開采量的 90.19%。通過出售比特幣資產 Bitfarms 獲得了 1130 萬美元收益并減少了 180 萬美元債務。當前 Bitfarms 儲備庫內比特幣總量達到 510 枚,年初至今比特幣產量為 2,135 枚。[2023/6/2 11:54:00]

背景

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

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

硅谷銀行爆雷后 全球逾190家公司的融資或需另尋出路:3月13日消息,據外媒報道,全球逾190家從已破產的硅谷銀行(SVB)獲得貸款的公司可能正在尋找新的銀行。根據相關數據,SVB在銀團貸款市場中參與的交易價值超700億美元,其中大部分在美國。該公司還參與了亞洲的約18宗交易和歐洲的10宗交易。尚不清楚其對每一宗交易的具體參與情況。(金十)[2023/3/13 13:01:28]

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

提出了幾個方向:

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

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

Solana生態數據平臺Step Finance推出鏈上分析Beta版本:2月19日消息,Solana生態投資組合和數據分析平臺Step Finance發推稱,已推出Step Onchain Analytics的搶先體驗版本。用戶可以訪問analytics.step.finance上的DeFi on Solana頁面,免費使用其Beta版本查看代幣、鏈上市場和Farms相關數據。[2023/2/20 12:16:39]

高效的MEV提取

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

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

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

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

并行化問題的細分

跨鏈互操作協議 Wormhole 已集成 Injective:12月16日消息,Cosmos 生態智能合約平臺 Injective 官方發文稱,跨鏈互操作協議 Wormhole 現已集成 Injective,標志著 Solana、Klaytn、Algorand 和 Aptos 等鏈上資產將能夠進入 Cosmos IBC 生態系統。[2022/12/16 21:48:43]

并行化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?之前完成。

Crypto.com:FTX敞口低于1000萬美元,資金存入后已購買其它代幣并轉回:11月14日消息,Crypto.com首席執行官Kris在推特上回應曾向FTX轉入約10億美元,稱“我們對FTX的敞口最小(低于1000萬美元),僅將其用作對沖客戶交易的交易場所,從未將資金用于FTX或任何第三方的收益”。

Kris還表示Crypto.com在FTX存入USDC是為了用它購買其他代幣,然后轉回Crypto.com的錢包,“出于完全相同的原因,Coinbase在FTX也有1500萬美元,因為一些與FTX相關的代幣(SRM、RAY等)只在FTX上具有良好的流動性”。[2022/11/14 13:00:49]

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

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:以太坊MEVFTXECT什么是以太坊幣交易mev幣圈SPUNK Vault (NFTX)Project Senpai

中幣
GLE:谷歌的元宇宙野心有多大?開發創新視頻通信技術、布局Crypto支付領域......

原標題:《谷歌的元宇宙野心》元宇宙在2021年得到許多人的關注,有些人認為元宇宙會帶來下一個科技革命.

1900/1/1 0:00:00
BLOC:元宇宙游戲生態系統DeHorizon完成新一輪融資,Griffin Gaming Partners和Circle Ventures領投

巴比特訊,2月18日,元宇宙游戲生態系統DeHorizon完成新一輪融資,GriffinGamingPartners和CircleVentures領投,融資規模未透露.

1900/1/1 0:00:00
WEB:Web3開發平臺Alchemy完成2億美元融資,估值達到102億美元

據Cointelegraph2月8日消息,Web3開發平臺Alchemy宣布以102億美元的估值完成新一輪2億美元融資,Lightspeed和SilverLake領投,多位現有投資方參投.

1900/1/1 0:00:00
COI:Project Galaxy完成1000萬美元融資,Multicoin和Dragonfly領投

巴比特訊,1月25日,Web3憑證數據網絡ProjectGalaxy宣布完成1000萬美元融資,MulticoinCapital和DragonflyCapital領投.

1900/1/1 0:00:00
WEB:7Star Capital合伙人八斤:投資Web3.0比元宇宙更具體,關注存儲與GameFi

采訪/寫作:方沁雨 相比元宇宙,Web3.0是一個更具清晰概念和邊界的詞語,而Web3.0本身也被公認為是元宇宙的一部分.

1900/1/1 0:00:00
ART:對話育碧戰略創新實驗室副總裁:玩家對NFT的消極反饋正是我們期待的

原文標題:《Interview:UbisoftrespondstoangryNFTDigitsandQuartzreaction》 原文來源:Finde 原文編譯:微信公眾號:老雅痞 日前.

1900/1/1 0:00:00
ads