什么是工作量证明(PoW)
比特币网络中, 比特币挖矿 的首要任务是解决“看谁有权打包交易”的问题。网络中的全节点都要通过 工作量证明(PoW,Proof-of-Work) 来竞争记账权。
PoW 要求节点找到一个随机数(Nonce),和区块头一起计算 SHA-256 哈希,使得结果小于区块链当前设定的 挖矿难度 target。
只有同时满足
- 区块里所有交易合法;
- 区块哈希 ≤ target;
的区块才会被全网接受。
挖矿方程式
用公式表述挖矿任务极为简单:
SHA256(Block Header) ≤ target至于 Block Header 包含哪些字段,后文会陆续展开。例如:
- 前一个区块哈希
- Merkle 根
- 时间戳
- 难度目标
Bits - Nonce
挖矿难度动态调整
为了保持 出块时间 恒定在 2,016 个区块内平均 10 分钟,系统会每 2,016 个区块重新计算一次 挖矿难度。
调参公式:
target = target × (actual_time / expected_time) - actual_time ∈ [0.5 周, 8 周]
- expected_time = 2,016 × 10 min ≈ 2 周
难度越高,target 越小,哈希结果出现的前面 “0” 就越多,计算量陡增。
难度在区块头中的存储:nBits 压缩格式
为了避免在 80 字节的区块头里浪费空间,比特币把 256 位 target 压缩成 4 字节的 nBits:
- 把
target写成 256 进制。 - 取有效数字的前 3 字节。
- 第 1 字节存长度 (
exponent),后 3 字节存有效数字 (mantissa)。
示例
创世区块 nBits 为 0x1d00ffff;反向解压得到 target = 0x00FFFF << 0x08×(0x1d - 3) 。
算力(Hashrate)与单位
衡量矿工的计算能力用 算力 作单位,常见量级:
- 1 H/s:每秒 1 次哈希
- 1 KH/s:1,000 次
- 1 MH/s:百万次
- 1 GH/s:十亿次
- 1 TH/s:万亿次
- 1 PH/s:千万亿次
- 1 EH/s:百亿亿次
2024 年比特币全网算力已突破 600 EH/s——这相当于海量专业 ASIC 同时运转的大规模运算集群。
挖矿收益与 矿池机制
独立矿工挑战 比特币挖矿难度 如同大海捞针;收益波动极高。于是诞生了 矿池,把无数小算力聚合成“集团军”:
- 矿池按分片(share)统计贡献;
- 每提交一个有效 share 即得小奖励;
- 一旦有矿工找到安息 block,所获区块奖励按 share 比例分配。
为防止矿工私自广播区块,矿池把 coinbase (铸币交易)的 接收地址 强制设为矿池自己的地址,任何违约广播皆被经济激励抵消。
coinbase 结构一览:
- 交易哈希:全 0
- 输出索引:0xFF
- coinbase data:矿工可写入留言,用于调整 Merkle 根,从而扩大计算空间
- 序列号:0xffffffff
交易的区块确认
交易被打包成块 ≠ 立即不可逆。
为了安全,业内一般认为需要 6 次确认——即该交易所在区块之后又出现 5 个新区块。每次新区块追加都是一次额外的 PoW 工作量证明,理论上篡改成本随确认数成倍上升。
区块广播:Inv–getdata 两步握手
节点之间不会直接传输完整区块,以防止带宽浪费。
- 发出方
Inv:仅发送“区块哈希列表”; - 接收方发现新区块后
getdata:请求完整数据; - 发出方再发送完整区块;整体同步完成。
这样既节约网络,又能快速在网络中扩散最新账本快照。
常见疑问快问快答
Q1:家用电脑还能挖比特币吗?
基本不能。当前 全网算力 超过了 600 EH/s,家用 CPU/GPU 的算力仅在 MH/s–GH/s 量级,十年内也挖不到一个区块。
Q2:比特币挖矿难度多久调一次?
每 2,016 个区块(≈两周)根据上一轮出块时间自动调节一次,调整幅度被限制在 ±4 倍以内。
Q3:Nonce 只有 32 位,不够用怎么办?
一旦 Nonce 被穷尽,矿工可修改 coinbase data 字段的任何字节,从而改变 Merkle 根,获得新的计算空间,完全无需担心上限。
Q4:矿池的收益是碎片化还是平均化?
是平均化。你提交的 share 即时记账,退出矿池即可按规则结算,不用等待整个区块被挖出。
Q5:为什么一定要 6 个确认?
经过 6 次 PoW 叠加,既保证了安全,也考虑了网络延迟和分叉概率;大部分交易所默认 6 确认后才入账,但商品支付可视风险降到 1–3 确认。
Q6:恶意矿池能否拒绝我的 share 侵吞奖励?
理论上可行,但信誉损失巨大。选择大品牌矿池或关注链上透明结算记录即可降低风险。
结语
从 比特币区块 诞生那一刻起,PoW 与 挖矿难度 就成了维护去中心化信任的基石。理解每笔转账背后掀起的算力风暴,才算真正读懂了比特币的价值锚点。