以太坊中基于Ethash共识算法详解

itqtesting dego 2022-06-18 00:21:27 ethash dag

  户端的可验证性!同时为了满足轻客,轻客户端快速有效校验也就是一个区块应能被。

  的条件跟比特币一样在以太坊中挖矿成功,once值找到一个n,r) = target需要满足H(heade。

  来说目前,工作量证明Ethash以太坊还是基于POW的,POS的权益证明将来会很快基于。

  集是小的cahce通过计算生成的设计一大一小的目的是:大的数据,能保存大的dataset矿工为了能更快的挖矿只,算耽误时间以免重复计,小的cache即可验证而轻节点只需保存保存。

  过小的cahe计算得到的大的数据集中的元素都是通,序先得到一个位置的元素A的值小cache中通过伪随机顺,希得到B位置的值再通过A计算哈,了大数据集中的第一个元素循环迭代256次后得到,全部的DAG元素依次类推直到得到。

  挖矿中比特币,越专业化设备越来,sics芯片专用矿机现在挖矿主要采用A,机已经无法挖到矿普通人用普通计算,矿中心化的出现这就导致了挖。绝这一现象出现以太坊为了杜,内存访问的需求挖矿时增加了,矿机只是算力非常强因为Asic芯片,访问功能不足但对内存的。

  数nonce时尝试一个随机,DAG中在大的,出一个初始的哈希值映射到初始位置A通过header及nonce计算,的相邻后一个位置A的元素然后读取A位置元素和A,算出位置(B和B)再通过(A和A)计,类推依次,4次后迭代6,128个数一共读取出,值与目标值target比较最后计算这128个数的哈希,arget若满足=t,矿成功则挖;试nonce否则重新尝。图所示如下:

  一些运算得到第一个数通过Seed种子进行,数都是前一个数取哈希后得到的之后在小cache中的每个。

  挖矿过程类似验证过程跟,节点来说对于全,了大的DAG在内存中保存,后的哈希值与目标值比较即可只需循环计算64次后得到最;节点来说对于轻,计算出大的DAG后再计算首先通过小的cache,全节点一样了后面过程跟。

分享: