比特币矿工在何种场景下会放弃正在挖掘的区块?
问题解答
核心结论
其余矿工在验证区块1有效的前提下,会立刻停止当前基于区块0的挖矿任务,马上切换到区块1之上继续挖矿,不会额外等待。
背后的逻辑
- 收益驱动是核心原因:PoW类公链的共识规则明确,只有累计工作量最大的链(通常就是最长链)上的区块产出的出块奖励、交易手续费才会被全网承认。如果矿工明知已经有有效的新区块1生成,还继续在区块0上挖矿,就算后续自己挖出了新区块,这条分叉链的长度永远比已经存在的包含区块1的链短,最终会被全网丢弃,投入的算力完全没有收益,对矿工来说是纯粹的损失。
- 没有等待的必要:题目已经明确所有区块都是有效区块,矿工收到区块1后只需要完成常规的有效性校验(比如区块哈希符合当前难度要求、所有交易符合共识规则、父块确实是全网公认的区块0),整个校验过程耗时极短,完成后就可以直接切换挖矿目标,不需要额外等待其他确认。
补充:只有当同时出现多个高度相同的有效区块(也就是临时分叉场景)时,矿工才会暂时选择在自己先收到的那个区块上挖矿,等下一个新区块挖出后再确认最终最长链。但本题中只有唯一的有效区块1被全网同步,不存在这个场景。
内容的提问来源于stack exchange,提问作者HelloGR
相关产品推荐
相关产品推荐

