区块链/等级 III · 网络/3.2 挖矿/课程 6
陈旧区块与传播
争夺链头的竞赛,以及为何最快的区块胜出
材料访问 mempool.space 或类似的区块浏览器笔记本或电子表格
好奇
- 为什么一个有效区块有时会被丢弃?
- 网络延迟为何会让大型矿场比小型矿场更具优势?
- 当两名矿工在完全相同的高度找到区块时会发生什么?
探索
- 当矿工找到一个有效的区块后,会将其以紧凑格式发送给网络中的其他节点。由于带宽限制和验证延迟,这些数据需要一段时间才能传达到网络中的每一个节点。在这段时间内,那些尚未收到新区块信息的矿工仍会继续在之前的链结构上挖掘,他们并不知道已经出现了另一个竞争分支。
- 如果某个落后的矿工在收到最初的广播之前,在相同高度上找到了自己的有效区块,就会出现临时分叉。两个区块都具备正确的工作量证明,在技术上都是有效的。但只有一个能进入当前的主链。任何矿工找到的下一个区块都会接在其中一个之后,延长该分支;另一个则成为陈旧区块。
- 传播延迟会直接提高这种碰撞的概率。传播越慢,陈旧率越高,本应用于保障账本安全的算力就被浪费在内部竞争上。这种动态有利于网络连接良好的大型矿工,他们传播区块的速度快于规模较小、孤立的运营者,从而形成一种取决于基础设施而不仅是算力的结构性优势。
- 为了减少区块沦为陈旧区块的损失,一些矿工采用“无验证挖矿”。他们只检查收到的区块头的工作量证明,便立即在其之上继续构建,同时下载完整交易数据留待之后验证。这种捷径可能适得其反:2015年7月,一次软分叉激活后不久,采用这种做法的矿工在一个无效区块之上又挖出了五个区块,形成了一个不得不被放弃的六区块分叉。
- 紧凑区块(BIP152)以及FIBRE等专用中继网络,通过发送简短的交易标识符、只传输对等节点缺失的交易,大幅缩短了传播时间。这些优化降低了全网的陈旧率,使大型矿池更难利用延迟优势。不过,区块大小、验证时间与传播速度之间的张力,仍是共识设计中的核心约束。
- Eyal和Sirer在2013年描述的“自私挖矿”表明,拥有可观算力的矿工可以通过策略性地扣留区块而非立即广播来获得优势。虽然由于自然的网络延迟,单区块重组仍偶有发生,但更深的重组十分罕见,因为对大多数参与者而言,持续对抗行为的经济成本超过了可能的收益。
关键事实
- 陈旧区块是指那些有效但并未成为节点活跃链组成部分的区块。
- 更快的区块传播能降低陈旧率,并削弱网络连接良好的大型矿工的优势。
- 无验证挖矿只需检查区块头中的工作量证明,即可立即开始构建新区块。
- 紧凑区块(BIP152)通过发送简短ID、而非对等节点已有的完整交易,缩短了传播时间。
- 自私挖矿让拥有可观算力的矿工能够通过策略性地扣留区块获利。
- 由于延迟,单区块重组偶有发生,而更深的重组则很罕见。
练习 九、六、三、一
9收集在mempool.space或公开记录中尽可能多地找出近期的陈旧区块或单区块重组(目标为9个),记下日期和涉及的矿池。
6归类根据记录显示的信息将这9个分为6组:涉及的矿池、相互竞争的区块之间的时间间隔、区块大小,以及哪条分支胜出。
3提炼将这6组归纳为3种模式,说明此类分叉如何产生和解决。
1凝结用一句话说明:为什么传播速度是工作量证明系统的关键安全参数。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。