“比特币挖矿”,这个词汇对于许多人来说既熟悉又陌生,熟悉的是它常常与“暴富”、“高能耗”等关键词联系在一起,陌生的是,我们常常会问:比特币作为一种虚拟货币,它并没有实体,那“挖矿”到底是在“挖”什么呢?矿工们耗费大量电力和计算资源,究竟是从哪里“挖”出了比特币?我们就来揭开这个谜底。

比特币挖矿,“挖”的不是具体的物理地点,也不是传统意义上的矿物,而是一种基于密码学原理的“数学难题”的解,以及记录这些解的“账本”的更新权。 为了更好地理解,我们可以从以下几个方面来拆解:

挖的是“区块”,维护的是“账本”

我们可以把比特币网络想象成一个公开、透明、去中心化的巨大账本,这个账本被称为“区块链”(Blockchain),每一页账本就是一个“区块”,记录了一段时间内比特币的所有交易信息。

矿工的工作,就是不断地去“争夺”编写新账页(即新区块)的权利,他们需要将自己收集到的、尚未确认的交易数据打包成一个候选区块,但这不是随随便便就能打包成功的,这个候选区块必须满足一个极其严格的数学条件——即区块头的哈希值必须小于一个特定的目标值。

挖的是“哈希值”,拼的是“算力”

这个数学条件,具体来说就是寻找一个特定的“随机数”(Nonce),使得将候选区块头的数据通过一种叫做“SHA-256”的密码学哈希算法运算后,得到的结果(哈希值)满足预设的条件(哈希值的前N位必须是0)。

哈希算法有一个特点:输入数据的任何微小变化,都会导致输出哈希值的巨大、不可预测的变化,矿工们没有捷径,只能通过高速、大量的计算,不断地尝试不同的随机数,直到找到那个能让哈希值符合条件的“幸运儿”,这个过程,就是所谓的“挖矿”。

“挖矿”的难度会根据全网总算力的变化自动调整,大约每10分钟,全网矿工就会 collectively 找到一个符合条件的解,第一个找到解的矿工,就有权将这个候选区块添加到区块链上,从而获得记账权。

挖的是“比特币奖励”,更是“共识”

当矿工成功“挖”到一个区块(即解决了一个数学难题,获得了记账权),他会得到两部分的奖励:随机配图