引介 | Turbo-Geth 客户端:如何实现性能改进

以太坊爱好者
以太坊爱好者 得得号

Oct 19, 2020

该文章已上链

摘要: 扁平的数据库 + “中间哈希值” + “阶段式同步”

 

编者注:本文为 Turbo-Geth 项目的贡献者 Alexey Akhunov 发表的幻灯片。近期,Turbo-Geth 客户端因为出色的同步性能而备受关注。在这份名为 “too good to be true”(意即 “好到不像是真的” 或者说 “美如天方夜谭”)的 PPT 中,Alexey 解释了 Turbo-Geth 最重要的两大改进。一是将数据库模式从树式的改成扁平式的;因为树式的数据库虽然有助于快速计算出状态根,却无助于 EVM 快速访问状态对象;而使用扁平式的数据库,再引入一种 “中间哈希值” 的数据,就可以很好地满足 EVM 快速访问状态以及快速计算状态根的两大需要;二是阶段式同步(staged sync)方法,该方法将对一个区块的处理分解为特定的几个步骤,然后对连续的多个区块处理完同一个步骤之后,再从头对该批区块处理下一个步骤;这样做其实等于是在将数据插入到数据库之前先完成了预排序工作;另一方面,这也使得客户端的工作流程模块化了,允许我们针对性地优化性能。感兴趣的读者可以从文末的超链接中了解更多。

(完)


原文链接:

https://github.com/AlexeyAkhunov/turbo-geth-archive

作者: Alexey Akhunov

 

作者:以太坊爱好者;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 以太坊爱好者 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(2

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信