宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Ethereum > 正文

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

作者:

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

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

Cream Finance黑客将365.7 ETH转入TradeOgre,1月迄今已转移超2000枚ETH:金色财经报道,据PeckShieldAlert披露数据显示,利用 Cream Finance 漏洞实施攻击的黑客再次转移资金,据该黑客标记地址显示,目前已将 365.7 ETH(约合 60 万美元)转入 TradeOgre。自 2023 年 1 月以来,这个黑客总计将 2070 枚 ETH 转入 TradeOgre,价值达到 326 万美元。[2023/1/30 11:36:04]

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

数据:Ethereum 2.0 存款合约的总价值达到近8个月以来最高值:金色财经报道,Glassnode数据显示,Ethereum 2.0 存款合约的总价值刚刚达到 25,156,508,569.39 美元,为近8个月以来最高值。[2023/1/21 11:24:44]

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

Optimism计划12月13日公开演练将Goerli网络迁移至Bedrock:12月6日消息,Optimism宣布计划在北京时间12月13日2:00公开演练将Optimism Goerli迁移到Bedrock。Optimism对现有的L1 Goerli和Optimism Goerli网络进行分叉,将在两个网络上运行完整的端到端迁移,这大约需要一个小时。预演结束后,分叉的Optimism Goerli网络将升级为Bedrock。此次迁移演练主要针对基础设施提供商和运行节点。

据此前报道,今年5月,Optimism宣布推出去中心化Rollup基础架构Bedrock,该架构尽可能重用以太坊的代码、基础设施和设计模式,并表示“EVM等效”已是过去时,Bedrock带来的是“以太坊等效”。

Optimism表示,Bedrock将作为交互式故障证明系统Cannon的基础架构进行发布,其优势包括交易费用降低、最大吞吐量提升、节点同步速度提高。[2022/12/6 21:26:18]

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

Silverton Partners新基金Fund VII完成2.48亿美元募资:7月9日消息,总部位于美国德州奥斯汀的风险投资公司Silverston Partners宣布旗下新基金Fund VII完成2.48亿美元募资,这是该风投公司有史以来规模最大的一支基金。Silverston Partners执行合伙人Morgan Flager表示,新基金将在SaaS、金融科技以及Web3等领域持续活跃。(SiliconhillsNews)[2022/7/9 2:01:36]

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

结语

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

标签:ETHGETGETHTURETHBbitGet交易所有牌照吗togetherbnb手游下载女鬼Future Global Village

Ethereum热门资讯
央行数字货币最新动向:这8国央行谁都不敢掉队

编者按:本文来自中本小葱,Odaily星球日报经授权发布。各国对发行中央银行数字货币的态度始终是加密货币行业值得关注的重要动向。而进入2020年之后,央行CBDC赛道变得愈发热闹,竞争队伍日渐壮大.

1900/1/1 0:00:00
比特币秘史(九):比特币在哪些地区更受欢迎?

「比特币在哪些地区更受欢迎」是一道有趣的问题;因为从不同的角度出发,得到的答案都不尽相同。 各国法定货币的比特币交易量以各国法定货币兑比特币的交易量数据来看,比特币在美国以及日本更为吃香,这两个国家当前已经垄断了BTC法币市场超九成的.

1900/1/1 0:00:00
星球日报 | IOTA官方:Trinity钱包用户资金遭窃?;知情人士称Galaxy Digital1月份裁员15%

头条 IOTA官方:Trinity钱包用户资金遭窃IOTA基金会宣布,Trinity钱包软件用户的资金已被窃取。IOTA基金会已关闭了该基金会目前控制的协调节点.

1900/1/1 0:00:00
读懂以太坊的生命之树

编者按:本文来自链闻,撰文:RyanSeanAdams,加密货币投资基金MythosCapital创始人、电子杂志Bankless主编,编译:詹涓,Odaily星球日报经授权转载.

1900/1/1 0:00:00
七大减产币背后数据:币价平均上涨143%,挖矿收益平均上涨77%

分析师|Carol编辑|毕彤彤出品|PANews近期,以比特币为首的“减产”币先后上涨,“减产概念”似乎吹响牛市号角.

1900/1/1 0:00:00
亚洲顶尖区块链风投最关注哪些领域?反正不是DeFi

编者按:本文来自链闻,撰文:潘致雄,Odaily星球日报经授权转载。IDGCapital、HashKeyCapital、分布式资本、NGCVentures和FBGCapital这5家顶级的亚洲区块链机构对STO与DeFi概念项目相当谨.

1900/1/1 0:00:00