编者按:本文来自:以太坊爱好者,作者:GiulioRebuffo,翻译:阿剑,Odaily星球日报经授权转载。几个月以前,我加入了Turbo-Geth团队,开始主动给Trubo-Geth客户端贡献代码。Turbo-Geth客户端是Geth客户端的一个另类版本,其目标是做得比原有的客户端运行速度更快、更高效。那么Turbo-Geth实现这个目标的办法包括下面几项:进一步优化数据库结构在需要与状态数据交互的场合,减少对数据库的读、写操作优化状态树操作的效率在本文中,我会着重指出Turbo-Geth和Geth在数据库上的不同之处。主要的区别在于:不同的数据库按桶来细分数据库那么,本文的主要内容也就跟这两点相关。什么是Bolt,它跟LevelDB的区别在哪里?
Dilation Effect对DeFi借贷协议Prime Protocol发出安全警告:5月24日消息,Web3安全研究公司Dilation Effect对DeFi借贷协议Prime Protocol发出安全警告。该协议有一个独特的功能,允许其他人代表用户完成存款操作。这意味着一旦用户授权了合约,任何人都可以访问用户地址中的授权资产并将其存入借贷池,而无需进一步的许可。虽然这还没有导致安全漏洞,但如果Prime Protocol遭到黑客攻击,攻击者可以将所有授权用户资产转移到借贷池中。
Prime Protocol于2022年3月完成275万美元种子轮融资,Jump Capital、Arrington Capital和Framework Ventures领投,目前其锁仓总价值 (TVL) 超过160万美元。(fxstreet)[2023/5/24 15:22:01]
Bolt和LevelDB其实非常相似,两者都是“键-值对”存储,设计目标都是为不需要完整数据库服务器的项目提供简单、快捷且可靠的数据库。Geth选用的数据库是LevelDB,而Turbo-Geth选用的是Bolt。但两者也有一个关键区别:组织数据的方式。LevelDB是一个LSM数据库,而Bolt使用bucket,而且每一个bucket都包含着一个B+-Tree结构。我们可以把一个bucket当作“大数据库里的一个小数据库”。那么,两者之间的主要区别在于:LSM数据库是为重度添加操作和范围扫描操作优化的,而不是为随机读取的性能优化的;为了提供一致性,它不允许同时对数据库执行读、写操作。也是出于性能考虑,这种数据库是没有实现原子性的。Bolt则反之,插入操作速度较慢,但是随机读取速度较快,实现了原子性,而且可以同时对数据库读写。我们再稍微解释一下原子性:原子性:“原子”意味着不可分割。假设现在我们要给一个数据库存储多个哈希值,而其中一个在插入数据库时失败了,如果此时所有哈希值的操作都会同时撤销,这就叫做原子性。Turbo-Geth就有这样的特性,只有所有哈希值的插入操作都成功时,这个操作才能成功。而没有实现原子性的数据库则意味着,必须使用一个workaround以安全地将数据插入数据库。换句话来说,在这个点上,我们觉得Bolt更好,因为他在给数据库添加数据时更安全。数据库的组织
数据:以太坊桥TVL达到62.4亿美元:金色财经报道,Dune Analytics数据显示,以太坊桥当前TVL达到62.4亿美元。其中锁仓量最高的5个桥分别是Polygon Bridges(30.74亿美元)、Arbitrum Bridges(21.71亿美元)、Optimism Bridges(12.46亿美元)、Fantom Anyswap Bridge(1.81亿美元)、Near Raibow(1.14亿美元)。[2023/5/21 15:16:12]
如前所述,Turbo-Geth是切分成多个bucket的。每个bucket都是大数据库中的一个小数据,各自包含了一个B+-Tree结构。下面便是Turbo-Geth数据库在区块高度9,346,492处的切分:
拜登政府新任通讯主管被禁止接触前加密客户:金色财经报道,美国总统拜登将禁止其新任通讯主管Ben LaBolt参与涉及他之前代表的加密货币或技术公司的法律事务、调查或合同,这些公司包括Meta Platforms Inc.、风险投资机构Haun Ventures LLC和Shopify Inc.。但白宫周五表示,Ben LaBolt将被允许就总统监管加密货币和社交媒体公司的方法提供建议。
此外,美国政府道德办公室的一份文件显示,Ben LaBolt持有BTC和ETH,他此前在Bully Pulpit Interactive工作时,其客户包括Andreessen Horowitz(a16z)和Uniswap。他还曾担任Meta首席执行官Mark Zuckerberg及其妻子Priscilla Chan的家族办公室West Street的发言人。[2023/4/23 14:21:34]
虎符:推出“债币转换”等方案,8月1日起停止所有交易服务:7月24日消息,虎符交易所官网发布“关于虎符债币转换方案、合伙人投资及其它业务优化方案”的公告。公告称,推出“债币转换”等方案,并将于8月1日起停止所有交易服务。[2022/7/24 2:34:42]
-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。
编者按:本文来自蓝狐笔记,Odaily星球日报经授权转载。前言:在过去的几天bZx事件在加密圈引起广泛关注。黑客之所以能“攻击”成功,除了操纵价格之外,其中利用最充分就是闪贷.
1900/1/1 0:00:00编者按:本文来自区块律动BlockBeats,作者:0x66,Odaily星球日报经授权转载。「沉默就是最大的不道德.
1900/1/1 0:00:00这几日,交易所的话题一直很热,先是OK销毁未发行的平台币,带动整个平台币系统大涨;接着HT也跟进销毁,再次把平台币带热;接着江卓尔发表公开表示平台币没有投资价值.
1900/1/1 0:00:00编者按:本文来自量化踢马河,Odaily星球日报经授权转载。比特币自2020年开年以来,基本上一直处于一个积极上涨的趋势,但上周开始,比特币却经历了持续的下跌,该情况着实打击了加密投资者的信心,
1900/1/1 0:00:00编者按:本文来自巴比特资讯,编译:kyle,星球日报经授权发布。CoinbaseCEOBrainArmstrong与全球知名风投机构A16z联合创始人BenHorowitz上周进行了一场炉边谈话.
1900/1/1 0:00:00编者按:本文来自加密谷Live,作者:MichaeldelCastillo、WilliamBaldwin,翻译:ZoeZhou,Odaily星球日报经授权转载.
1900/1/1 0:00:00