木星链 木星链
Ctrl+D收藏木星链
首页 > 瑞波币 > 正文

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

作者:

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

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

Lido V2升级将于5月12日启动最终链上投票:5月9日消息,据官方推特,Lido发布V2版本进度更新:“V2升级的最终链上投票定于5月12日星期五举行。如果最后一刻的调查结果没有问题并且投票成功,Lido V2将在5月15日投票生效后上线。投票将持续3天,并于5月15日星期一结束。投票成功后,质押者可以期待以下结果:1.直接协议内stETH:ETH取款。2.质押路由器架构,为新的质押模块铺平了道路。取款金库中的ETH用于满足取款请求,并在队列为空时重新抵押。升级后,金库中的约27万枚ETH将可用,无需冗长的验证程序退出流程即可满足初始提款请求。这意味着提款请求在前3天内可能会得到更快的处理。”[2023/5/9 14:51:16]

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

Cool Cats与元宇宙基础设施Futureverse建立战略合作伙伴关系:金色财经报道,Cool Cats母公司Cool Cats Group宣布与元宇宙基础设施Futureverse建立战略合作伙伴关系,以增强Cool Cats NFT持有者的实用性,并可以在Futureverse创建的3D世界中查看Cool Cats的探索性内容。作为合作伙伴关系的一部分,Cool Cats Group和Futureverse已同意交换少数股权,以进一步巩固联盟。此外, Cool Cats董事长Ken Cron将加入Futureverse董事会,Futureverse联合创始人Aaron McDonald和Shara Senderoff将加入Cool Cats董事会。[2023/4/12 13:57:35]

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

比特币闪电网络节点数量为16,415个:金色财经报道,1ML数据显示,当前比特币闪电网络节点为16,415个,过去30天增加1.3%;通道数量为75,571个,较一个月前减少了0.8%;网络容量为5,431.15枚BTC,月涨1%。[2023/3/26 13:26:44]

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

Unlockd获得440万美元的种子轮融资 Blockchain Capital领投:金色财经报道,Unlockd是一项允许用户以NFTs为抵押借款的协议,已在Blockchain Capital牵头的种子轮融资中筹集了440万美元。Sfermion、Spartan Group和Play Ventures也参与了这一轮融资。Unlockd表示,这笔资金将用于产品和开发、跨链扩展、确保协议安全的一级审计师和营销。[2022/8/18 12:34:33]

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

结语

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

标签:ETHTURGETGETHethyleneThe Nature TokenGetaversetogetherbnb中文版下载

瑞波币热门资讯
加密货币:加密货币应用:加密货币如何改变旅游业?

编者按:本文来自:Cointelegraph中文,作者:CalebYeoh,编译:Alex,Odaily星球日报经授权转载.

1900/1/1 0:00:00
BTC:还原真相:FTX CEO「千万美元浮亏」背后的对冲策略

编者按:本文来自区块律动BlockBeats,Odaily星球日报经授权转载。今日,一则关于「FTXCEO在Bitfinex拥有1300万美元浮亏头寸」的新闻传遍加密货币行业,对此RenrenB.

1900/1/1 0:00:00
ETC:证券交易技术分析简介

Overview概述技术分析是指以市场行为为研究对象,以判断市场趋势并跟随趋势的周期性变化来进行股票及一切金融衍生品交易决策的方法总和.

1900/1/1 0:00:00
去中心化交易所:交易所周报 | 火币永久销毁1.5亿HT;OKEx上线次季合约(2.24-3.1)

作者|康康编辑|郝方舟Odaily星球日报出品 交易所一周动向3月2日,根据ArcaneResearch最近报告.

1900/1/1 0:00:00
比特币:比特币秘史(二十五):中本聪怎么才能自证身份?

关于如何证明你是中本聪的问题,答案其实非常简单;只要证明者能够从创世地址或者社区公认由创始人控制的14个地址内转出比特币,就足以证明他的身份.

1900/1/1 0:00:00
比特币:比特币通胀率将在减半后低于大多数央行,其价格在两年内很容易涨到20万美元

编者按:本文来自巴比特资讯,编译:夕雨,星球日报经授权发布。在今年5月份比特币减半事件之后,其通胀率每年将降至1.8%。这使其远低于中央银行的大多数通胀目标。 比特币通常被认为是对抗通胀的工具.

1900/1/1 0:00:00