bitcoin ordinals-比特币序数理论

序数理论

在一般的比特币网络应用中,比特币是同质化代币,每个比特币的价值是相同的。而某些应用,需要区分不同的代币,因此它们会给每个代币一个id。
序数理论即是比特币网络的一个编号方案。
因为比特币网络采用utxo模型,所以每一笔交易中的代币都能追溯到其产出的coinbase交易。
比特币网络中,最小单位是,即sats。1BTC=100,000,000sats,全网BTC总产量21,000,000,所以共有2,100,000,000,000,000,两千一百万亿聪。
因此序数理论用0~2,100,000,000,000,000来编号每个独立的聪。

第一个应用

ordinals.com是一个基于序数理论的NFT协议,该协议
利用taproot脚本把符合万维网标准的内容上传到比特币网络。
每个taproot地址有一个描述符,ordinals协议里规定里描述符的基本结构。

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_1
  OP_PUSH "text/plain;charset=utf-8"
  OP_0
  OP_PUSH "Hello, world!"
OP_ENDIF

因为taproot描述符内容的明文只有在utxo被花费时才会上链,所以一个NFT上链需要2笔交易。

  • 发送代币到铭文对应的taproot地址
  • taproot地址话费utxo发送铭文到接收地址

在该项目中,这个NFT上链的过程称为铭刻(inscribe),而这个NFT称为铭文(inscription)
需要注意的是,ordinals.com只会收录铭刻在每个sats上的第一个铭文。此外,一个铭文被铭刻后,便和铭刻步骤中第二笔交易中输出的utxo的第一个sats强绑定了,铭文的所有权和该sats的所有权保持一致。

衍生

brc20

在ordinals协议的基础上,有人提出了brc20协议,当铭文内容是符合一定规则(brc-20-experiment)的json结构时,就是一个brc20操作。
brc20协议和序数理论没有关系,仅仅是利用了ordinals协议铭文可以是字符串的部分。
brc20规定的json格式如下:
部署

{ 
  "p": "brc-20",
  "op": "deploy",
  "tick": "ordi",
  "max": "21000000",
  "lim": "1000"
}

铸造

{ 
  "p": "brc-20",
  "op": "mint",
  "tick": "ordi",
  "amt": "1000"
}

转账

{ 
  "p": "brc-20",
  "op": "transfer",
  "tick": "ordi",
  "amt": "100"
}

猜你喜欢

转载自blog.csdn.net/chinesesexyman/article/details/130681960
今日推荐