关键词:比特币脚本、UTXO 模型、智能合约雏形、交易结构、P2PKH、P2SH、多重签名、可编程支付
UTXO:比特币交易的“积木”
在比特币世界里,并没有传统意义上的“账户余额”。所有价值都以未花费的交易输出(UTXO)的形式散落在链上。
- 每一笔新交易的输入,都是上一笔交易的输出。
- 一笔交易的输出又可以被下一笔交易当作输入继续使用,形成所有权链条。
类比:Think of UTXOs like individual cash bills. When you pay $30 with a $50 note, the remaining $20 comes back as change—a brand-new, smaller UTXO that you can spend in the future.
Coinbase 交易 是唯一的例外,它作为挖矿奖励没有输入,却直接创造了新的 UTXO。
比特币脚本:如何让交易“可编程”
传统支付只需要“张三-200、李四+200”。比特币则用脚本(Bitcoin Script)赋予交易条件判断能力,由此奠定智能合约雏形。
- 解锁脚本(Signature Script):放在交易输入,告诉网络“我能花这笔钱”。
- 锁定脚本(PubKey Script):放在交易输出,表示“符合某条件的人才能花这笔钱”。
节点验证时,会先按顺序执行这两个脚本,结果为真即视为有效交易。
P2PKH:最常见的脚本组合
付款到公钥哈希(P2PKH)是最常见的脚本形态:
锁定脚本:OP_DUP OP_HASH160 <PubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
解锁脚本:<Sig> <PubKey>当节点把解锁脚本与锁定脚本拼接并执行完毕,最后的栈顶为 TRUE,交易放行。
交易构造全景:从输入到输出
交易结构
| 组件 | 作用说明 |
|---|---|
version | 交易版本号 |
input[] | 引用既往 UTXO 并携带解锁脚本 |
output[] | 创建新 UTXO 并绑定锁定脚本 |
locktime | 指定交易最早被打包进区块的时间或区块高度 |
若 locktime < 500,000,代表区块高度;若 ≥ 500,000,000,则代表 Unix 时间戳。如何计算矿工费
矿工费并不以单独字段存在,而是通过输入总额 - 输出总额得出:
矿工费 = Σ(inputs) - Σ(outputs)只有当输入略大于输出,多出部分才可被矿工领取,这也鼓励节点快速确认交易。
输入与输出的细节
- 输入结构
previous_txid→ 要引用的 UTXOprevious_index→ 该 UTXO 在交易中的索引scriptSig→ 解锁脚本sequence→ 用于 RBF(费用替换)功能 - 输出结构
value→ 输出金额,单位:聪(sat)scriptPubKey→ 锁定脚本
以上两段拼装即成一笔完整交易,再进行 双重 SHA256 就能得到该交易的唯一哈希,随即被编入默克尔树,进入候选区块。
智能合约雏形:脚本带来的无限场景
尽管比特币脚本不可循环、非图灵完备,但条件组合空间极大,足以支撑大量日常与商业案例。
场景 1:多重签名(Multisig)
2-of-3 设计:
三个股东各持一把钥匙,支取资金时只需任意两签即可完成。
👉 解锁更多多重签名场景与实战示例
多重签名也可用于担保交易:
买卖双方先锁定资金到 2-of-3 地址(双方+第三方仲裁)。若交易顺利,买卖双方联签释放;若产生纠纷,仲裁人可依照证明进行签名,保障公平。
场景 2:筹资保证合同
众筹灯塔时,资金先锁定在一个条件脚本内。
- 若筹满款项,全员付款完成。
- 若未筹满,系统自动退回,无人承担风险。
这便实现了“所有人或无人”机制(All-or-Nothing)。
场景 3:基于预言机的条件支付
假设:孙子在“年满 18 岁或爷爷去世”任一条件达成后可继承资产。
通过把两个条件写入锁定脚本,并让一个可信预言机节点提供签名,链上即可完成自动继承,杜绝人工干预。
常见疑问解答 FAQ
Q1:为什么比特币没有“余额”概念?
比特币的转账基础是 UTXO 模型,每次消费都是挑选可用的 UTXO 作为输入;而传统账户模型只在数据库里维护一个累加值。Q2:如何查看某地址的 UTXO?
通过区块浏览器输入地址即可,工具会列出所有尚未被后续交易引用的 output,并可一键看总余额。Q3:比特币脚本会发生无限循环吗?
不会。脚本内部禁用 OP_LOOP 等指令,且每一步都有数量上限,确保执行必可终止。Q4:P2SH 与 P2PKH 有什么区别?
P2PKH 直接把收款人公开地址写到锁定脚本;P2SH 则把脚本的哈希值锁进去,真正脚本在花费时才披露,提高了隐私与可扩展性。Q5:如果我的交易迟迟未被确认?
可使用 费用替换 RBF 或 Child-Pays-For-Parent CPFP 两种机制提高矿工费,缩短等待时间。Q6:比特币脚本未来会更强大吗?
当下 BIP(比特币改进提案)正讨论Taproot、MAST 等新方案,未来将在保障简洁的同时引入更复杂的条件,实现近似图灵完备的合约逻辑。
小结与展望
从 UTXO 到脚本,再到多重签名与预言机条件,比特币展示了可编程货币的无限可能。虽然仍受限于非图灵完备,却因简洁与安全被广泛应用;而以太坊则在其肩膀上继续拓展,形成更完善的智能合约生态。
👉 深入探索公链与 DeFi 的下一站机遇
下次我们将拆解 Taproot 与 MAST,看比特币脚本如何在 2025 年后继续升级,敬请期待。