深入解析比特币脚本:可编程货币的底层逻辑与智能合约雏形

·

关键词:比特币脚本、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)赋予交易条件判断能力,由此奠定智能合约雏形。

节点验证时,会先按顺序执行这两个脚本,结果为真即视为有效交易。

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)

只有当输入略大于输出,多出部分才可被矿工领取,这也鼓励节点快速确认交易。

输入与输出的细节

以上两段拼装即成一笔完整交易,再进行 双重 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:如果我的交易迟迟未被确认?
可使用 费用替换 RBFChild-Pays-For-Parent CPFP 两种机制提高矿工费,缩短等待时间。

Q6:比特币脚本未来会更强大吗?
当下 BIP(比特币改进提案)正讨论TaprootMAST 等新方案,未来将在保障简洁的同时引入更复杂的条件,实现近似图灵完备的合约逻辑。


小结与展望

从 UTXO 到脚本,再到多重签名与预言机条件,比特币展示了可编程货币的无限可能。虽然仍受限于非图灵完备,却因简洁与安全被广泛应用;而以太坊则在其肩膀上继续拓展,形成更完善的智能合约生态
👉 深入探索公链与 DeFi 的下一站机遇

下次我们将拆解 Taproot 与 MAST,看比特币脚本如何在 2025 年后继续升级,敬请期待。