成人午夜无码精品免费看 I 国产一区在线不卡 I 情趣五月天 I 黄页网址在线免费观看 I 99久久精品无码一区二区毛片 I 色噜噜狠狠色综合成人网 I 欧美日韩一级片在线观看 I 在线视频免费观看爽爽爽 I 日韩在线视频线观看一区 I 亚洲九九香蕉 I 男女视频在线观看 I 久久字幕网 I 久久久久亚洲精品男人的天堂 I 免费成人一级片 I 欧美日韩xxxxxx I 国产欧美日韩不卡免费 I 成人伊人 I 人成在线免费观看视频 I 免费看精彩刺激的三级黄色片 I 欧美又大又色又爽aaaa片 I 亚洲国产日韩a在线播放 I 67194熟妇在线直接进入 I 国产精品久久国产三级国不卡顿 I 男女无遮挡啪啪 I 亚洲婷婷丁香 I 欧美日韩在线观看视频免费 I 亚洲一区二区激情 I 日韩蜜臀av

  • 元宇宙:本站分享元宇宙相關資訊,資訊僅代表作者觀點與平臺立場無關,僅供參考.

從Reddio看并行EVM的優化之路

作者:霧月,極客web3

眾所周知,EVM的定位是Ethereum的“執行引擎”和“智能合約執行環境”,可以說是Ethereum最重要的核心組件之一。公鏈是一個包含成千上萬Node的開放性網絡,不同Node的硬件參數相差甚大,若想讓智能合約在多個Node上都跑出相同結果,滿足“一致性”,要設法在不同設備上都搭建出相同的環境,而虛擬機可以實現這個效果。

Ethereum的虛擬機EVM能在不同操作系統(如Windows、Linux、macOS)和設備上以相同的方式來運行智能合約,這種跨平臺兼容性確保每個Node運行合約后,都能得到一致的結果。最典型的例子就是Java虛擬機JVM。

Sequencer作為Layer2的關鍵組件,以單個服務器的形式承接所有運算任務,如果與Sequencer配合的外部模塊的效率都足夠高,則最終的瓶頸將取決于Sequencer本身的效率,此時串行執行將成為巨大的阻礙。

opBNB團隊曾通過對DA層和數據讀寫模塊進行極致優化,Sequencer每秒最多可執行約2000多筆ERC-20轉賬。這個數字看起來很高,但如果要處理的交易比ERC-20轉賬復雜很多,TPS數值必然會大打折扣。所以說,交易處理的并行化將是未來的必然趨勢。

下面我們將從更具體的細節入手,為大家詳細解釋傳統EVM的局限性,以及并行EVM的優勢。

Ethereum交易執行的兩大核心組件

在代碼模塊層面,除EVM外,go-ethereum中與交易執行相關的另一核心組件是stateDB,用于管理Ethereum中的賬戶狀態和數據存儲。Ethereum采用名為MerklePatriciaTrie的樹狀結構來充當數據庫索引(目錄),EVM每一次交易執行都會變更stateDB中存放的某些數據,這些變更最終會反映在MerklePatriciaTrie(后面簡稱全局狀態樹)中。

我們從代碼角度大致看下EVM和stateDB是如何協作執行交易的:

1.processBlock()函數會調用Process()函數處理一個區塊中包含的交易;

processBlock()函數調用writeBlockWithState()函數,再調用statedb.Commit()函數,提交狀態變更結果。

1.多線程并行執行交易:Reddio設置多個線程同時處理不同的交易,線程之間互不干擾。這可以幾倍速提升交易處理速度。

2.為每個線程分配臨時狀態數據庫:Reddio為每個線程都分配一個獨立的臨時狀態數據庫(pending-stateDB)。各個線程在執行交易時,不會直接修改全局的stateDB,而是將狀態變化結果暫時記錄在pending-stateDB中。

3.同步狀態變更:在一個區塊內的所有交易都執行完畢后,EVM會將每個pending-stateDB中記錄的狀態變更結果依次同步到全局stateDB中。如果不同交易在執行過程中沒有發生狀態沖突,就可以將pending-stateDB中的記錄順利合并到全局stateDB中。

Reddio對讀寫操作的處理方式進行了優化,以確保交易能夠正確訪問狀態數據并避免沖突。

·讀操作:當一個交易需要讀取狀態時,EVM會首先檢查Pending-state的ReadSet。如果ReadSet顯示存在所需數據,EVM就直接從pending-stateDB中讀數據。如果ReadSet中沒有找到對應的key-value(鍵值對),就從上一個區塊對應的全局stateDB中讀取歷史狀態數據。

·沖突檢測:在交易執行過程中,EVM會監測不同交易的ReadSet和WriteSet。如果發現多個交易嘗試讀寫相同的狀態項,則視為發生沖突。

·沖突處理:當檢測到沖突時,沖突交易將被標記為需要重新執行。

在所有交易都執行完成后,多個pending-stateDB中的變更記錄會被合并到全局stateDB中。如果合并成功,EVM會將最終狀態提交到全局狀態樹中,并生成新的狀態根。

多線程并行優化對性能的提升是顯而易見的,特別是應對復雜智能合約交易時。

根據并行EVM的研究顯示,在低沖突工作負載(交易池中較少矛盾的或者占用相同資源的交易)中,基準測試的TPS相比傳統的串行執行,提升了3~5倍左右。在高沖突工作負載中,理論上如果將所有優化手段都用上甚至可以達到60倍。

總結

Reddio的EVM多線程并行優化方案,通過為每個交易分配臨時狀態庫,并在不同線程中并行執行交易,顯著提高了EVM的交易處理能力。通過優化讀寫操作和引入沖突檢測機制,EVM系公鏈能夠在保證狀態一致性的前提下,實現交易的大規模并行化,解決了傳統串行執行模式帶來的性能瓶頸。這為EthereumRollup未來的發展奠定了重要基礎。

后續我們會進一步深入分析Reddio的實現細節,如如何進一步從優化存儲效率提升效率,沖突高發時的優化方案,以及如何借助GPU做優化等等內容。

Copyright © 2021-2025. 元宇宙yitb.com All rights reserved. 元宇宙導航 網站備案編號:京ICP備19001615號-2

主站蜘蛛池模板: 亚洲啪啪综合av一区 | 久久国产乱子精品免费女 | 成年女人18级毛片毛片免费 | 人妻激情偷乱视频一区二区三区 | 男男啪啪激烈高潮cc漫画免费 | 欧美激情性xxxxx高清真 | 人人妻人人爽人人做夜欢视频 | 久久综合给久久狠狠97色 | 国产一性一交一伦一a片 | 日日人人爽人人爽人人片av | 国产精品涩涩涩视频网站 | 久久久精品国产免大香伊 | 国产免费爽爽视频在线观看 | 亚洲一区二区三区自拍天堂 | 久久人人97超碰爱香蕉 | 日韩人妻无码精品久久久不卡 | 四虎国产精亚洲一区久久特色 | 亚洲国产精品久久久久制服 | 国产一区二区三区av在线无码观看 | 欧美日产亚洲国产精品 | 国产福利在线免费 | 国产欧美另类久久久精品图片 | 欧美性受xxxx黑人xyx性爽 | 又大又黄又粗又爽的免费视频 | 91丨九色丨国产丨 | 精品国产三级a∨在线观看 亚洲狠狠做深爱婷婷影院 99热久久最新地址 日日躁狠狠躁狠狠爱 | 成人丝袜激情一区二区 | 在线a亚洲视频播放在线观看 | 亚洲国产精品无码久久久不卡 | 天天躁日日躁狠狠很躁 | 少妇激情av一区二区 | 中文字幕无码成人免费视频 | 久久精品成人一区二区三区 | 国产аⅴ视频在线看 | 黑人大战亚洲人精品一区 | 无码熟妇αⅴ人妻又粗又大 | 欧美国产激情一区二区在线 | 四虎国产精品永久在线观看 | 成人综合婷婷国产精品久久蜜臀 | 极品丝袜高跟91极品系列 | 日韩内射激情视频在线播放免费 |