# bitcoin ordinals的常识性错误

By [savage](https://paragraph.com/@savage-2) · 2023-03-25

---

不论是否赞同，Ordinals生态系统正在逐渐完善。一旦时机成熟，Ordinals定将迸发出巨大的潜力。但与此同时，Ordinals相关的资料和文档还十分不完善。在不少介绍Ordinals的文章中，甚至在主流的Ordinals项目的文档里也存在一些常识性错误。本文将列出一些常见的错误，并对其作出详细的解释。

### 只有PT2R(bc1p)地址才能接收inscriptions

正确描述：任何正常的btc地址都可以接收inscription。

一些提供inscribe服务的产品要求用户使用pt2r地址接收inscription。同样很多科普文章里也提醒用户使用pt2r地址，否则将无法接收inscription。 例如下列文章质疑TwelveFold项目方不做地址审查，导致14个使用非pt2r地址的成功的竞标者无法接收inscription。实际上这些inscription已经正常转入了竞标者提供的“非兼容”地址。

[https://www.theblockbeats.info/news/35385](https://www.theblockbeats.info/news/35385)

为什么会有人认为必须使用pt2r地址接收inscription？因为Inscription利用了taproot的某些相关功能来“mint” NFT。Inscription的content数据是作为taproot spend scripts写入交易的witness。因此，很多人错误地的认为只有使用taproot地址来接受inscription。 但是一个完整的“mint”需要发送两个交易上链：

1.  Commit: 创建一个taproot输出。
    
2.  Reveal: 花费上述交易生成的UTXO，由于此时必须将包含mint内容的脚本作为输入来解锁上述UTXO，因此就在链上揭示了mint的内容。
    

Reveal交易的输出地址就是最终接收inscription的地址，对其格式没有特别限制。Commit的输出和reveal输入必须是taproot地址。在官方的实现代码中，每次会生成一个临时的taproot地址来完成commit & reveal 交易。因此，用户并不需要准备PT2R地址来保存inscription。但为了避免在日常转账中误将inscription转出，一般需要使用特定的地址来专门收集和保存inscription。

### Inscription不可篡改

正确描述：Inscription可以修改。

很多介绍Ordinals 的文章都将inscription不可篡改和永久保存视为最基本的特性。实际上不可篡改并不属于sat inscribe共识。目前官方提供的inscribe代码实现会检查该sat是否曾经被Inscribe过。如果该sat已经拥有inscription将拒绝inscribe操作。其他版本的实现可能会允许在拥有inscription的sat上重新inscribe。就像BTC矿工可以自定义消息打包规则一样，是否允许re-inscribe并不会破坏Ordinals的inscribe共识。

### Inscription的content size不能大于4MB

正确描述：Inscription的content size不能大于400KB。

虽然BTC 理论上的最大block size为 4MB，但是bitcoin core 会将大于 400,000 weight units（400KB）的交易标记为非标准交易并拒绝转发。当然，如果有人直接联系矿工将这个交易打包在一个区块中，那么其他节点就必须接受这个区块中的交易，因为它符合共识规则。不过在实际操作中，大于400KB的inscription将很难正常mint。

### 转让Inscription只要将对应的sat转出即可

正确描述：需要转出包含该sat的大约几千个sat。

过小的交易金额将会被判定为粉尘交易，最终会被网络拒绝。Ordinals的官方实现默认保留10000个sat用于保存inscription，并将Inscription数据关联到第一个sat。

---

*Originally published on [savage](https://paragraph.com/@savage-2/bitcoin-ordinals)*
