---
# System prepended metadata

title: 未支付的交易輸出 UTXO  簡介
tags: [比特幣, Bitcoin, 腳本, 交易, OP code, 簡介, 未支付的交易輸出, Bitcoin script, Multisig, 比特幣腳本, script, UTXO, scriptPubKey, P2PKH, P2SH, P2PK]

---

# 未支付的交易輸出 UTXO 簡介

### 未支付的交易輸出 UTXO 
未支付的交易輸出，UTXO，unspent transaction output，是未被支付的比特幣狀態，一種紀錄交易的模式。

比特幣的交易在實際運作上，並不是從支付者的帳戶發送至接收者的帳戶或地址中，而是確定支付者是否有足夠的 UTXO 可供使用，新的 UTXO 引用於之前的 UTXO，再經過確認接收者符合條件，接受新的 UTXO 後，舊的 UTXO 則不再被採用。

而 UTXO 的不可分割性，一次也只能支付給一個接收者．而接收者得到的一個新 UTXO，可以引用來自多筆的舊 UTXO．在完成一批 UTXO 輸出過程後，被認定為一筆交易。

UTXO 構成了交易，交易構成了區塊，區塊構成了區塊鏈。


---

### UTXO 特性
* **不可分割性：** 每一筆 UTXO 均不能分割至更小單位，必須直接被引用支付出去，而若 UTXO 大於需支付的金額，將會以找錢的方式返還支付給原帳戶，成為的新 UTXO。
* **離散性：** 每一筆 UTXO 都因其是不可分割的，而有著各自獨立的離散性，並不是被視為帳戶餘額的一部分。
* **可驗證性：** 除了每一個區塊中新生成的 coinbase (幣基) 為新的 UTXO 外，UTXO 每一筆輸出，均引用自前一次的 UTXO，能使得模型易於驗證每筆交易的有效性，不需要驗證整個帳戶的餘額。
* **隱私性：** UTXO 並不直接關聯至特定用戶，只有用戶主動將地址公開時，才會展露地址身份，有助於保護部分隱私。

---

### UTXO 資訊
* **金額 Value：** 表示可以被支付的比特幣餘額。
* **腳本Script：** 每一個 UTXO 均關聯了一個腳本，被稱作 scriptPubKey，定義了接收者必須要滿足某些條件才能使用這筆 UTXO。
* **輸出索引 Output Index：** UTXO 是交易的輸出，而一筆交易可以包含了多個輸出，輸出索引表示了 UTXO 在交易的輸出列表中的位置。
* **交易哈希 Transaction Hash：** 每一個 UTXO 都與創建它的該筆交易有關，交易哈希則是該交易的識別資訊。
* **輸出地址（Output Address）：** UTXO 包含了接收方的比特幣資訊，用於確定誰有權使用這筆 UTXO

---

### UTXO 運作原理
比特幣的交易在實際運作上，並不是支付者將比特幣發送到接收者的帳戶或地址中，而是 UTXO 與 scriptPubKey 之間的交互。

scriptPubKey 包含了操作碼 OP code 和數據資訊，是用以確定接收方是否滿足條件，才得以將比特幣輸出的腳本．用以定義何者有權花費這筆輸出，條件可包含地址、公鑰、腳本等各種樣式規則。

常見 scriptPubKey 樣式如下
* Pay-to-Public-Key-Hash ( P2PKH )
* Pay-to-Public-Key ( P2PK ) Multi-Signature ( MultiSig 多重簽章 ) 
* Data Output ( OP_RETURN 客製化的資料 ) 
* Pay-to-Script-Hash ( P2SH )

