以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 屎幣 > Info

ETH:一文了解Turbo-Geth客戶端最新改進

Author:

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

編者按:本文來自:以太坊愛好者,作者:GiulioRebuffo,翻譯:阿劍,Odaily星球日報經授權轉載。幾個月以前,我加入了Turbo-Geth團隊,開始主動給Trubo-Geth客戶端貢獻代碼。Turbo-Geth客戶端是Geth客戶端的一個另類版本,其目標是做得比原有的客戶端運行速度更快、更高效。那么Turbo-Geth實現這個目標的辦法包括下面幾項:進一步優化數據庫結構在需要與狀態數據交互的場合,減少對數據庫的讀、寫操作優化狀態樹操作的效率在本文中,我會著重指出Turbo-Geth和Geth在數據庫上的不同之處。主要的區別在于:不同的數據庫按桶來細分數據庫那么,本文的主要內容也就跟這兩點相關。什么是Bolt,它跟LevelDB的區別在哪里?

dYdX 基金會CEO:中心化交易所將成為 DeFi 的門戶:金色財經報道,dYdX 基金會CEO Charles d'Haussy在法國巴黎舉行的EthCC會議中表示,不認為中心化交易所是dXdY的競爭對手,中心化交易所將成為DeFi的門戶。dYdX 協議最近推出了其最新版本v4的公共測試網,Charles表示,可以想象這樣一個世界:一個擁有 KYC(了解你的客戶)和客戶風險概況的中心化實體將提供內部現貨交易,也許他們將為客戶提供比DeFi更好的體驗,通過更簡單的集成和從中心化交易所到 DeFi 的連接。[2023/7/19 11:03:22]

Bolt和LevelDB其實非常相似,兩者都是“鍵-值對”存儲,設計目標都是為不需要完整數據庫服務器的項目提供簡單、快捷且可靠的數據庫。Geth選用的數據庫是LevelDB,而Turbo-Geth選用的是Bolt。但兩者也有一個關鍵區別:組織數據的方式。LevelDB是一個LSM數據庫,而Bolt使用bucket,而且每一個bucket都包含著一個B+-Tree結構。我們可以把一個bucket當作“大數據庫里的一個小數據庫”。那么,兩者之間的主要區別在于:LSM數據庫是為重度添加操作和范圍掃描操作優化的,而不是為隨機讀取的性能優化的;為了提供一致性,它不允許同時對數據庫執行讀、寫操作。也是出于性能考慮,這種數據庫是沒有實現原子性的。Bolt則反之,插入操作速度較慢,但是隨機讀取速度較快,實現了原子性,而且可以同時對數據庫讀寫。我們再稍微解釋一下原子性:原子性:“原子”意味著不可分割。假設現在我們要給一個數據庫存儲多個哈希值,而其中一個在插入數據庫時失敗了,如果此時所有哈希值的操作都會同時撤銷,這就叫做原子性。Turbo-Geth就有這樣的特性,只有所有哈希值的插入操作都成功時,這個操作才能成功。而沒有實現原子性的數據庫則意味著,必須使用一個workaround以安全地將數據插入數據庫。換句話來說,在這個點上,我們覺得Bolt更好,因為他在給數據庫添加數據時更安全。數據庫的組織

Robinhood已向部分用戶開放其Web3錢包測試:9月27日消息,股票和加密貨幣交易平臺 Robinhood 正在向部分用戶開放其 Web3 錢包測試。該錢包基于 Polygon 網絡,借助 0x 聚合器,允許用戶通過錢包進行免費資產交易。[2022/9/27 22:34:26]

如前所述,Turbo-Geth是切分成多個bucket的。每個bucket都是大數據庫中的一個小數據,各自包含了一個B+-Tree結構。下面便是Turbo-Geth數據庫在區塊高度9,346,492處的切分:

Polygon鏈上DeFi協議總鎖倉量為16.2億美元:金色財經報道,據DefiLlama數據顯示,目前Polygon鏈上DeFi協議總鎖倉量為16.2億美元,24小時增加-1.75%。鎖倉資產排名前五分別為AAVE(3.61億美元)、Quickswap(2.88億美元)、Curve(1.62億美元)、Meshswap(0.74億美元)、Stargate(0.72億美元)。[2022/7/10 2:03:40]

-Turbo-Geth的Archive節點的數據區分-Geth客戶端的Archive大小:3.7TBParity客戶端的Archive大小:3.6TBTurbo-Geth客戶端的Archive大小:652.62GB每一個部分都存儲在一個bucket里面。其中主要部分的簡要解釋如下:原象:哈希值與地址之間的管理,以及存儲位置哈希值與存儲位置之間的關聯收據:交易收據合約存儲內容的歷史:合約存儲內容的變更歷史賬戶歷史:賬戶的變更歷史區塊頭:每個區塊的區塊頭區塊體:每個區塊的區塊體合約存儲內容:就是合約存儲內容ChangeSet:數據庫變更歷史賬戶:賬戶使用這么多bucket,是為了讓構成大數據庫的各B+-Tree樹高不至于太高,這樣跟數據庫的交互就會比較容易。換句話說,這是在使用多個bucket來提高讀取數據庫的性能。另一種備選方案:BadgerDB

加拿大5月CPI同比上漲7.7%,創自1983年1月以來新高:6月22日消息,加拿大5月CPI同比上漲7.7%,創自1983年1月以來新高,預期7.4%,前值6.8%。(財聯社)[2022/6/22 1:24:35]

在切換到Bolt之后,Turbo-Geth在處理隨機鍵時遇到了一些問題,因為Bolt會在提交數據之前對這些鍵進行排序,又因為這些哈希值都是隨機的,而且數量很多,所以產生了大量的排序需求,然后導致大量的寫入放大現象。而BadgerDB使用log-structured-merge模式,似乎是一個更好的選擇。這個問題仍在研究當中,不過,我們已經實現了一個workaround來解決這個問題。這里有一個圖表,顯示了BadgerDB和BoltDB在整體性能上的對比:

結語

Turbo-Geth客戶端通過下列手段來優化以太坊的性能:使用多個bucket,以更迅速地檢索某些數據片使用B+-Tree而非LSM如果你想給我們捐贈,可以通過Gitcoin。

Tags:ETHGETHGETTURETHYS幣togetherbnb為什么恐怖手機直接玩togetherbnbTurtle Racing

屎幣
ETH:多個主流項目開發資金都面臨“燒光”,BCH該不該征礦工稅(強捐)?

編者按:本文來自白話區塊鏈,作者:五火球教主,Odaily星球日報經授權轉載。“一位好的稅務官應該把征徼稅款當做拔鵝毛,登峰造極的手法是既能揪下最多的鵝毛,又能把鵝的痛苦叫聲壓到最低.

1900/1/1 0:00:00
DEFI:減半行情就此終結?“狼來了”再次上演

前幾天我說A股必有妖,果然這幾天大幅跳水,那些喊著牛市買基金的朋友虧成沙雕了。我平時喜歡刷抖音,那幾天經常刷到炫耀基金收益的視頻,一查數據,基金都買爆了,所以凡事不要瞎湊熱鬧,不然吃屎都趕不上熱.

1900/1/1 0:00:00
比特幣:橋水基金2020經濟展望:看好中國及新型亞洲經濟體

2020年春節剛過,全球最大對沖基金橋水基金在其官網上發布了2020年策略及市場展望報告。報告中不僅指出了當下發達國家經濟體碰到的增長問題,還表達了對中國及新興亞洲市場的強烈看好.

1900/1/1 0:00:00
MIN:比特幣秘史(十一):誰是最大的比特幣持有者?

比特幣被絕大部分人認為是世界上最為透明的支付網絡沒錯,但它的地址是由用戶錢包匿名生成的;所以“誰是BTC最大的持有者”一直以來都沒有準確的答案.

1900/1/1 0:00:00
IMI:以太坊2.0網絡的四項健康指標

編者按:本文來自:以太坊愛好者,翻譯&校對:閔敏&阿劍,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
DAO:Moloch v2推出在即,對DAO有什么影響?

Molochv2即將于近期正式推出,它的第一個實例:VentureDAO也正在緊羅密布地籌備當中。Molochv2到底是什么?如果僅僅認為是一次功能更新再加修復幾個bug,或許有點低估它了.

1900/1/1 0:00:00
ads