
先明确“挖空”的含义
讨论区块链挖空机制需要注意哪些问题,首先要明确对象。这里将“挖空”理解为挖出不包含普通交易的区块,并补充其涉及的挖矿原理。空块规则取决于具体协议,不能把比特币的规则直接推广到所有区块链。
空块是否有效,取决于共识规则
Bitcoin Developer Guides 的区块链章节说明,比特币区块必须包含 coinbase 交易,但可以不包含其他交易。因此,俗称的空块也有交易记录,并非没有任何内容;它仍须满足工作量证明及其他共识要求。

理解空块时,应分别判断区块是否合规、是否处理普通交易。没有打包普通交易,不足以判定区块无效;满足哈希目标,也不代表可以绕过其他验证规则。

空块出块与交易确认是不同问题
空块可以延伸区块链,但不会让尚未被收录的普通交易在该块中获得确认。如果持续出现空块,普通交易能够被打包的机会就会减少。不过,仅凭一个空块,无法判断是否存在故意排除交易的行为。
分析具体情况,需要结合区块内容和前后区块观察。不能只看区块高度增长,就认为待处理交易已经完成确认;也不能把空块数量直接当作攻击证据。
注意分叉、算力与验证的边界
工作量证明依靠反复尝试寻找符合目标的区块头哈希。空块仍需完成这一过程,不会因为少了普通交易就免除工作量证明要求。
比特币节点在有效的候选链之间依据累计工作量选择链。暂时被接受的区块可能因分叉切换而退出主链,因此,交易被收录与获得更稳定的确认需要区分。多数算力攻击涉及重组历史等风险,也不意味着攻击者可以让诚实节点接受违反共识规则的交易。
常见问题:所有区块链都靠挖矿吗
并非如此。以太坊官方工作量证明说明记载,以太坊在2022年转向权益证明,停止以工作量证明作为其共识机制。其旧有挖矿说明属于历史机制,不能用来解释转型后的出块过程。
阅读空块或挖矿相关介绍时,应先核对链名、共识机制及文档适用阶段。空块是否合法、区块如何被选择、确认具有何种保障,都需要放在对应协议中理解。