比特币矿机到底在算什么?3分钟看懂工作量证明
大多数人知道比特币要"挖",但不知道挖的是什么。
比特币矿机每天消耗的电力,相当于阿根廷整个国家的用电量。它们在算什么?在挖什么金矿吗?
答案可能让你意外:它们在算哈希值,而且是在算一个极其简单的数学题。
算什么题?
题目是这样的:给你一个数字(区块高度)、一段文字(交易数据)、一个可以随意改的随机数(Nonce),算出它们的 SHA256 哈希值。
要求:这个哈希值必须以一定数量的 0 开头。
就这么简单。
比如难度是 4,你就得找到一个 Nonce,让算出来的哈希值以 0000 开头。难度是 6,就要以 000000 开头。
矿机唯一能做的,就是不停地试不同的 Nonce,算哈希,看是否符合要求。
找到一个符合条件的 Nonce,就算"挖到"了这个区块。
为什么要算这种题?
因为这道题有三个特点:
第一,算起来很难。 你不能通过数学公式直接算出答案,只能一个个试。难度越高,需要试的次数就越多。
第二,验证起来很简单。 给你一个 Nonce 和对应的哈希值,你一秒钟就能验证它是否符合要求。
第三,答案不可预测。 你不能说"大概在 50000 左右",只能从 1 开始试,试到为止。
这三个特点,让它成为了一个完美的"工作量证明":你花费了计算力,证明了你确实努力工作过。
在比特币网络里,谁先算出符合要求的哈希值,谁就能获得记账权,拿到比特币奖励。
亲自试一试
理论讲完了,实际体验一下?
https://demochain.org/pow/block/ 这个页面模拟了真实的挖矿过程。
你可以:
- 输入区块高度、数据
- 调整难度(0-7)
- 点击「开始挖矿」,看着机器自动寻找符合条件的 Nonce
- 实时看到哈希值的变化、尝试次数、耗时
当你挖到一个有效区块时,页面会变绿,跳出来庆祝动画。那一刻你会真正理解:这就是比特币矿机每天在做的事情。
难度意味着什么?
页面上有个难度滑块,你可以亲身体验一下:
- 难度 4:平均尝试 65,536 次
- 难度 5:平均尝试 1,048,576 次
- 难度 6:平均尝试 16,777,216 次
- 难度 7:平均尝试 268,435,456 次
比特币当前的难度,相当于要求哈希值以大约 70 个 0 开头。这不是普通电脑能在几秒钟内搞定的——需要专用的 ASIC 矿机,而且要几万台一起算。
这就是为什么比特币挖矿越来越难,也越来越耗电。
Nonce 是什么?
Nonce 是 "Number used ONCE" 的缩写,意思是"只用一次的数字"。
它是矿工唯一能改变的东西。区块高度、交易数据都不能改(改了就变成另一个区块了),只能不停地改 Nonce,算哈希,看是否符合难度要求。
就像你在开密码锁,密码是 4 位数。你不能改锁的结构,只能从 0000 开始试,试到 9999。Nonce 就是那个你不断尝试的数字。
页面上你可以看到「当前 Nonce」在疯狂跳动——那就是矿机在不停地试不同的数字。
可视化的哈希值
页面上的哈希值旁边有个像素小方块,每次哈希值变化,它都会跟着变颜色、变形状。
这不是装饰,而是哈希值的"可视化指纹"。相同的哈希值永远生成相同的图案,多改一个字符,图案就彻底变了。
看着这个图案在挖矿过程中不停变化,你能直观地感受到:机器在不停地计算,寻找那个"正确"的答案。
下一步:组装区块链
挖到区块只是第一步。接下来要把它打包进区块链,和其他区块连接起来。
页面底部有个「下一步:去区块链组装区块」的按钮,点过去就能看到区块是如何一环扣一环地连接的。
那一刻你会明白:区块链的魅力,不在于单个区块,而在于这些区块是如何形成一条不可篡改的链的。
总结
比特币挖矿的本质,就是:
- 接收交易数据
- 不停地改 Nonce,算哈希
- 找到符合难度要求的哈希值
- 广播给全网,获得记账权
就这么简单。
如果你想真正理解这个过程,别看书了,去 demochain.org 亲手挖一个区块。
看着机器给自己"挖"出一个区块的那一刻,你会突然懂了。
👉 去挖一个区块