最新比特币价格-比特币今日行情价格_比特币交易网

比特币矿工怎样挖矿的?

佚名

现实生活中的矿工,是举起锄头在一座矿山里锄啊挖啊,寻找自己的金矿。而比特币的矿工又是怎样挖矿的呢?我看过不少文章都说是解数学题,但大都一笔带过,没有详细介绍,今天我们就来探讨一下他们怎么挖比特币的。

首先来看看矿工的目标是什么?

矿工的目标就是通过生成符合特征的SHA-256哈希值来解答问题。

那么什么是哈希值?简单来说就是,通过哈希函数计算出来的一个非常大的十六进制字符串,可以看作是数字指纹。为什么这样说呢?因为任何不同的信息,比如整本书、一篇文档、一句话甚至一个字,通过哈希函数输出的字符串都不一样,是唯一的,且比特币用户无法控制哈希计算的结果。

哈希算法有好几种类型,比特币采用了其中的两种:用于工作量证明的SHA-256以及用于比特币地址的RIPEMD-160。

到底矿工要解决什么样的问题?要怎么解决?

举个简单的例子。

假设某个矿工第一时间找到生成区块的问题,这个问题要求输出哈希值的取值范围为0到1000000,第一个算出小于10000哈希值的矿工胜出。10000就是阈值(比特币系统的阈值由比特币协议确定),每个比特币区块都含有一个叫做“临时数”(nonce)的数字,其目的是帮助达到阈值。矿工要做的是,增加这个临时数的值,用来测试由此算出的哈希值能不能达到阈值,不能就继续增加这个临时数,直到区块的哈希值小于阈值。

当然实际情况要复杂得多,看下面这张图会比较容易理解一些:

矿工要测试多少次才可以找到问题的答案呢?通常都需要数百万次。是不是很震惊?当然这是矿机来做的事情,矿机的算力越大,越快找到答案。这也导致了一场矿机硬件的大比拼,所有人都想创造出每秒能计算出更多哈希值的硬件,从而有更多机会挖出更多的比特币。

要测试数百万次才能找到答案,你是不是担心要花费很长时间?不用担心,比特币网络会不断调整问题的难度,确保大约每10分钟就会有一个矿工解答完问题。

总的来说,矿工要做的事就是寻找到那个临时数,以生成小于阈值的哈希值,这就是工作量证明了,即比特币的共识机制POW。

当矿工发现能产生正确哈希值的临时数,就会将生成的区块广播出去,而其他的矿工验证后(只要一次哈希计算即可),就会接纳它,并开始着手下一个区块。下一个区块将上一个区块产生后的最新交易添加到自己的区块,再去寻找新区块的问题答案,然后加入到永无止境的区块链。

比特币系统就是这样被矿工运营和维护,加入挖矿的人越多,系统越强大,越安全。