Ordinals 协议最初由 Casey 在 2022 年提出, 是一种可以给聪编号的方案。
比特币的最小单位是聪, 一个比特币等于 聪。矿工在挖出区块, 获得新的比特币奖励时, 每个聪都可以被赋予一个编号。这个编号被称为聪的序数。由于比特币是基于 UTXO
模型, 每个 UTXO
中都包含一定编号范围内的聪。在给聪绑定数据, 例如文本、序列化的图片等, 通过追踪聪的转移可以确定这些数据的所有权。
编号聪
区块补贴是凭空产生比特币的唯一方式。在一个新区块产生时, 聪编号就被确定了。
从创世区块(第0个区块)开始, 区块补贴是 50 BTC
, 在 Coinbase
交易中被输出到的 UTXO
中, 这些聪的编号范围在 内。当第1个区块挖出时, 聪的编号范围在 内。 依次类推, 每个新区块产生时, 或者新的比特币被挖出时, 对应聪的编号就被确定了。
聪的编号表示有几种方法:
-
整数表示: 从 0 开始, 每产出新的聪, 编号加 1
-
百分比表示: 已挖出的聪占总供应的百分比
-
十进制表示:
<height>.<offset>
height
: 区块高度offset
: 区块内聪偏移量
-
度数表示:
<cycle>°<epoch>’<period>″<offset>‴
cycle
: 减半区块和难度调整区块重合称为一个周期, 第一次重合大约在2032年发生, 正好是比特币的第6次减半。epoch
: 减半周期内的区块偏移, 每 210000 区块减半。 例如区块高度是 840003, 处于第 4 个减半区块(840000区块)后, 则cycle=0, epoch=3
period
: 难度调整周期内的区块偏移, 每 2016 区块进行难度调整。例如区块高度是 840003, 处于第 417 个难度调整周期内, 偏移区块为 , 则period=1344
offset
: 区块内聪偏移量
例如: 第 840050
个区块的第 99
个聪 聪浏览器
- 整数表示:
840050
区块补贴的聪的范围在 , 第99
个聪的编号为1968765625000099
- 十进制表示:
840050.99
- 度数表示: 处于第 4 个减半区块(840000区块)后, 故
cycle = 0
; 减半周期内的偏移区块等于 50, 故period = 50
; 经历了 个难度调整周期, 在第 417 个难度调整周期内的偏移区块等于 , 故period = 1394
; 区块内的聪的偏移量是99
, 故offset = 99
。最后度数表示为0°50′1394″99‴
聪的稀有度
- 普通
common
- 任何不是区块中的第 0 个聪的聪 - 不常见
uncommon
- 每个区块的第 0 个聪, 例如: 869254区块的第0个聪:838656.0
- 稀有
rare
- 每个难度调整时期的第 0 个聪, 例如: 第 423 次难度调整时的第 0 个聪:0°12768′0″0‴
, 度数表示法中的period
和offset
必为 0 - 史诗
epic
- 每个减半时期的第 0 个聪, 例如: 第 4 次减半时的第 0 个聪:0°0′1344″0‴
, 度数表示法中epoch
和offset
必为 0 - 传奇
legendary
- 每个周期的第 0 个聪, 每 6 次减半为一个周期, 下一个周期在 2032 年。目前只有创世区块的第 0 个聪是传奇聪:0°0′0″0‴
, 度数表示法中epoch
、period
、offset
必为 0 - 神话
mythic
- 创世区块的第 0 个聪, 只能是0°0′0″0‴
追踪聪
聪包含在 UTXO
中, 初次编号是在区块的 Coinbase
交易输出中。例如创世区块的 Coinbase
交易
交易输出的 UTXO
只有一个
该 UTXO
包含的聪编号范围在 。
假设花费该 UTXO
时, 输出了两个 UTXO
聪在交易中的转移遵循先进先出的原则, 可以确定交易输出中的聪的编号范围:
- 输出 0 的聪编号范围在
- 输出 1 的聪编号范围在
铭刻
聪的铭刻是指给聪所在的 UTXO
绑定数据, 例如文本、序列化的图片等。铭刻的数据可以通过追踪聪的转移来确定所有权。
铭刻数据的方式有很多, 例如: