編者按:本文來自:以太坊愛好者,作者:GiulioRebuffo,翻譯:阿劍,Odaily星球日報經授權轉載。幾個月以前,我加入了Turbo-Geth團隊,開始主動給Trubo-Geth客戶端貢獻代碼。Turbo-Geth客戶端是Geth客戶端的一個另類版本,其目標是做得比原有的客戶端運行速度更快、更高效。那么Turbo-Geth實現這個目標的辦法包括下面幾項:進一步優化數據庫結構在需要與狀態數據交互的場合,減少對數據庫的讀、寫操作優化狀態樹操作的效率在本文中,我會著重指出Turbo-Geth和Geth在數據庫上的不同之處。主要的區別在于:不同的數據庫按桶來細分數據庫那么,本文的主要內容也就跟這兩點相關。什么是Bolt,它跟LevelDB的區別在哪里?
IoTeX基金會已向15個生態項目提供近百萬美元開發資助:6月19日消息,過去一年里,物聯網區塊鏈平臺IoTeX基金會已向15個基于IoTeX區塊鏈網絡的項目授予近百萬美元的開發資助,受資助項目多為聚焦DePIN(去中心化物理基礎設施網絡)領域的Web3前沿項目。據悉,受資助生態項目包括去中心化數據收集網絡Elumicate、環境數據追蹤解析平臺enviroBlOQ、為海運航行開發的去中心化天氣數據收集解決方案Ahoy、去中心化域名智能解析服務EDNS、去中心化鏈上資助管理平臺Questbook、WEconomy、DriveX、myJeenie、Footprint、TRANSHUMAN、Switch Electric、Mindland等項目。[2023/6/19 21:47:03]
Bolt和LevelDB其實非常相似,兩者都是“鍵-值對”存儲,設計目標都是為不需要完整數據庫服務器的項目提供簡單、快捷且可靠的數據庫。Geth選用的數據庫是LevelDB,而Turbo-Geth選用的是Bolt。但兩者也有一個關鍵區別:組織數據的方式。LevelDB是一個LSM數據庫,而Bolt使用bucket,而且每一個bucket都包含著一個B+-Tree結構。我們可以把一個bucket當作“大數據庫里的一個小數據庫”。那么,兩者之間的主要區別在于:LSM數據庫是為重度添加操作和范圍掃描操作優化的,而不是為隨機讀取的性能優化的;為了提供一致性,它不允許同時對數據庫執行讀、寫操作。也是出于性能考慮,這種數據庫是沒有實現原子性的。Bolt則反之,插入操作速度較慢,但是隨機讀取速度較快,實現了原子性,而且可以同時對數據庫讀寫。我們再稍微解釋一下原子性:原子性:“原子”意味著不可分割。假設現在我們要給一個數據庫存儲多個哈希值,而其中一個在插入數據庫時失敗了,如果此時所有哈希值的操作都會同時撤銷,這就叫做原子性。Turbo-Geth就有這樣的特性,只有所有哈希值的插入操作都成功時,這個操作才能成功。而沒有實現原子性的數據庫則意味著,必須使用一個workaround以安全地將數據插入數據庫。換句話來說,在這個點上,我們覺得Bolt更好,因為他在給數據庫添加數據時更安全。數據庫的組織
BGD Labs和Chainlink宣布將儲備證明整合至Avalanche的Aave協議中:2月7日消息,BGD Labs宣布將Chainlink儲備證明Chainlink Proof Reserve(PoR)集成至Avalanche上的Aave協議。這有助于確保Avalanche上Aave 市場中的封裝代幣得到充分抵押,從而減輕與在 Aave 協議上使用封裝代幣相關的風險。Chainlink儲備證明流現在支持以下封裝資產:AAVE.e、DAI.e、LINK.e、WBTC.e 和 WETH.e。(prnewswire)[2023/2/8 11:53:09]
如前所述,Turbo-Geth是切分成多個bucket的。每個bucket都是大數據庫中的一個小數據,各自包含了一個B+-Tree結構。下面便是Turbo-Geth數據庫在區塊高度9,346,492處的切分:
摩根大通和Visa達成合作,使用私有區塊鏈網絡簡化跨境支付:金色財經報道,摩根大通(JP Morgan)的私有區塊鏈網絡Liink和Visa的私有區塊鏈網絡B2B Connect將使用一款名為“Confirm”的新工具在二者之間建立連接。
Confirm由摩根大通推出,已與德意志銀行簽約。目前正在亞太、拉美和美國招募創始成員銀行,目標是擴大覆蓋范圍。
Confirm全球主管Alex Littlejohn表示,“Confirm的增長在很大程度上受到網絡效應的影響,與Visa的區塊鏈建立互聯將加速我們在全球范圍內的采用。”(finextra)[2022/10/11 10:30:59]
Zipmex尋求籌集至少5000萬美元來修復其資產負債表:7月25日消息,加密交易所Zipmex表示,正在尋求籌集至少5000萬美元來修復其資產負債表。知情人士表示,Zipmex正在討論出售全部或部分自己的資產。籌資目標大致代表Zipmex對Babel和Celsius的總敞口,分別為4800萬美元和500萬美元。
此前消息,新加坡的加密貨幣交易所Zipmex周四表示,曾向加密貨幣貸款機構Babel Finance和Celsius借出資金。Zipmex目前對Babel的風險敞口是4800萬美元,而Celsius是500萬美元,后者上周申請了破產。(彭博社)[2022/7/25 2:36:35]
-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:ETHGETHGETTURetheral代表什么意義togetherbnb手游下載BitGet中文官網FUTUR幣
編者按:本文來自量化踢馬河,Odaily星球日報經授權轉載。在昨天的文章末尾,我們提到了JamielSheikh教授,他去年12月4日曾于麻省理工學院進行過一場名為“Blockchain&.
1900/1/1 0:00:00文|王也編輯|郝方舟出品|Odaily星球日報 己亥末,庚子春,新冠病驟然來襲,蔓延之勢和影響之廣超出了眾人想象。企業停擺,工廠停產,不少員工在家隔離,人心惶惶.
1900/1/1 0:00:00編者按:在過往百年的信息技術發展過程中,人類一直在追求計算和算力的發展,終極追求始終朝向智能化的方向在演進。隨著人類社會全數字化時代的即將到來,數據的地位和重要性正在不斷上升.
1900/1/1 0:00:00劉世平表示,通過Logistic增長模型和Vintage分析,全國確診人數的峰值可能在8萬左右,預計在3月14日以后每日新增確診小于10人,疫情進入緩解階段.
1900/1/1 0:00:00作者;EricChung翻譯:FrauYang簡介大量跡象表明,2018年Web3的UX體驗成為了許多項目討論的焦點.
1900/1/1 0:00:00作者:江卓爾。最近Core又出來吹風了: 我把上面這報道發一個完整版的,并講解一下:1、為什么Core會鍥而不舍地做增發BTC這種看起來很荒謬的事情?因為Core認為BTC系統要求必須非常低,低.
1900/1/1 0:00:00