在探讨以太坊(ETH)曾经使用以及未来将采用的挖矿算法时,我们实际上是在追溯一个区块链网络共识机制的深刻变革,以太坊的挖矿算法与其共识机制紧密相连,经历了从工作量证明(Proof of Work, PoW)到权益证明(Proof of Stake, PoS)的重大转变。

以太坊历史上的挖矿算法:Ethash(基于PoW)

在“合并”(The Merge)事件之前,以太坊一直采用的是工作量证明(PoW)共识机制,与之配套的挖矿算法名为Ethash

  1. Ethash算法的核心特点:

    • 内存硬计算(Memory-Hard Computation): Ethash算法的设计初衷是使得挖矿过程更加依赖于内存(RAM)而非 solely 依赖于计算能力(如GPU的算力),这使得它难以被ASIC(专用集成电路)芯片垄断,因为ASIC在内存容量和带宽上相对通用GPU(如NVIDIA的显卡)没有明显优势,或者说,制造大内存容量的ASIC成本高昂且不划算,Ethash挖矿在很长一段时间内是以GPU挖矿为主,促进了去中心化。
    • DAG(有向无环图): Ethash算法使用两个数据集:一个“数据集”(Dataset)和一个“缓存”(Cache),数据集非常大,并且随着以太坊网络的成长而不断增大(目前已有数十GB级别),缓存是数据集的一个小子集,用于快速生成,DAG的引入是为了增加内存需求,使得单纯依靠算力提升而不增加内存的挖矿设备效率低下。
    • 抗ASIC设计: 如前所述,通过内存硬特性,Ethash试图减缓或阻止专用挖矿矿机的出现,保持挖矿的开放性和去中心化程度。
  2. Ethash挖矿的原理: 矿工需要不断寻找一个随机数(nonce),使得将区块头、当前DAG缓存中的某个部分以及这个随机数一起进行哈希运算后,结果满足特定的难度条件,这个过程需要大量的内存读写和计算,而GPU由于其并行处理能力和较大的显存,非常适合执行这类任务。

  3. Ethash挖矿的背景与意义: 以太坊选择Ethash作为其PoW算法,是对抗算力集中、维护网络安全和去中心化的重要尝试,在PoW机制下,矿工通过投入计算资源(电力、硬件)来竞争记账权,成功“挖矿”的矿工将获得新发行的ETH作为奖励,PoW机制也因其高能耗和潜在的算力集中化问题而备受争议。

以太坊的新共识机制:权益证明(PoS)与“合并”

为了解决PoW机制的高能耗、可扩展性瓶颈以及进一步去中心化等问题,以太坊社区决定进行一次史诗级升级——从PoW转向权益证明(Proof of Stake, PoS),这一标志性事件被称为“合并”(The Merge),于2022年9月成功完成。

随机配图