比特币每个2016个区块会调整挖矿难度,目的是维持出块时间在10分钟左右,以太坊是每个区块都有可能调整挖矿难度,调整方法比较复杂,也改过很多版本,很多来源出入,包括以太坊黄皮书和实际代码都有冲突,我们遵循以代码为准。 上图是拜占庭阶段(Byzantium)挖矿难度调整的代码,输入是父区块(当前区块链的最后一个区块)的时间戳和父区块的难度,计算出当前正在挖的区块的难度,diff括号中的是基础难度,后面的是难度炸弹,bigTime是当前区块时间戳,bigParentTime是父区块的时间戳 作者:pan zun