首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在接下来的几个月里,Ethereum区块链的大小是否是一个完整节点的问题?

在接下来的几个月里,Ethereum区块链的大小是否是一个完整节点的问题?
EN

Ethereum用户
提问于 2017-11-26 05:41:20
回答 1查看 1.9K关注 0票数 7

2017年8月,我的chaindata目录的大小约为12 In。现在是11月份,我的chaindata目录现在是220 as -这与Ethereum越来越受欢迎的预期一致。

我使用以下命令行在Windows 10上运行我的geth节点:

代码语言:javascript
复制
geth.exe --syncmode fast --cache 1024 --datadir D:\Ethereum\GethBlockchain

我一直在我的2TB磁盘驱动器上运行我的节点,但是在10月底左右,我的第一个节点根本无法跟上新的块:它接收到的块的处理速度比它们正在产生的速度要慢,我猜想它是我的互联网连接或其他什么东西。

但是,我在任务管理器中看到,我的2TB磁盘的随机IO的使用率是100%不变的。我把它换成了500 20的SSD (只有SATA3,而不是NVME/U.2/M.2),我的磁盘随机IO下降到了大约20%,而geth又能够足够快地处理块。看起来Ethereum (或至少geth)确实需要快速的随机IO SSD驱动器来处理新的块(为什么?默克尔的树不意味着没有必要去查询旧的街区吗?)

考虑到区块链正在以非常快的速度增长,可能在几个月内就会达到1TB (然后可能在2018年中期之前达到2TB及以后),这是一个问题,因为这已经达到了正常人负担得起的SSD的容量限制--那么您就开始需要由超级昂贵的高容量SSD或大型阵列(大概是连接/JBOD,不一定需要RAID )组成的特殊(读为:昂贵的)SSD的设备来存储区块链。我不喜欢每隔几个月花200美元购买500 of的SSD的想法--最终我会耗尽SATA端口。

如果这是真的,即使没有它的继续加速,Ethereum区块链最终也将不可能存储在一个在商品硬件上运行的完全节点上:取消它的民主化,并且只把它的控制放在那些能够负担得起运行一个完整节点所需的硬件的人手中。

我读到,geth--syncmode fast将在初始同步期间修剪不必要的额外数据块链(例如,智能合同的中间结果),但是在同步完成之后,任何处理过的新块都会保留额外的数据,而且目前还不可能修剪这些新的块。

这已在GitHub的Geth/Mist回购中提出.,建议是删除整个区块链并运行另一个--sync fast,但我发现随着时间的推移,这变得越来越不可行。有人说,这种无法修剪/清理区块连锁店只是暂时的不便,所以我希望这意味着他们很快就会增加支持。

  1. 为什么geth执行这么多随机IO?
  2. 是否有任何方法压缩chaindata目录内容,以尽量减少磁盘的使用?
  3. 当商品硬件不能运行全节点时,会发生什么情况?Ethereum项目的组织者对这种情况有什么计划吗?
EN

回答 1

Ethereum用户

发布于 2017-11-29 15:05:48

关于第三个问题,我不认为这种情况在很长一段时间内会发生。运行完整节点还有其他选项。我建议查看奇偶,使用带有"warp“功能的客户机运行一个完整的节点,只需20-30 GB。

关于原因的更多细节,我建议阅读这篇博文:

在短期内不会超过1TB。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/31658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档