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

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

Author:

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

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

DeGods系列NFT近24小時交易額漲幅超200%:金色財經報道,據OpenSea最新數據顯示,DeGods系列NFT近24小時的交易額為754ETH,交易額漲幅達211%,近24小時交易額排名位列OpenSea第5,地板價為9.72ETH。[2023/6/4 11:56:41]

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

LSDx Finance:團隊并無賣幣行為,將對未來金庫地址采取多簽管理:金色財經報道,全 LSD 超流動性協議 LSDx Finance 發推就社區的 red flag 質疑進行回應澄清,公布了資金池的地址,表示將做出改變來增加透明度和優化管理,包括會銷毀 Proxy 中的鑄造和管理員權限,對未來金庫地址采取多簽管理。

同時 LSDx Finance 稱 LSDx 總供應量 10 億,團隊自始至終只提供了流動性,并沒有賣幣行為。[2023/3/20 13:13:54]

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

GameStop正式推出NFT市場:金色財經報道,GameStop的NFT市場在Immutable X上上線,該平臺使用Immutable X第二層擴展協議構建,將提供來自主要web3游戲的數字資產。GameStop的市場將提供Immutable X游戲的資產,如Gods Unchained、Guild of Guardians和Illuvium,以及其他web3游戲。(The Block)[2022/11/1 12:03:01]

多鏈DeFi即服務基礎設施公司ULTRADE完成240萬美元種子輪融資:9月8日消息,多鏈DeFi即服務基礎設施初創公司ULTRADE宣布完成240萬美元種子輪融資,本輪融資由Algorand基金會參投。ULTRADE已經于今年6月下旬在Algorand區塊鏈上啟動測試網。目前該公司正在開發與CEX相媲美的全面DeFi體驗并保持DeFi的非托管原則,幫助用戶在無需編寫任何代碼的情況下啟動自己的DeFi交易解決方案。[2022/9/8 13:16:07]

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

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

結語

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

Tags:ETHGETHGETTURETHw幣官方近況GETH價格BITGET網址Turtle Racing

UNI
ETH周報 | 以太坊將在7月硬分叉中實行ProgPoW;Deribit推出ETH每日期權(2.17-2.23)_THE

作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 一、整體概述 上周以太坊開發者在開發者會議中,再次就ProgPoW進行討論,代碼EIP1057,該更新可以使以太坊挖礦更加「抗ASIC」.

1900/1/1 0:00:00
PAData:FCoin潛在受害者或超2000人,人均損失或超25 BTC_BTC

分析師|Carol編輯|畢彤彤出品|PANews數據合作伙伴|Chain.info2月17日,曾經以“交易挖礦”模式紅極一時的交易所FCoin暴雷.

1900/1/1 0:00:00
說好的避險呢,比特幣你咋慫了?_GENIE

作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 股市重創下跌,比特幣并未走出反向行情受疫情蔓延影響,昨日全球股市和石油價格大幅下跌,經歷了一個“黑色星期一”.

1900/1/1 0:00:00
多個主流項目開發資金都面臨“燒光”,BCH該不該征礦工稅(強捐)?_BTC

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

1900/1/1 0:00:00
DAO:來自未來的組織形式_DAO

什么是DAO DAO,即DecentralizedAutonomousOrganization,中文為去中心化自治組織.

1900/1/1 0:00:00
比特幣秘史(二十四):中本聰如何在互聯網內隱藏自己的身份?_比特幣

大家都知道,「中本聰到底是誰」是區塊鏈領域最大的迷案;那么問題來了,他又是如何在網絡發達的現如今成功隱身的呢?實際上,自這位比特幣靈魂人物失蹤之后.

1900/1/1 0:00:00
ads