关于以太坊fast模式和full模式的问题

我理解的是full模式和fast模式都下载了区块header和body, 区别主要是一个需要重放交易以生成状态数据,一个直接拿状态数据快照

也就是fast模式少了验算的步骤,所以同步才变快是吧?

但是为什么两者都下载了header和body,同步之后数据量会相差那么多呢,fast模式是少同步了什么其他的数据吗?

请先 登录 后评论

最佳答案 2020-07-27 22:17

差别在于以太坊的状态数据 state ,这个才是需要大量磁盘空间存储。

即使一笔普通转载交易也会造成大量的 state 数据的增加和删除。如果是 full 模式,则需要存储从创世到现在的所有 state 的历史版本,在 leveldb 中的键值对是上亿条目的。

因此,fast 模式只下载区块和进行工作量证明,在下载区块的同时进行最新区块的 state 数据同步。数据同步速度不快,但节约了存储空间。

相对于 state 数据,区块信息和区块回执所需磁盘空间是微不足道的。因此 fast 模式下的本地磁盘占用比 full 模式小很多。

为了加速 fast 模式的同步速度,记得使用 SSD 硬盘并添加参数--cache 2GB来提高同步速度。

请先 登录 后评论

其它 1 个回答

kkk
请先 登录 后评论
  • 2 关注
  • 1 收藏,4359 浏览
  • 提出于 2020-07-27 13:41