火星链 火星链
Ctrl+D收藏火星链
首页 > 屎币 > 正文

GET:一文了解Turbo-Geth客户端最新改进

作者:

时间:1900/1/1 0:00:00

编者按:本文来自:以太坊爱好者,作者:GiulioRebuffo,翻译:阿剑,Odaily星球日报经授权转载。几个月以前,我加入了Turbo-Geth团队,开始主动给Trubo-Geth客户端贡献代码。Turbo-Geth客户端是Geth客户端的一个另类版本,其目标是做得比原有的客户端运行速度更快、更高效。那么Turbo-Geth实现这个目标的办法包括下面几项:进一步优化数据库结构在需要与状态数据交互的场合,减少对数据库的读、写操作优化状态树操作的效率在本文中,我会着重指出Turbo-Geth和Geth在数据库上的不同之处。主要的区别在于:不同的数据库按桶来细分数据库那么,本文的主要内容也就跟这两点相关。什么是Bolt,它跟LevelDB的区别在哪里?

SEC专员对SEC首席会计师的警告提出质疑:金色财经报道,美国证券交易委员会首席会计师Paul Munter警告称,会计师事务所为加密货币公司提供非审计工作可能会承担法律责任。美国证券交易委员会(SEC)专员Hester Peirce在7月27日的一条推文中质疑监管机构为何要阻止为加密货币行业提供更高透明度的善意努力。Peirce称,如果会计师事务所的调查结果被歪曲,那么为加密货币公司履行“审计”职责的会计师事务所将面临受到谴责或停职的风险。

尽管Peirce承认加密货币公司及其会计师应该明确准备金证明,但她认为监管机构不应阻止为加密货币领域提供更高透明度的善意努力。[2023/7/29 16:05:34]

Bolt和LevelDB其实非常相似,两者都是“键-值对”存储,设计目标都是为不需要完整数据库服务器的项目提供简单、快捷且可靠的数据库。Geth选用的数据库是LevelDB,而Turbo-Geth选用的是Bolt。但两者也有一个关键区别:组织数据的方式。LevelDB是一个LSM数据库,而Bolt使用bucket,而且每一个bucket都包含着一个B+-Tree结构。我们可以把一个bucket当作“大数据库里的一个小数据库”。那么,两者之间的主要区别在于:LSM数据库是为重度添加操作和范围扫描操作优化的,而不是为随机读取的性能优化的;为了提供一致性,它不允许同时对数据库执行读、写操作。也是出于性能考虑,这种数据库是没有实现原子性的。Bolt则反之,插入操作速度较慢,但是随机读取速度较快,实现了原子性,而且可以同时对数据库读写。我们再稍微解释一下原子性:原子性:“原子”意味着不可分割。假设现在我们要给一个数据库存储多个哈希值,而其中一个在插入数据库时失败了,如果此时所有哈希值的操作都会同时撤销,这就叫做原子性。Turbo-Geth就有这样的特性,只有所有哈希值的插入操作都成功时,这个操作才能成功。而没有实现原子性的数据库则意味着,必须使用一个workaround以安全地将数据插入数据库。换句话来说,在这个点上,我们觉得Bolt更好,因为他在给数据库添加数据时更安全。数据库的组织

美国SEC主席:加密货币合规建立信任但业务可能会发生变化:金色财经报道,美国SEC主席Gary Gensler表示,加密货币合规建立信任但业务可能会发生变化。我们不需要更多的数字货币,我们有数字货币,它被称为美元。[2023/6/6 21:19:49]

如前所述,Turbo-Geth是切分成多个bucket的。每个bucket都是大数据库中的一个小数据,各自包含了一个B+-Tree结构。下面便是Turbo-Geth数据库在区块高度9,346,492处的切分:

StarkNet上DEX SithSwap已上线Alpha测试网:8月1日消息,StarkNet上DEX SithSwap宣布已上线Alpha测试网,该测试网提供了类似Uniswap V2的API,允许第三方集成SithSwap流动性。此外,SithSwap上的流动性资产可以作为StarkNet上其他外部合约的闪电贷来源。[2022/8/1 2:51:13]

-Turbo-Geth的Archive节点的数据区分-Geth客户端的Archive大小:3.7TBParity客户端的Archive大小:3.6TBTurbo-Geth客户端的Archive大小:652.62GB每一个部分都存储在一个bucket里面。其中主要部分的简要解释如下:原象:哈希值与地址之间的管理,以及存储位置哈希值与存储位置之间的关联收据:交易收据合约存储内容的历史:合约存储内容的变更历史账户历史:账户的变更历史区块头:每个区块的区块头区块体:每个区块的区块体合约存储内容:就是合约存储内容ChangeSet:数据库变更历史账户:账户使用这么多bucket,是为了让构成大数据库的各B+-Tree树高不至于太高,这样跟数据库的交互就会比较容易。换句话说,这是在使用多个bucket来提高读取数据库的性能。另一种备选方案:BadgerDB

Optimism治理代币OP或于今日推出并上线多个中心化交易所:5月31日消息,根据第三方的多个公告,Optimism即将推出的治理代币OP可能会在今天推出,并将上线中心化交易所。

包括OKX、LBank、MEXC和AAX在内的几家交易所已经发布了官方公告,宣布计划在今天晚些时候在不同时间上线OP代币。截至目前Optimism还没有发表官方声明。(The Block)[2022/6/1 3:53:59]

在切换到Bolt之后,Turbo-Geth在处理随机键时遇到了一些问题,因为Bolt会在提交数据之前对这些键进行排序,又因为这些哈希值都是随机的,而且数量很多,所以产生了大量的排序需求,然后导致大量的写入放大现象。而BadgerDB使用log-structured-merge模式,似乎是一个更好的选择。这个问题仍在研究当中,不过,我们已经实现了一个workaround来解决这个问题。这里有一个图表,显示了BadgerDB和BoltDB在整体性能上的对比:

结语

Turbo-Geth客户端通过下列手段来优化以太坊的性能:使用多个bucket,以更迅速地检索某些数据片使用B+-Tree而非LSM如果你想给我们捐赠,可以通过Gitcoin。

标签:GETHETHGETTURtogetherbnb中文版下载Champignons of Arborethiatogetherbnb可以和谁嘿嘿TurboHEX

屎币热门资讯
OIN:?FCoin受害者:连追两天两夜,我把张健亲属堵进了派出所

编者按:本文来自北纬31度,作者:CarmenTse,Odaily星球日报经授权转载。“谁在杭州,我们抓到李莹莹父母了!”.

1900/1/1 0:00:00
OIN:比特币秘史(十八):比特币硬分叉恐慌事件究竟是怎么回事?

作为受全网认可的最长链,比特币共识版本的升级一直以来都是通过软分叉来完成,除了其中发生意外的两次。而哈希派今天要讲的是引起社区短时恐慌的版本0.8.0.

1900/1/1 0:00:00
DEF:币圈就是,技术分析到底有没有用?

先说下最近的一个小故事:今天朋友问我最近股市如何?然后说自己在支付宝买了指数型基金,我看了下该基金,最近连续上涨.

1900/1/1 0:00:00
RAI:澳本聪:你们对比特币有误解

编者按:本文来自哔哔News,作者:Breeze,Odaily星球日报经授权转载。2月20日-21日,CoinGeek大会在伦敦老比林斯盖特举行。这是第五届CoinGeek大会.

1900/1/1 0:00:00
数字货币:大湾区规划周年:粤港澳已成为区块链发展风水宝地

编者按:本文来自互链脉搏,作者:金走车,Odaily星球日报经授权转载。去年2月18日,《粤港澳大湾区发展规划纲要》正式发布,距今恰过一周年.

1900/1/1 0:00:00
HAI:Chain.info:市场情绪回落,比特币挖矿难度或已见顶

正文共:1,072字预计阅读时间:3分钟行情与市场情绪近一个月BTC行情走势 来源:Chain.info本周迎来了比特币重回10000美元后的第一次大范围回调.

1900/1/1 0:00:00