011:Ethash算法|《ETH原理与智能合约开发》笔记?

128
okx
待字闺中开发了一门深入浅出以太坊原理与智能合约开发的课程,由马良老师讲授。本篇文章记录了第四课第一部分——Ethash算法的学习笔记。

Ethash算法是以太坊极为核心的挖矿算法,但为了理解Ethash算法,先介绍了一些背景知识。在区块链中,共识是一个非常重要的概念,它指的是哪个节点有记账权和交易的顺序。工作量证明算法让节点通过算一个哈希值竞争记账权并解决其余节点之间的共识问题。

然而,由于比特币等使用工作量证明算法的系统可能因算力集中而存在一定弊端,以太坊采用了Ethash算法。Ethash算法采用了I/O密集的模型,不利于计算密集型专用集成电路,也更加GPU友好。此外,Ethash算法采用了三个逐渐增大的层次,即种子层、缓存层和数据层,这些层次的大小不同但都依赖于上一个世代。

Ethash算法的核心部分是Hashimoto函数,它将头部信息和随机数结合在一起,生成一个初始的单向散列值并与DAG上的值混合多次得到最终值。最终值与目标值相比较,如果小于目标值则挖矿成功。难度值越大,目标值越小,则挖矿越难。

最后,本文讲解了Ethash算法的难度公式和非线性部分的设计。该设计旨在使挖矿变得没意思,在大都会版本后的下一个版本中,要转换共识,由POW变为POW、POS混合型的协议。

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

进群交流|欧易官网