在探讨以太坊(ETH)曾经使用以及未来将采用的挖矿算法时,我们实际上是在追溯一个区块链网络共识机制的深刻变革,以太坊的挖矿算法与其共识机制紧密相连,经历了从工作量证明(Proof of Work, PoW)到权益证明(Proof of Stake, PoS)的重大转变。
以太坊历史上的挖矿算法:Ethash(基于PoW)
在“合并”(The Merge)事件之前,以太坊一直采用的是工作量证明(PoW)共识机制,与之配套的挖矿算法名为Ethash。
-
Ethash算法的核心特点:
- 内存硬计算(Memory-Hard Computation): Ethash算法的设计初衷是使得挖矿过程更加依赖于内存(RAM)而非 solely 依赖于计算能力(如GPU的算力),这使得它难以被ASIC(专用集成电路)芯片垄断,因为ASIC在内存容量和带宽上相对通用GPU(如NVIDIA的显卡)没有明显优势,或者说,制造大内存容量的ASIC成本高昂且不划算,Ethash挖矿在很长一段时间内是以GPU挖矿为主,促进了去中心化。
- DAG(有向无环图): Ethash算法使用两个数据集:一个“数据集”(Dataset)和一个“缓存”(Cache),数据集非常大,并且随着以太坊网络的成长而不断增大(目前已有数十GB级别),缓存是数据集的一个小子集,用于快速生成,DAG的引入是为了增加内存需求,使得单纯依靠算力提升而不增加内存的挖矿设备效率低下。
