关键词:比特币结构、区块头、交易体、UTXO、Bits难度、Merkle根、手续费、Nonce
区块:比特币的时间胶囊
当一笔交易被广播到网络后,它首先进入内存池,等待矿工将其打包进新的区块。每个区块可以视为十分钟内全网活动的一份“时间胶囊”,嵌入了 区块高度、交易笔数、输出总额 等关键数据。
以 区块 #476060 为例,重点字段一览:
- Number Of Transactions:1757
数据量逼近 1 MB 上限,充分体现拥堵时期的区块利用率。 - Output Total:14663.80477993 BTC
全网十分钟内价值转移的总额,常被用于监控市场情绪。 - Transaction Fees:1.20988498 BTC
手续费相当于矿工的小费,比区块补贴更能直观反映链上竞争激烈度。
区块头六大核心字段
矿工不断变更 Nonce 寻找小于难度目标的 哈希值;以下六个字段是 POW(工作量证明)算法的全部输入:
| 字段名 | 作用 | 数值举例 |
|---|---|---|
| Version | 网络软分叉信号 | 0x20000002 |
| Previous Block Hash | 连接链上前一区块 | 0000000000000000016b… |
| Merkle Root | 所有交易摘要树根 | 4a5e1e4baab89f3a32518a… |
| Timestamp | 近似出块时间 | 2017-07-16 10:13:10 |
| Bits | 难度目标的紧凑表达 | 402742748 |
| Nonce | 不断尝试的随机数 | 2859714985 |
👉 想知道当前打包一次区块到底有多赚钱?点击免费查看实时收益
Bits 难度:看似神秘,实则逻辑清晰的“旋钮”
比特币全网每 2016 个块根据出块速度重新校准 挖矿难度;Bits 字段即浓缩了这 256 位目标值。
拆解 Bits:
- 系数(Coefficient)决定底数;
- 指数(Exponent)决定移位。
例:0x1b0404cb = 263235 × 2^(27−3)。
- 换算 Target:
把这个目标值与当前区块哈希作大小比较,任何哈希小于该值即成功出块。 - 难度增长率: 2017 年 7 月本站案例难度 804525194568,如今难度早已突破 50 万亿,ASIC 军备竞赛从未停歇。
Merkle 树:如何 8760 秒验证 1 万次交易
1757 笔交易通过两层两两哈希,最终压缩为 32 字节的 Merkle Root。这种二叉树结构让轻节点可在 链下 拿到任一笔交易的 证明路径,只需 6~7 次哈希即可确认其真实存在于区块中。
交易体:价值传递的最小单元
我们以区块 #476060 的 第1笔交易(TxID:547db737e9…)为例,走进典型 P2PKH(Pay-to-Public-Key-Hash)交易内部:
输入与输出
- 输入(Input)
引用 UTXO:21f6f5cb19eac94f…:62,需出示签名解锁;
SigScript 内包含 签名 + 公钥,由矿工脚本引擎验证。 输出(Output)
- 1B8M… 地址收款
0.0175 BTC - 16vo… 找回
0.0110 BTC
两者模型均为 76a914…88ac,拆开即为OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG。
- 1B8M… 地址收款
费用计算
交易大小 225 字节,费率 ≈ 8.9 sat/vB,在当时属中等,一聪不花也没办法回旋。
UTXO:没有余额概念的系统
比特币摒弃“账户”模型,钱包的“余额”仅是所有可花费的 UTXO 集合。你可以把它想成一堆现金——每张钞票不可分割,但可以选择花掉其中几张后,找零自得新钞票。
- 生命周期:创建 → 未花(UTXO)→ 花费 → 销毁
F2Pool 挖出新区块时,coinbase 交易一次性“印钞”12.5 BTC,矿工 UTXO 速增;当发生后续转账,旧 UTXO 归入历史中,新 UTXO 降临。 查询命令示例(bitcoin-cli)
gettxout <txid> <vout>返回 JSON 中的
confirmations> 0 即表示仍未被花费。
常见问题 FAQ
Q1:为什么比特币一个区块最多 1 MB?
扩容讨论早在 2015 年白热化,最终在 2017 年引入隔离见证(SegWit),把 1 MB 的 见证数据 与 交易数据 分开计算,相当于最大可达 4 MB “折扣区块” 但并不增加计算资源负担。
Q2:Merkle Root 出错会怎样?
任何一笔交易笔误,将导致根哈希变动,新区块立即被全网节点拒绝;矿工白白损失电力,却无法获得奖励,因此篡改概率远低于中奖双色球。
Q3:Nonce 撞了或者用完了怎么办?
32 位 Nonce 有 2³² 次尝试空间,但真实难度的低位远大于 2³²,所以矿工可额外改动 coinbase 数据 里的 extranonce,继续穷举。
Q4:UTXO 集合越来越大,会不会拖慢全节点?
2024 年主网 UTXO 集合已达 7 GB 以上,节点采用 chainstate LevelDB 压缩与缓存,再配合 assumevalid 跳过旧脚本,验证速度可保持毫秒级。
Q5:AsicBoost 合法吗?
如果矿工通过在版本号内嵌 Bit 标志来利用 ASIC 优化,这是协议许可范围;但若通过 manner 掩码 隐藏 ASIC 优势,社区曾质疑但并不违法,只是道德争议而已。
Q6:普通用户如何最快速校验 UTXO?
推荐用 Electrum 或 MempoolViewer 这类 SPV 轻节点,仅同步自己地址 Merkle 分支,既省流量,又能实时查余额。
10 分钟读完一遍,你已从 宏观区块 到 微观交易脚本,再到 UTXO 经济模型,全方位把握了比特币账本的数据骨架。下一次当你在区块浏览器里点击任意 TxID,你将瞬间分辨这到底是 支付咖啡 还是 鲸鱼挪仓。