众所周知,比特币挖矿是矿工们通过算力竞争,不断试错随机数,直到找到合适的随机数,新的区块被挖出。 挖矿是全网矿工的集体行为,所有矿工都在挖矿,那么有没有可能多名矿工同时挖出新的区块呢? 这概率非常小,但还是有可能的。如果出现多名矿工同时挖出新区块的情况,那出块奖励该给谁呢?取舍标准是什么呢?今天我们就来解答这些问题。 矿工挖出区块后,会第一时间将新区块发布出去,新区块经其他矿工验证合法(符合比特币系统的规则)后,就会接受该区块,并在该区块的基础上开始挖下一个区块。 假设有两名矿工A和B同时挖出第N个区块,这时区块链就形成了一个短暂的分叉,并假设A矿工出块的链称A链,B矿工挖出的链称B链。矿工A和B都会将自己挖到的区块广播出去,其他矿工节点可能先收到A矿工发布的新区块,也可能收到B矿工发布的区块,然后,他们将分别在各自接收到的新区块后延伸区块链。 假设后来A链上的矿工先挖出第N+1个区块,这时该区块挖出者会向全网广播第N+1区块的信息,其他矿工节点监测到有新的合法区块被挖出,就会停止继续挖第N+1个区块(无论之前他是在A链上挖还是在B链上挖),会选择在该链上挖下一个(N+2)区块,...