買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 波場 > Info

TUR:引介:Turbo-Geth 客戶端:數據庫改進_togetherbnb手游下載最新版

Author:

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

幾個月以前,我加入了 Turbo-Geth 團隊,開始主動給 Trubo-Geth 客戶端貢獻代碼。Turbo-Geth 客戶端是 Geth 客戶端的一個另類版本(當前仍在開發),其目標是做得比原有的客戶端運行速度更快、更高效。那么 Turbo-Geth 實現這個目標的辦法包括下面幾項:

進一步優化數據庫結構

在需要與狀態數據交互的場合,減少對數據庫的讀、寫操作

優化狀態樹操作的效率(有可能需要改變現有狀態樹的數據結構)

在本文中,我會著重指出 Turbo-Geth 和 Geth 在數據庫上的不同之處。主要的區別在于:

不同的數據庫(使用 Bolt,而非 LevelDB)

按桶(bucket)來細分數據庫

Lido V2 升級提案:主要包括 Staking Router 和提款:2月7日消息,流動性質押協議Lido公布了V2的升級計劃,準備解鎖stETH提款并引入Staking Router架構。啟用流動性質押獎勵提款允許stETH持有人以1:1的比例從Lido提取ETH資金。希望提取ETH的用戶必須遵循建議的請求和申領流程。

Staking Router引入了模塊化架構設計,被設想為允許Lido成為可擴展的協議。(Cointelegraph)[2023/2/8 11:53:16]

那么,本文的主要內容也就跟這兩點相關。

Bolt 和 LevelDB 其實非常相似,兩者都是 “鍵-值對”(key-value)存儲,設計目標都是為不需要完整數據庫服務器的項目提供簡單、快捷且可靠的數據庫。Geth 選用的數據庫是 LevelDB,而 Turbo-Geth 選用的是 Bolt。

CREDAI與Venture Catalysts成立1億美元proptech基金,專注于區塊鏈房產等領域投資:9月8日消息,印度房地產開發商協會聯合會(CREDAI)與綜合孵化器和加速器Venture Catalysts宣布合作成立了一個總規模達1億美元的proptech基金,專注于投資通過數據分析、區塊鏈、增強現實(AR)、人工智能等技術推動房地產行業發展的初創公司。(yourstroy)[2022/9/8 13:16:22]

但兩者也有一個關鍵區別:組織數據的方式。LevelDB 是一個 LSM (Log-Structured Merged-Tree)數據庫,而 Bolt 使用 bucket,而且每一個 bucket 都包含著一個 B+- Tree 結構。我們可以把一個 bucket 當作 “大數據庫里的一個小數據庫”。

Frax Finance創始人:Fei Protocol有能力向受害者償還所有資金:8月20日消息,Frax Finance創始人Sam Kazemian推特發文稱,Fei Protocol有足夠的PCV按照錨定價格贖回每一個穩定幣,償還所有資金給受害者,并且仍然有6500萬美元供TRIBE持有者獲利。但他們只計劃向受害者償還少部分的損失,以犧牲早期支持者為代價為自己保留更多資金,這是赤裸裸的欺詐。據此前消息,Fei Labs發起關閉Tribe DAO并將資金分配給代幣持有者和黑客攻擊受害者的提案,該提案建議將DAO資金首先用于償還黑客攻擊中受害者損失,再由TRIBE代幣持有者進行分配,之后移除所有治理權利。[2022/8/21 12:37:46]

那么,兩者之間的主要區別在于:LSM 數據庫是為重度添加操作(appending)和范圍掃描操作(range scanning)優化的,而不是為隨機讀取的性能優化的;為了提供一致性,它不允許同時對數據庫執行讀、寫操作。也是出于性能考慮,這種數據庫是沒有實現原子性的。Bolt 則反之,插入操作(inserting)速度較慢,但是隨機讀取速度較快,實現了原子性,而且可以同時對數據庫讀寫。

CoinShares:機構投資者資金連續七周涌入以太坊:8月9日消息,根據CoinShares的最新報告顯示,機構投資者資金正涌入基于以太坊的數字資產基金,目前已經連續七周錄得正資金流入。據報道,上周上述資金流入達到1630萬美元,過去七周資金流入總額為1.59億美元。

CoinShares研究主管James Butterfill在8月8日表示:\"我們相信,投資者情緒的轉變是由于更加明確了合并時間,即以太坊從工作量證明轉為權益證明。[2022/8/9 12:11:46]

我們再稍微解釋一下原子性:

原子性:“原子” 意味著不可分割。假設現在我們要給一個數據庫存儲多個哈希值,而其中一個在插入數據庫時失敗了,如果此時所有哈希值的操作都會同時撤銷,這就叫做原子性。Turbo-Geth 就有這樣的特性,只有所有哈希值的插入操作都成功時,這個操作才能成功。而沒有實現原子性的數據庫(比如 LevelDB)則意味著,必須使用一個 workaround 以安全地將數據插入數據庫。換句話來說,在這個點上,我們覺得 Bolt 更好,因為他在給數據庫添加數據時更安全。

如前所述,Turbo-Geth 是切分成多個 bucket 的。每個 bucket 都是大數據庫中的一個小數據,各自包含了一個 B+-Tree 結構。

下面便是 Turbo-Geth 數據庫在區塊高度 9,346,492 處的切分:

- Turbo-Geth 的 Archive 節點的數據區分(區塊高度為 9,346,492)-

Geth 客戶端的 Archive 大小(區塊高度 9346492): 3.7 TBParity 客戶端的 Archive 大小(區塊高度 9346492): 3.6 TBTurbo-Geth 客戶端的 Archive 大小(區塊高度 9346492): 652.62 GB每一個部分都存儲在一個 bucket 里面。其中主要部分的簡要解釋如下:

原象(preimage):哈希值與地址之間的管理,以及存儲位置哈希值與存儲位置之間的關聯

收據(receipt):交易收據

合約存儲內容的歷史(History of Storage):合約存儲內容的變更歷史

賬戶歷史(History of Accounts):賬戶的變更歷史

區塊頭:每個區塊的區塊頭

區塊體:每個區塊的區塊體

合約存儲內容(Contract Storage):就是合約存儲內容

ChangeSet:數據庫變更歷史

賬戶:賬戶

使用這么多 bucket ,是為了讓構成大數據庫的各 B+-Tree 樹高不至于太高,這樣跟數據庫的交互就會比較容易。換句話說,這是在使用多個 bucket 來提高讀取數據庫的性能。

在切換到 Bolt 之后,Turbo-Geth 在處理隨機鍵(比如交易哈希值)時遇到了一些問題,因為 Bolt 會在提交數據之前對這些鍵進行排序(sort),又因為這些哈希值都是隨機的,而且數量很多,所以產生了大量的排序需求,然后導致大量的寫入放大現象(write amplification,實際寫入的物理數據量是寫入數據量的多倍)。而 BadgerDB 使用 log-structured-merge(LSM)模式,似乎是一個更好的選擇。這個問題仍在研究當中,不過,我們已經實現了一個 workaround 來解決這個問題。

這里有一個圖表,顯示了 BadgerDB 和 BoltDB 在整體性能上的對比(感謝 Alexey Akhunov 制圖):

Turbo-Geth 客戶端通過下列(數據庫)手段來優化以太坊的性能:

使用多個 bucket,以更迅速地檢索某些數據片

使用 B+-Tree 而非 LSM

如果你想給我們捐贈,可以通過 Gitcoin。

Tags:ETHGETGETHTUReth價格今日行情人民幣bitGet交易所有牌照嗎togetherbnb手游下載最新版TURBO幣最新價格

波場
加密貨幣:金色前哨丨幣安平臺交易突然暫停 CZ:不確定系統恢復時間「持續跟進」_ONT

金色財經訊 2月19日,市場上多名用戶反映幣安交易平臺出現故障,加密貨幣成交記錄及時間均保持在 7 點 07 分.

1900/1/1 0:00:00
EDGE:美國制藥行業24家公司提交試點報告 提出區塊鏈處方藥追蹤系統_EDG

來自美國藥品供應鏈中的24家公司共同向美國食品藥品監督管理局(FDA)提交了MediLedger DSCSA試點項目最終報告,提出了用于美國處方藥的可互操作追蹤系統的區塊鏈系統.

1900/1/1 0:00:00
區塊鏈:金色前哨丨說好的隱私保護呢?富國銀行遭30億美元重罰_TIC

金色財經 區塊鏈2月24日訊   富國銀行(Wells Fargo)因一起涉嫌長達15年的違法行為被罰款30億美元,預計數百萬客戶受到影響.

1900/1/1 0:00:00
區塊鏈:金色前哨 | 火幣發布HT一月月報 將開通HT杠桿功能_3X Long Tether Gold Token

金色財經2月15日訊,火幣全球站發布HT一月月報,報告稱HT一月整體交易量環比12月提升 65.43%,HT/USDT 價格上漲 24.1%.

1900/1/1 0:00:00
BZX:金色觀察 | 一招“攻擊”15秒內獲利超36萬美元 多個DeFi明星項目卷入_EFI

也許這個世界終歸是屬于聰明人的。近日DeFi世界就遭到了聰明人的“攻擊”(exploit)。 2月16日,DeFi項目bZx被某個人或者團隊利用規則上的漏洞,在DeFi項目間騰挪套利,

1900/1/1 0:00:00
ETH:bZx協議再遭黑客“二連擊”背后的技術命門_SUSD

PeckShield 團隊在上一篇文章《PeckShield:硬核技術解析,bZx協議遭黑客漏洞攻擊始末》中分析了 bZx 于02月15日遭到黑客一次可組合資產流動性攻擊.

1900/1/1 0:00:00
ads