返回博客

三台电脑打架,最后只有一台能拿到钱

比特币挖矿不是一个人在战斗,是一场全球范围的算力大逃杀。

之前玩单机挖矿的时候,我觉得自己像个孤独的矿工:一台电脑,一个哈希值,一个难度要求,埋头苦干,算出来就算成功。

但朋友说:"那只是教程。真实的比特币网络,是几千台、几万台电脑同时在算。"

他发来一个链接:https://demochain.org/pow/distribution/


一、三台电脑,三个对手

打开页面,我看到了三台电脑:电脑A、电脑B、电脑C。

每台电脑都有自己的"算力"配置——可以从 1x、2x、3x 三档中选择。算力越高,计算速度越快,但能耗也越大。

页面下方还有一个输入框,可以输入"交易数据"——比如"alice->bob:10",表示 alice 给 bob 转 10 个币。

朋友说:"来,给每台电脑分配不同的算力,然后点那个绿色的按钮。"

我把电脑A设为 1x,电脑B设为 2x,电脑C设为 3x——让它们不公平一点,看看会发生什么。

输入了"alice->bob:10",点了"开始竞赛"。


二、比赛开始

三台电脑同时开始工作。

页面上的进度条开始往前走,每台电脑都有一个"当前 Nonce"在疯狂跳动。它们在同时计算同一个哈希值,但用的是不同的随机数。

就像三个人同时在开密码锁,密码是 4 位数,从 0000 开始试。谁能先试到正确的密码,谁就赢了。

几秒钟后——

电脑C 胜出了。

因为它算力是 3x,速度最快,最先算出了满足难度要求的哈希值。页面上跳出来一个绿色的徽章:"🏆 电脑C 胜出",旁边显示 "+50"——这是它挖到这个区块的奖励。

电脑A和电脑B的进度条停住了,显示"挖矿失败"。因为电脑C已经先算出来了,它们再算也没用了。


三、但比赛还没结束

电脑C胜出后,它做的事情不是"把钱揣进兜里",而是"广播"。

它把刚挖到的区块广播给电脑A和电脑B。页面上的"广播区块"步骤亮了,电脑C把自己的账本同步给了另外两台电脑。

然后,电脑A和电脑B开始"同步区块"——它们验证电脑C的区块是否合法(哈希值是否满足难度要求),如果合法,就更新自己的本地账本。

几秒钟后,三台电脑的账本都一致了。页面上显示"6/6 确认"——表示这个区块已经得到了足够的确认,被整个网络接受了。

这就是比特币网络的核心:不是谁算得快谁就能随便改账本,而是谁先算出来谁就广播,其他人验证后同步。


四、算力弱的也有机会

我又试了一次。这次把三台电脑都设为 1x 算力,让它们公平竞争。

点击开始。

三台电脑的进度条走得差不多快,Nonce 数字也在疯狂跳动。几秒钟后——

电脑A 胜出了。

为什么?因为哈希碰撞是随机的。即使算力相同,也有可能一台电脑"运气好",早几毫秒碰到了正确的 Nonce。

这就是比特币网络的神奇之处:即使你算力弱,也有机会挖到区块——只是概率小一点而已。

在真实的比特币网络里,小矿工偶尔也能挖到区块,只是大部分时候被大矿场抢走了。


五、改了数据,账本就乱了

我试着在比赛进行到一半的时候,偷偷改了输入框里的交易数据。

结果——

三台电脑的进度条全停了,显示"挖矿失败"。

因为它们在算的是"旧的数据",我改了之后,它们算出来的哈希值就无效了。

这再次印证了区块链的特点:你不能在比赛进行中改规则,改了就全得重新开始。


六、最长链共识

页面底部有三条"本地账本",分别属于电脑A、电脑B、电脑C。

当电脑C胜出并广播后,三条账本都同步了最新的区块。无论你打开哪一条,它们都是一样的。

这就是"最长链共识":整个网络最终会维持一致的共享账本。

如果有人想篡改历史,他不仅要比所有人算得快,还要让所有人接受他的篡改——这在算力庞大的比特币网络里几乎是不可能的。


写在最后

如果说单机挖矿让我理解了"什么是工作量证明",那么分布式挖矿让我理解了"什么是去中心化竞争"。

比特币网络不是由一个中心控制的,而是由成千上万的节点共同维护的。它们同时监听新交易,竞争打包,先算出来的广播,其他人验证后同步。

没有皇帝,没有裁判,只有规则。

如果你想亲眼看到这场全球范围的算力大逃杀,去 demochain.org/pow/distribution/。

看着三台电脑同时疯狂计算,最终只有一台胜出的那一刻,你会真正明白:

比特币不是技术,是经济学。

它设计了一套规则,让"诚实"成为最理性的选择。篡改的成本太高了,高到不如老老实实挖矿。

👉 去体验分布式算力竞争