RGB和Ordinals/Omni的区别

简单介绍 RGB和Ordinals/Omni的区别

<!--StartFragment-->

Ordinals

<https://www.chaincatcher.com/article/2092605>

Ordinal(序数)于2023年1月份提出,是为比特币最小单位聪satoshis(sats)编号的系统。

1BTC=1亿sats,原本每单位聪之间都是相同的,即小明持有的1 BTC与小兰持有的1 BTC是相同的。

通过Ordinals可按照一定顺序排列这些sats,并给它们分配一个特定的序数,即Ordinals协议给每个聪sats都分配了唯一的编号。这样就赋予了每个聪的独特性,这个编号标识符将支持用户跟踪区块链上的每个sats。当用户在这个聪sats上附加上特定的信息,比如图片,文字,代码等,就可让每个聪变得独一无二,这也就是所谓的比特币NFT。附加的信息被称为“铭文inscriptions”,在聪sats上附加信息的过程被称为“铭刻inscribe”,即把“铭文”铭刻在聪上。

用户@domodata认为Ordinals协议不仅仅可用来发行NFT,还可以用来发行同质化代币。当附加的信息(铭文)按照一个统一的协议标准(JSON数据格式)来附加,就可变成同质化代币BRC20。简单来说,BRC20可理解为是一种变异的Ordinals NFT,NFT上铭文刻录的是图片,BRC20上标识的铭文都是统一的JSON格式的文本数据(Text)。在BRC20种,铭文亦当作BRC20代币的记账账本,可用来追踪每一次代币的转移。

源协议网站,目前网站比最开始就3个简单的页面完善了许多。

<https://docs.ordinals.com/>

ordi字符串

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

<https://mempool.space/tx/b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735> 部署 ordi的tx。

OP_PUSHBYTES_32 9e2849b90a2353691fccedd467215c88eec89a5d0dcf468e6cf37abed344d746
OP_CHECKSIG                  #验证签名
OP_0
OP_IF
OP_PUSHBYTES_3 6f7264 # 原文为十六进制的 解码后为 ord
OP_PUSHBYTES_1 01
OP_PUSHBYTES_24 746578742f706c61696e3b636861727365743d7574662d38 #text/plain;charset=utf-8
OP_0
OP_PUSHDATA1 7b200a20202270223a20226272632d3230222c0a2020226f70223a20226465706c6f79222c0a2020227469636b223a20226f726469222c0a2020226d6178223a20223231303030303030222c0a2020226c696d223a202231303030220a7d #这个解码后就是上面的内容。
OP_ENDIF

Onmi

Omni协议通过将自定义数据嵌入到比特币交易中来实现功能。这些交易包括特定的元数据,用于解释代币转移、资产发行或其他操作。Omni网络的节点解析这些嵌入在比特币交易中的数据,执行相应的协议逻辑。这

<https://mempool.space/tx/046ecb298907bb2441959f6021f395dd754adcb74367d95fb517caea2862013d> 最近的一个usdt转账内容。

观察其第二个output的opreturn的内容

OP_RETURN
OP_PUSHBYTES_20 6f6d6e69000000000000001f0000000001c9c380

协议标识omni (6f6d6e69)

功能ID00000000,表示这是一个"简单发送"(Simple Send)操作。

资产ID0000001f,表示USDT代币(资产ID 31)。

发送数量0000000001c9c380,表示 0.3 USDT

RGB

RGB 是一种在比特币上发行资产的协议,也可以被视为一种链外智能合约系统。与比特币本身不同,RGB 并不依赖于比特币的全节点共识来验证所有交易状态,而是通过客户端验证的方式,用户自己验证每一步的状态转换。这使得 RGB 的验证成本更低、更高效,同时保护了用户隐私。

RGB 的核心设计基于比特币的 UTXO 模型,每个资产状态都附着在某个 UTXO 上,所有权状态变更时需要消耗该 UTXO。通过使用哈希值嵌入比特币交易,RGB 将状态变化的复杂性转移到链外,极大减少了区块链上的数据存储需求。这种设计使 RGB 既具有良好的扩展性,又能保持经济性和隐私性。

RGB 还通过创新的 "一次性密封" 模型,确保每个状态只能被一次性消耗,进一步增强了安全性和灵活性。

<https://www.btcstudy.org/2023/09/12/the-potential-of-RGB-protocol/>

vs Onmi

RGB的opreturn commitment(op return承诺)是一个hash。是没办法反向解码成信息。用户可以通过btc上的hash来验证RGB链下的内容是不是我这个链下的信息。反过来不行。

Onmi仅仅是一个明文的内容。

对于用户来说只能信任indexer。因为需要从token部署以来所有的信息才能验证这个tx是不是没有被双花。

vs Ordi

RGB绑定的是单个交易内的一个输出。他不会像Ordi一样伴随sats的一生。

对于RGB来说,他只关心output的状态。对于单笔tx内来说,如果是一个opreturn的话看output1这个utxo如果是taproot的话就看这个output本身。

这个utxo存在不存在?是不是被花费了?所蕴含的信息对不对?仅此而已。因为工作量不是很大所以客户端完全可以验证这些内容。因为每个RGBtx都会包含自从创世以来所有btc上面的txid。用户就可以单独请求这些tx信息。然后验证。

而ordi同样需要自己运行全节点来验证这个信息是不是对的。有没有被双花?

\

<!--EndFragment-->

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
熵十达维
熵十达维
去中心化爱好者&社区开发者。21年开始专注区块链领域,专注于比特币和以太坊生态系统。全栈开发者,专注于构建区块链生态基础设施,曾参与RGB生态和BTC L2公链开发。