比特币交易原理详解:输入、输出与锁定机制

·

当你打开区块浏览器,看到一长串十六进制字符,或许会疑惑:比特币交易到底怎么运作?
其实,它只是一段“锁—解锁—再锁”的二进制数据:
上一笔输出(UTXO)被私钥签名后变成输入,再生成新的输出等待下一次解锁。
搞懂这个循环,你就掌握了区块链价值的流动内核。

交易生命周期:三步看懂比特币如何“搬家”

  1. 选择输入
    把旧的、尚未花掉的 UTXO 作为输入,提交有效签名证明你拥有它。
  2. 定义输出
    指定收款方地址与金额,同时用 ScriptPubKey 把比特币锁进去。
  3. 广播与确认
    矿工验证签名→打包→上链,新 UTXO 诞生,旧 UTXO 永久失效。

每个区块因此形成 UTXO 链条,不断延伸。

👉 想亲眼看比特币在链上实时奔跑?点击体验闪电查询


交易字节结构拆解:从十六进制到人类可读

所有比特币交易都遵循同一套字段顺序,只要知道每段数据大小就能逐字节切割。下面以 v2 字节序并排示例 概括:

👉 探索更多真实案例,直接查看链上原生十六进制

Signature、私钥与公钥:密码学让“所有权”可被验证但无法伪造


度量交易尺寸:Bytes、Weight、vBytes 你别再晕

名称意义实际用途
Bytes原始字节数纯存储占用
Weight非见证区×4 + 见证区×1区块容量上限 4M weight
vBytesWeight ÷ 4钱包展示、费用比较的通用单位

省手续费秘诀
SegWit 的见证区字节被折扣 75%,因此相同金额交易,vBytes 更低。


手续费:找零与矿工小费的艺术

输入总和 600 sats
输出1 300 sats + 输出2 200 sats
手续费 = 600 - 300 - 200 = 100

FAQ:如果输错金额导致巨额矿工费怎么办?
——无法撤回。再三检查输出或借助离线签名工具可大幅降低风险。


混合场景示例:一笔交易同时花传统地址与隔离见证地址

每个输入仍保持独立,钱包在构造时复杂性更高,用户无感知。


FAQ:新手常见疑问一次说清

Q1:转账时“找零地址”为什么要另外生成一个新地址?
A:保护隐私。若始终以同一地址收款,链上分析可瞬间定位你的全部余额。

Q2:比特币地址区分大小写吗?
A:区分。Base58Check 编码故意去掉了易混淆字符,但依旧要完整复制,手写极不推荐。

Q3:TXID 与 wTXID 有何不同?
A:TXID 忽略 SegWit 见证数据;wTXID 将见证数据一并哈希,用于计算 Coinbase 的 witness 承诺。

Q4:Locktime 成立后还能撤销交易吗?
A:能,只要交易尚未被打包,并且 Sequence 允许 Replace-by-Fee,你就可以发布一笔更高费率的新交易。

Q5:为何某些交易看到大量输入导致手续费飙升?
A:小额碎片过多,合并 UTXO 会放大 vBytes;建议定期在手续费低谷手动整理。

Q6:如何简单验证交易已上链?
A:拿到 TXID 即可在任意区块浏览器查询;确认数 ≥ 6 通常视为不可逆。


小结:交易 = “解锁旧锁,挂新锁”的数学化可信流程

不论是早期简单 P2PKH,还是最新的 Taproot P2TR,本质流程均一致:
上一笔输出签名→生成当前输入→创造下一笔输出。
只需牢记 UTXO 只能花一次、签名必须符合锁定脚本条件 这两条铁律,你就拥有了阅读整条区块链的能力。现在,动手去解析你的第一笔链上交易吧!