矿池 18
矿工 无
矿机 无
加密货币挖矿基础

区块里有什么:区块头、高度、大小与区块补贴

最后更新:2026年8月15日

区块由一个固定的小区块头和一个包含交易的区块体组成。分清两者,就能明白挖矿实际在哈希什么以及为什么。

两个部分,只有一个会被哈希

区块由区块头和区块体组成。区块体就是交易,根据链的繁忙程度,可能只有几百字节,也可能有好几 MB。区块头是区块的固定摘要,在大多数链上正好是 80 字节。

挖矿只对区块头做哈希,其他一概不管。这是本文最有用的一个事实,因为它解释了一件看似不可能的事:挖矿软件每秒尝试数十亿种变化,如果每次尝试都要重新哈希一个装满交易的区块,是根本做不到的。实际上也不需要。它重新哈希的只是 80 字节。

区块头中的六个字段

区块头包含版本号、上一个区块的哈希、merkle 根、时间戳、难度位和 nonce。每一个都有其存在的理由,其中两个承担了大部分工作。

上一个区块的哈希让它成为一条链。每个区块头都指向前一个区块,所以改写一个旧区块会改变它的哈希,从而破坏下一个区块头,再下一个,一直到最新区块。工作量证明的全部安全论证都浓缩在这一个字段里。

merkle 根是一个汇总了区块体中所有交易的哈希值。改动任何一笔交易,哪怕只改一个字节,merkle 根就会改变,区块头随之改变,之前尝试过的所有哈希都作废。这就是 80 字节能够如实代表任意大小区块的原因。

区块示意图:固定 80 字节的区块头,包含版本号、上一个区块的哈希、merkle 根、时间戳、难度位和 nonce;下方是大小可变的区块体,第一项是 coinbase 交易;并标注了区块高度、区块大小和区块哈希
区块头固定且很小,区块体是其余的一切。高度不存储在两者中的任何一个里,它是一个位置。

难度位以紧凑形式表示哈希必须低于的目标值。时间戳大致是区块生成的时间,允许不太精确。nonce 是挖矿软件可以自由修改的字段,正是它让搜索成为可能。

nonce 会用完,这没关系

nonce 是一个很小的计数器,现代挖矿设备几乎瞬间就能把它能容纳的所有值试完。这听起来像是走进了死胡同,其实不然,因为 nonce 只是最方便修改的东西,而不是唯一能修改的东西。

用完之后,挖矿软件会修改其他输入区块头的内容。时间戳可以变化。coinbase 交易可以略作改动,这会改变 merkle 根,从而得到一个全新的区块头来搜索。在矿池中,这正是 extranonce 的用途:它让矿池给每个挖矿软件一个不同的起点,避免任意两个挖矿软件计算同样的数字。

高度是位置,而不是字段

区块高度是指某个区块之前有多少个区块。创世区块的高度是 0,下一个是 1,依此类推。您在矿池的「区块」页面和任何区块浏览器上,每一条记录旁边看到的就是这个数字。

值得知道的是,高度其实并不存储在区块头中。它是由区块在链中的位置推导出来的。在大多数现代链上,高度也会写入 coinbase 交易,这是后来新增的规则,目的是让不同高度的两个区块永远不会字节完全相同;但一个区块有多高,权威答案仍然是它的位置。

这也是为什么用高度来谈论确认数最自然。一笔被埋在 6 个区块深处的交易,其所在区块的高度比最新区块低 6,之后每多一个区块,改写它的代价就更高一分。

大小就是区块体,也是会被填满的部分

区块大小基本上就是区块体的大小,因为与之相比,区块头小到可以忽略不计。当人们说一条链有区块大小限制时,说的是能容纳多少笔交易,而不是区块头。

满区块和空区块所需的挖矿工作量完全相同。难度决定找到一个区块有多难;大小决定区块承载多少内容。两者毫无关系,把它们混为一谈,是很多关于手续费的错误直觉的来源。

大小真正影响的是手续费市场。当想要进入区块的交易多于能容纳的数量时,出价更高的交易会先被打包,区块中的手续费总额随之上升。这会直接计入区块的奖励。

coinbase 交易与区块补贴

每个区块中的第一笔交易都很特殊。它没有发送方,凭空创造出币,并支付给生成该区块的人。它叫做 coinbase 交易,与同名的交易所毫无关系。

它支付的是区块补贴加上区块中所有其他交易的手续费。区块补贴是新发行的部分,由链的发行计划决定,在大多数币上会随时间递减。手续费是用户为了让交易被打包而附加的费用。两者合起来就是区块奖励。

在矿池中,coinbase 支付给矿池,矿池再把奖励分配给该轮中所有贡献了份额的人。这并不是绕远路:这正是矿池能把一笔不可分割的奖励支付给许多人的方式。

挖矿时为什么要了解这些

一旦弄清了区块的结构,有三件事就变得显而易见,而这三件事经常被问到。

  • 为什么新区块会让您的工作立即失效。上一个区块哈希字段变了,您正在搜索的那个区块头已经不存在了。之后为它提交的任何结果都是过期份额,再快也无济于事。
  • 为什么矿池这么频繁地给您发送新工作。矿池想要打包的每一笔新交易都会改变 merkle 根,而更新的模板包含更多手续费,也就是同样的工作量换来更多奖励。
  • 为什么收益估算中从不出现区块大小。您的收益由难度、区块补贴和手续费决定,而不是由区块体有多少字节决定。

本矿池的「区块」页面显示高度、奖励和找到的时间,这是上述所有内容中有用的部分,浓缩成了一行。区块浏览器会显示其余内容,包括支付该区块奖励的 coinbase 交易。

准备好付诸实践了吗?
在矿池总览中选择一种币,打开它的挖矿教程,即可获得可直接运行的命令。
选择矿池