挖矿的原理

Posted 链道产业研究院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了挖矿的原理相关的知识,希望对你有一定的参考价值。

比特币系统是一个参与节点相互验证的公开记账系统,而比特币挖矿的本质则是争夺某一个区块的记账权。“挖矿”成功即是该节点成功获得当前区块记账权,也就是说其他节点就“照抄”该挖矿成功的节点的当前区块,获得记账权的节点会获取一定数量的比特币奖励,以此激励比特币网络中的所有节点积极参与记账工作。该奖励包含系统奖励和交易手续费两部分,系统奖励则作为比特币发行的手段。


比特币系统会随机生成一道数学难题,挖矿最主要的工作就是所有参与节点一起计算这道数学难题,首先算出结果的旷工即可获得该区块的记账权。记账节点将过去一段时间内发生的、尚未经过网络公认的交易信息进行收集、检验、确认,最后打包并加签名为一个无法被篡改的“交易记录区块”,并在获得记账权后将该区块进行广播,从而让这个区块被全部节点认可,让区块中的交易成为比特币网络上公认已经完成的交易纪录,永久保存。


比特币中每个区块生成时,需要把上一个区块的哈希值、本区块的交易信息的默克尔树根、一个未知的随机数(nonce)拼在一起计算一个新的哈希值。为了保证10分钟产生一个区块,该工作必须具有一定难度,即哈希值必须以若干个0开头。



哈希算法中,输入信息的任何微小改动即可引起哈希值的巨大变动,且这个变动不具有规律性。因为哈希值的位数是有限的,通过不断尝试随机数nonce,总可以计算出一个符合要求的哈希值,且该随机数无法通过寻找规律计算出来。这意味着,该随机数只能通过暴力枚举的方式获得。挖矿中计算数学难题即为寻找该随机数的过程。


矿工为了计算出该随机数,需要花费一定的时间进行大量地哈希运算。某个矿工成功计算出该随机数后,则会进行区块打包并全网广播。其他节点收到广播后,只需对包含随机数的区块按照同样的方法进行一次哈希运算即可,若哈希值以“0”开头的个数满足要求,且通过其他合法性校验,则接受这个区块,并停止本地对当前区块随机数的寻找,开始下个区块随机数的计算。

以上是关于挖矿的原理的主要内容,如果未能解决你的问题,请参考以下文章

POW挖矿的下一代:基于存储的挖矿原理分析介绍

Chia挖矿BTC挖矿DeFi挖矿的区别是什么?

IPFS的挖矿原理

FIL挖矿须知|新手必看Filecoin挖矿原理说明

区块链挖矿原理介绍

以太坊挖矿原理