JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

挖矿、难度与减半

无论有多少机器加入,比特币是如何让区块大约每十分钟出现一次的;又是如何让挖到区块的奖励大约每四年减半一次的。

一座没有主人的时钟

想象一个本该每十分钟响一次的厨房计时器。麻烦在于:掌勺的人总在变。有时灶台前只有一个人,有时有一万个,而且手快的厨师每年都换上更利的刀。要是这计时器从不调整,一群手快的厨师就会让它每十秒响一次。比特币面对的正是这个问题。它想要新区块永远大约每十分钟出现一次——可争着产出区块的机器数量却剧烈起伏。它的答案,是一个自动旋钮,它会重新调校谜题,让这十分钟的节奏无论来的是谁都能保持住。

产出区块的这场比赛就是挖矿,它靠工作量证明运转:矿工一个数一个数地试,直到某个数让区块的哈希落到目标值之下。把目标值调低,谜题就更难;调高,就更容易。这十分钟的时钟,拧的正是这一个旋钮。

重定难度:自我调校的旋钮

比特币每 2016 个区块核对一次它的时钟——按每个十分钟算,这本该正好花两周。每一批结束后,网络会把这 2016 个区块实际花的时间,和那个两周的理想值作比较,然后按比例重设挖矿难度。如果这一批一周就出完,说明矿工跑得比预期快了一倍,于是谜题的难度翻倍。如果拖到了四周,难度就减半。每个人各自跑同一套算术,得出同一个新目标值——没有委员会,也不用投票。

every 2016 blocks:
  actual_time   = timestamp(last) - timestamp(first)
  expected_time = 2016 * 10 minutes   (= 2 weeks)

  new_target = old_target * (actual_time / expected_time)

  # blocks came too FAST -> actual < expected -> target shrinks -> harder
  # blocks came too SLOW -> actual > expected -> target grows   -> easier
重定难度的规则。每次调整还设有上限,所以单步内难度最多上下变动四倍。

奖励,以及减半

为什么会有人烧着电去抢赢这场比赛?因为赢家有钱拿。找到有效区块的矿工,可以添加一笔特殊的交易,叫做 coinbase,它凭空铸出全新的比特币,付给矿工自己。这笔新铸出的金额就是区块补贴,世上每一枚比特币,最初都是这样进入世界的。

精彩之处在这里。补贴并非固定不变——它每 210000 个区块就减半一次,这个事件叫做减半。按一个区块十分钟算,210000 个区块大约要花四年。它在 2009 年从每个区块 50 枚比特币起步,降到 25,再到 12.5,再到 6.25,就这样一级一级往下走。由于这个时间表是写死的、每次又是按几何比例削减,将来会存在的总量收敛于一个硬性的上限:略低于 2100 万枚,大约在公元 2140 年达到。

halving every 210,000 blocks  (~4 years)

  2009  block subsidy = 50.0  BTC
  2012                = 25.0
  2016                = 12.5
  2020                =  6.25
  2024                =  3.125
  ...                  -> 0, around year 2140

  sum of all subsidies -> ~21,000,000 BTC  (a hard cap)
补贴按固定时间表减半,因此总供应量趋近一个固定上限,不再增长。

从补贴到手续费:安全预算

矿工的全部奖励其实是两部分相加:区块补贴,加上这个区块里装的所有交易的手续费。用户给每笔交易附上一点手续费,去争抢有限的区块空间,胜出的矿工把这些手续费连同新铸出的币一并收入囊中。今天补贴是其中大得多的那一块——但每一次减半都让它缩水,终有一天它会归零。

这两个来源合在一起,构成了网络的安全预算——矿工争抢的总奖金,也就是守护这条链的真实世界努力的总量。这套设计深处押的是一场交接:随着补贴在未来一个世纪里慢慢趋近于零,手续费理应成长为主要奖励,把奖金维持得足够大,让诚实挖矿仍然值得,让改写历史依旧贵得离谱。

这一切的节奏与奖励都靠真实的电力运转,而那正是让比特币「攻击起来很贵」的字面意义上的代价。把时钟和减半讲清楚之后,后面的一篇会打开那 2100 万枚的固定上限本身——是什么让它可信,又为什么没人能悄悄越过它多铸出一枚币。