如今,以太坊的挖矿过程与比特币的几乎是一样的,只不过以太坊是以ethash作为特定工作量证明机制算法。
挖矿过程就是速度的较量过程。挖矿的时候,矿工使用计算机反复迅速地猜一个数学难题的答案,直到有矿工猜到正确答案为止。
更具体来说,矿工会对区块头元数据(包括时间戳、软件号和这个区块的交易哈希值)进行哈希函数运算(函数会得到一个由字母和数字组成、固定长度的字符串,即哈希值),其中会影响哈希值结果的随机值是唯一的变量。
如果矿工A率先找到满足要求的哈希值,那么矿工A将获得以太币作为奖励,并在全网广播区块,让所有节点进行验证并更新账本。如果矿工B算出正确哈希值,矿工A将停止在当前区块链作运算,并转到在下一个区块上重复此过程。
大约每12到15秒,矿工就会挖出一个区块。如果矿工解决数学难题的速度过快或过慢,算法会自动调整挖矿难度,把出块速度保持在12秒左右。
矿工赚取这些以太币是有随机性的,挖矿的收益取决于运气及所投入的算力。
算力/ 哈希率/ Hashrate
算力是计算机能够完成一个数学程序的速度,譬如接收任何一组信息,并将其转换成 字母和一定长度的数字的速度就称为算力。在比特币“挖矿”中,对于数学难题的求解需要找到相应的数学解,而对于任意一个给定范围内的Hash 值,其求解只能通过自动生成的随机数,因此一个挖矿机每秒能做多少次求解过程就是算力的代表,其单位为Hash/s。