誰能動用一筆比特幣?——使用權的驗證過程
當你持有比特幣時,實際上你持有的是一組能夠「解鎖」某些 UTXO 的私鑰。這些尚未花費的交易輸出(UTXO),會受到一段「鎖頭腳本」(scriptPubKey)的保護。只有當你能提供正確的「解鎖腳本」(scriptSig),例如有效的簽名與對應的公鑰,才能成功花費這筆 UTXO。
scriptPubKey(鎖頭腳本):由 Alice 寫下的條件,也就是「誰能動用這筆 2.5 BTC」。常見的條件是:「提供與這個地址對應的公鑰,並用該公鑰的私鑰簽名交易」。
scriptSig(解鎖腳本):由 Bob 提交的解答,也就是他的公鑰與簽名。
簡單來說,這就像是一道題目(鎖頭腳本),你需要提供正確的答案(解鎖腳本),才能通過驗證。
交易驗證範例:Alice 轉帳給 Bob,Bob 如何使用?
假設 Alice 在交易 Tx2 中轉了 2.5 BTC 給 Bob,這筆比特幣就成為 Bob 所持有的一筆 UTXO。若 Bob 想在 Tx3 中使用這筆錢支付 0.3 BTC 給 Charlie,他就必須在交易中提供以下內容:
- 自己的公鑰
- 使用自己私鑰對 Tx3 的簽名
礦工收到這筆交易後,會根據原本 Alice 的交易(Tx2)中設定的 scriptPubKey
對Tx3進行驗證:
- 公鑰經過哈希後是否對應到指定的地址?
- 簽名是否由該公鑰對應的私鑰簽出?
只要這兩項都通過驗證,這筆交易就會被視為合法,礦工便可將其打包進區塊中。
🔁 如果忘了助記詞、公私鑰如何產生,可以回顧第一篇的介紹(助記詞 → 私鑰 → 公鑰 → 地址)。
腳本語言解析:從鎖到解鎖的執行流程
比特幣使用一種堆疊式的指令語言來驗證交易,以下是常見的驗證腳本流程:
scriptSig: 公鑰、簽章(用私鑰簽的)
scriptPubKey: OP_DUP OP_HASH160 <地址> OP_EQUALVERIFY OP_CHECKSIG
操作順序如下:
OP_DUP
:複製公鑰,保留一份做後續驗證OP_HASH160
:對複製出來的公鑰進行 HASH,產生地址OP_EQUALVERIFY
:將雜湊結果與原本交易中指定的地址比較,若不一致則終止OP_CHECKSIG
:這是驗證簽章的步驟,會檢查 scriptSig 中的簽章是否真的是使用對應私鑰(一個私鑰對應一個公鑰)對這筆交易進行的簽名。
如果這整串腳本運行成功,礦工就會認定這筆交易有效。
最後我們分別以錢包和礦工的視角來看一筆交易是怎麼發生的
錢包視角:發送交易流程
假設 A 要轉 5 BTC 給 B,錢包會執行以下流程:
- 湊出 5 BTC:
- 從 UTXO 池搜尋屬於 A 地址的 UTXO
- 確認這些 UTXO 加總可達到 5 BTC
- 建立交易(Tx):
- 指定 B 為收款人,輸出 5 BTC 給他
- 將剩餘找零金額輸出回 A 自己的地址
- 簽名與廣播:
- 使用 A 的私鑰對這筆交易簽名,形成解鎖腳本(scriptSig)
- 將完成的交易廣播到比特幣網路,流入礦工的 Tx 池
礦工視角:挖礦與交易驗證流程
當礦工收到來自 Tx 池的交易後,流程如下:
- 驗證交易是否合法:
- 對每個輸入的 UTXO,從 UTXO 池中找出對應鎖定腳本(scriptPubKey)
- 結合 scriptSig 驗證其擁有權(執行交易腳本)
- 若交易驗證通過,礦工就可以將其放入新的區塊中。
- 接著進行挖礦:
- 計算符合難度條件的 Nonce 值,完成 Proof-of-Work 並將區塊寫入區塊鏈中。
線上模擬與區塊鏈瀏覽器工具
模擬交易簽名與驗證:
📎 https://defintek.io/public-private-key-demo/transaction
你可以在這個互動網站上:
- 生成公鑰與私鑰
- 對交易簽名並進行驗證
- 模擬整個簽名驗證流程,從而實際理解細節
查看區塊與交易細節:
以區塊 893783 為例:

- 哈希值:區塊雜湊為 000000...6318180,代表它通過了工作量證明的計算門檻
- 時間戳:生成時間為 2025-04-24 23:34:25,這是該區塊被加入鏈上的時間
- 大小:1.33 MB,表示該區塊中交易資料的總大小
- 權重:3.99 MWU
- 健康度:100%,表示該區塊資料完整並被網路共識認可
- 費用範圍:2 - 709 聰/位元組,反映此區塊中最低與最高交易手續費的分布
- 中位數手續費:~2 聰/位元組,代表半數交易手續費低於此值。
- 總手續費:0.032 BTC,為所有交易支付給礦工的費用總額
- 補貼+費用:3.157 BTC,包含挖礦獎勵與手續費總收入
- 礦工:由 ViaBTC 礦池所挖出
點擊任意一個區塊後往下滑,可以檢視所有交易(Tx)細節,幫助你理解交易是如何被打包與確認的。

透過第四第五篇的內容,我們不僅學會了比特幣是如何藉由 UTXO 管理資產;scriptSig 與 scriptPubKey 的交互作用,體現了比特幣世界裡最核心的原則——只有真正擁有私鑰的人,才能使用對應的資產。
📚 本文出處:DeFintek.io
👉 歡迎點擊進入我們的課程平台,觀看更詳細的課程,一步步帶領你進入加密世界: 開始學習比特幣|DefinTek 課程平台