---
# System prepended metadata

title: Bitcoin NFT Ordinals
tags: [Blockchain Research]

---

# Bitcoin NFT Ordinals


### 實作方法
銘文儲存在 Taproot script-path 腳本中，
**利用 OP_FALSE 讓 OP_IF 到 OP_ENDIF 中間區段的 code 永遠不會被執行
就可以將想備註的檔案、文字寫進去永久保存**
其中能做到的容量上限為 4MB （一個區塊的極限大小）

此外，由於 2017 Segwit 升級引入隔離見證的機制，Segwit 把 scriptSig （解鎖簽名腳本、witness）移到交易 Input 外，就是交易和簽名分開了，給了從 scriptSig 拉出來的 witness 75% 的隔離見證打折，表示這個 script 僅需原先正常價格的1/4

Taproot 的升級，讓這些圖片資料得以有足夠空間上傳，也因為 Segwit 讓 witness 的形式有隔離見證的打折，兩者相輔相成陰錯陽差的造成了現在在 Bitcoin 上面存放資料反而有特別優待的感覺

而 Taproot 分兩步驟：
1. **commit**
創建一個 taproot 輸出（該輸出會提交一個包含銘文的 scriptSig 解鎖腳本，此時 script 本身還未上鏈，只是生成了一條 taproot script 路徑），並提交該交易，確保只有擁有正確簽名的人才能在未來的輸入中使用它
2. **reveal**
花費上述交易生成的 UTXO ，由於此時必須將包含銘文的 scriptSig 作為 input 來解鎖上述 UTXO，因此就在鏈上揭示了銘文的內容


```javascript=
銘文範例

OP_FALSE // 由於為 FALSE 故以下 Code 不會被執行
OP_IF // 開頭
  OP_PUSH "ord" // ord 表示這是屬於 Ordinals 協議
  OP_1 // OP_1 後的內容表示這個文件的類型
  OP_PUSH "text/plain;charset=utf-8" // 表示為文本
  OP_0 // OP_0 可能有多段，因為一次 PUSH 不能超過 520 bytes
  OP_PUSH "Hello, world!"
OP_ENDIF // 結尾
```




<br>

### 補充
1. 這些腳本資料不會被儲存節點記錄到 UTXO set，但會被全節點所記錄
（UTXO set 是儲存那些還沒被花費的 UTXO）
2. Taproot 取消了 script size 的上限，可以利用 **tapscript** 擺脫原有的數據儲存限制
3. 原先 OP_RETURN 上限是不得超過 80 bytes，Tapscript 無上限，**只要 transaction 的大小小於 block 的上限 (4 MB)** 就好
4. Ordinals 創始人稱這種銘文為 **Digital Artifact** （數位藝術品）而非 NFT
5. sat 基本運作：[a b] [c] [d e f] → [a b c d] ， e 和 f 的 sat 被礦工收走
6. Ordinals 官方將OP_FALSE、OP_IF、OP_ENDIF 的新運用稱為 **envelope 信封**



<br>

### 補充 — Segwit
Segregated witness (segwit) ，俗稱「隔離見證」，是 2017 年 Bitcoin 的升級，也就是 Taproot 再前一次的升級（四年才一次升級）。

最早他的出現是為了解決 transaction malleability 這個 bug。在計算 transaction size 的算法上，給了從 scriptSig 拉出來的 witness 75%的折扣優惠，也就是說同樣一筆 transaction 如果採用 segwit，可以因為 transaction size 計算上較小，而有著更便宜的手續費（礦工也因為這次升級得以收更多 transaction ）。


<br>

### 補充 — Taproot
Taproot是最近對比特幣區塊鏈進行的升級，於2021年11月啟用。這是一次軟分叉，引入了新的腳本功能，使交易更有效率、隱私與安全。

簡而言之，Taproot 啟用一種新的腳本語言「Schnorr簽名」，該語言允許進行更複雜的多簽名交易和其他高級功能，提升簽名效率。因為要支援 Schnorr signature，所以 Bitcoin 的 script system 勢必要做一些改動 (BIP-342) ，淘汰沒效率的 opcode 也新增一些新的 opcode 的同時，Bitcoin Core 也順便取消了 Bitcoin script size 的上限。


Taproot 的主要好處之一是增強隱私，通過將多個 Output 捆綁成單一輸出進行「支付到合約」，從而使所有交易看起來都是相同的，無論涉及的交易複雜性如何。

總歸來說，Taproot被視為比特幣區塊鏈的一個重要進展，因為它提供了一個基礎，可以實現更複雜和安全的交易，同時保持網絡的核心價值，即效率和隱私。



<br>

### 和以太坊 NFT 的差別
1. Ordinals 完全存在鏈上而且完全不可變，而以太坊通常需使用 IPFS ，鏈下易改
2. Ordinals 沒有單獨額外的 MetaData，故不需要擔心丟失 Data 的風險

![](https://i.imgur.com/BzQXUxN.png)

<br>

### 稀有度
![](https://i.imgur.com/Y5rqJTE.png)
![](https://i.imgur.com/l60QQmI.png)


- common：區塊中的非首個 satoshi
- uncommon：約每隔 10 分鐘，產出區塊中的首個 satoshi
- rare：每隔 2016 區塊，約每兩個禮拜之難度調整後的第一個區塊的第一個satoshi
- epic：每隔 210000 區塊，約每 4 年之產量減半後的第一個區塊的第一個 satoshi
- legendary：每經過 6 次產量減半，約 24 年，難度調整和產量減半會同時發生，每個週期後的第一個區塊的第一個 satoshi
- mythic：創始區塊中的第一個 satoshi
<br>

### 優勢與挑戰
![](https://i.imgur.com/w7HPRAe.png)


<br>

### 值得參考的文章
1. [panewslab，一文看懂什麼是BTC NFT以及未來潛力](https://www.panewslab.com/zh_hk/author/8ehq0ap2.html)
2. [aimultiple，Ultimate Guide to Ordinal Inscriptions/Bitcoin NFTs in 2023](https://research.aimultiple.com/ordinal-inscriptions/)
3. [鑽石手，Ordinals是什么？BTC NFT爆发会带动哪些机会？](https://www.youtube.com/watch?v=YqC4OnXX4zY&t=310s&ab_channel=%E9%92%BB%E7%9F%B3%E6%89%8BDiamondHands)
4. [動區，詳解比特幣隔離見證 Segwit －工作原理與案例分析](https://www.blocktempo.com/segwit-for-dummies-concept-and-case-study/)
5. ⭐ [Dapp Learning，比特币NFT的基本原理和特性——Ordinals](https://www.youtube.com/watch?v=RpoDtNwWSBo&t=2096s&ab_channel=DappLearning) 
6. ⭐ [Ordinal Theory 官網](https://docs.ordinals.com/introduction.html)
7. ⭐ [PureTeaux，Illegitimate bitcoin transactions](https://read.pourteaux.xyz/p/illegitimate-bitcoin-transactions)
8. [知乎，學習筆記 OP_RETURN](https://zhuanlan.zhihu.com/p/53754605)
9. [知乎，比特幣上的 NFT，靠譜嗎？](https://zhuanlan.zhihu.com/p/611373815)
10. [徐粲邦 Medium，Mastering Bitcoin — CH5 Transactions](https://medium.com/@bun919tw/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3-bitcoin-nft-ordinals-3811b0eb9fed)
11. ⭐ [徐粲邦 Medium，深入理解 Bitcoin NFT — Ordinals](https://medium.com/@bun919tw/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3-bitcoin-nft-ordinals-3811b0eb9fed)
12. [登鏈社區，Ordinal NFT 實現原理](https://learnblockchain.cn/article/5376)
13. [hiro，What Are Bitcoin Ordinals?](https://www.hiro.so/blog/what-are-bitcoin-ordinals)











###### tags: `Blockchain Research`