在加密货币的世界里,以太坊(Ethereum)无疑是其中的佼佼者,而“挖矿”作为获取以太坊的主要方式之一,曾经吸引了无数矿工的目光,在构建挖矿 rigs 的过程中,显卡(GPU)无疑是核心组件,而人们通常更关注显卡的核心频率、显存大小、功耗和价格,有一个至关重要的参数常常被新手忽视,那就是显卡的内存(显存,VRAM),本文将深入探讨以太坊挖矿对显卡内存的要求,解释其重要性,以及如何根据这一参数选择合适的显卡。

为什么以太坊挖矿对显存有要求

以太坊采用的是一种名为“工作量证明”(Proof of Work, PoW)的共识机制,但其挖矿算法——Ethash,与其他加密货币的算法有所不同,Ethash算法的核心特点是其对大容量内存的高度依赖

Ethash挖矿过程需要矿工节点访问一个巨大的“DAG”(Directed Acyclic Graph,有向无环图)数据集,这个DAG数据集会随着以太坊网络的成长而不断扩大,每个 epoch(周期,约30,000个区块)会生成一个新的DAG,并且DAG的大小会持续增长。

挖矿时,GPU需要将这个DAG数据集加载到显存中,以便快速访问和计算,如果显存容量不足以容纳整个DAG,那么GPU就必须从系统内存(RAM)中频繁地读取所需数据,这个过程被称为“溢出”(Spilling),由于系统内存的访问速度远低于显存,会导致挖矿效率(即算力,MH/s)大幅下降,严重时甚至可能无法正常挖矿。

显存容量的大小直接决定了显卡能否高效运行Ethash算法,以及能支持到哪个阶段的DAG大小

以太坊DAG增长与显存要求的动态关系

理解DAG的增长规律,就能明白显存要求为何是动态的:

  1. DAG初始大小与增长:在以太坊创世之初,DAG大小很小,但随着时间的推移,DAG大小以固定的速率增长,DAG大小已经从最初的几GB增长到了数十GB。
  2. 关键节点:显存容量必须大于DAG大小:显卡要挖矿,其显存容量必须大于当前epoch的DAG大小,一旦DAG大小超过了显卡的显存容量,该显卡就无法再参与以太坊的原生挖矿(除非通过特定软件技巧,但效率极低)。随机配图