什么是 Ordinals / BRC20
本篇包含比特币 UTXO 机制、Ordinals、BRC20 以及一些常见问题的解答
比特币 UTXO 机制
比特币采用了一个类似于现金的交易模型(Cash System),其交易是以 UTXO 为单位进行转账的。
UTXO 的英文全称是 Unspent Transaction Output,意思是未花费的交易输出。这是一个技术术语,简单来说是指执行交易后未使用的比特币(BTC)数量,且每个 UTXO 都是以比特币最小单位 "聪"(satoshis)计价。
当一个地址新增一笔 BTC 时就会生成一个 UTXO,而当一个地址花费一笔 BTC 且未花完时,一个新的 UTXO 来替代原有的 UTXO,计算某个用户有多少比特币,就需要对其地址的所有 UTXO 求和,得到结果就是该用户的持币数量。
举个例子:假设从交易所提 1 BTC 到新钱包地址里,这时地址里会生成一个余额为 1 BTC 的 UTXO,这时,另一个地址又向该地址转入 1 BTC,此时,钱包地址里就有两个余额为 1 BTC 的 UTXO,总持币余额是 2 BTC。
用纸币来做比喻,相当于此时钱包地址里有2张面额为 1 BTC 的纸币,这时想要购买价值 0.5 BTC 的东西。
当支付 0.5 BTC 时,其中一张纸币就会被花费出去,假设当前的比特币网络交易手续费为 0.1 BTC,这时原先面值 1 BTC 的纸币会拆分成为:一张面额为 0.5 BTC 的纸币,一张面额为 0.1 BTC 的纸币,和一张面额为 0.4 BTC 的纸币,0.5 BTC 的纸币会发送给卖家,0.1 BTC 的纸币给矿工,0.4 BTC 的纸币作为 "零钱 "返还给钱包。
此时,钱包里包含一张 0.4 BTC 和一张 1 BTC 的 UTXO,总余额为 1.4 BTC。因此,一个钱包地址会拥有多个不同面额的 UTXO。
但如果钱包地址里有且只有一个 UTXO,这时想同时进行多笔交易,则需要将这个 UTXO 进行拆分。简单理解就是,将一张面额 1 BTC 的纸币换成多张小面额的纸币。为什么需要拆分呢?
简单举个例子,假如 A 有 1 张价值 1000 美元的 UTXO,B 有 10 张价值 100 美元的 UTXO,两个人的钱包余额都是 1000 美元。
如果 A 和 B 同时铸造一个价值 100 美元的 NFT,在提交铸造后,需要等待链上确认,在链上完全确认之前,A 钱包虽然显示余额有 900 美元但却无法继续消费,因为他的唯一 UTXO 正在被使用。反之,B 仍然可以使用其余的 9 张 UTXO 继续消费。
当然,有拆分就有合并,如果你有许多小额 UTXO,也可以将它们合并成大额 UTXO。
Ordinals 和 BRC20 介绍
比特币总量 2100 万枚,1 枚又可细分为 1 亿聪(satoshi 即 sat,比特币最小单位),因此总计有 2100 万亿聪。
Ordinal 协议是比特币开发者 Casey Rodarmor 于 2023 年 1 月 21 日推出的,用来给每个 UTXO 里(包含了若干个聪)的每一个聪分配一个唯一的序列号。
通过 Ordinals 协议,给每个聪写入信息,比如文字、图片、音频和视频等信息,就生成了铭文,即铭文是通过使用 Ordinals 协议将内容写入每个聪创建的。值得注意的是,目前每个铭文默认包含 546 聪,即 0.00000546 BTC。
BRC20 协议的创始人 Domo 认为 Ordinals 协议不仅仅可用来发行 NFT,还可以用来发行同质化代币。当铭文按照一个统一的协议标准来铸造,就可生成同质化代币,这种在比特币区块链上发行代币的方式就被称为 BRC20,类似以太坊上的 ERC20 同质化代币协议。
BRC20 规定了比特币上发行代币的名称、发行量、转账等功能,通过 BRC20 标准,每个人都可以像在以太坊网络上那样发行代币。BRC20 的代币部署者可以自行确定代币的总量和名称,并完全遵循公平铸造,先到先得的公平发行原则。而 Ordi 就是 BRC20 协议的创始人 Domo 部署的第一个 BRC20 代币。
BRC20 与传统的公链代币的区别:
BTC 原生性
BRC20 所有代币均基于比特币网络上的 Ordinals 协议进行存储和传输,是目前去中心化和安全性最好的同质化代币协议之一,也是第一个实现规模化应用的比特币生态协议。
Fair Launch(公平发行),社区主导
BRC20 所有代币均按照 Fair Launch 方式进行公平铭刻,总量有限,先到先得。用户只需要支付足够的比特币网络费用就可以获得对应数量的代币。
这种公平发行的模式也是吸引大量用户前来 BRC20 的关键因素。公平发行的代币的市值和赋能基本由社区成员提供,也就是常说的社区共识。反观其他公链大部分代币都是 IDO 或者由项目方中心化进行分发,项目方为主导,用户和社区只能持币跟随。
BRC20 代币生态构成:
无主(Meme)代币
由于任何人都能按照 BRC20 的文本规则部署代币,且任何人都能公平铭刻,所以,BRC20 的绝对大部分代币都是无主货币或者叫 Meme 币。很多用户被 BRC20 名字或者文化吸引从而构建了强社区文化的共识,Ordi,Sats,Piin 都是属于无主货币。
基建应用类代币
当然也有一些开发者围绕 BRC20 进行相关的生态应用建设,例如Unisat/DotSwap(dswp)推出 BRC20 的 Swap 功能,Mutibit(mubi)推出了 EVM/Solana 和 BRC20 之间的跨链桥,BRC20roup(roup)推出了基于 BRC20 的二层网络等等。
常见问题解答
1)明明自己钱包里面还有足够的 BTC 余额,为什么交易的时候会提示余额不足?
铭文的载体是 UTXO,而每个铭文又包含 546 聪,因此每个 UTXO 里面不仅包含了一定数量的比特币,现在还可能包含某种铭文,类似于一张具有特殊价值的支票。
例如,假设你持有一张面值为 100 美元的支票(即 UTXO),在普通情况下,你只需将支票签名转让即可。但如果这张支票附加了周杰伦的亲笔签名(相当于铭文),它的价值可能飙升至 1000 美元。如果你再不小心按 100 美元花掉,显然会很亏。
为防止这种情况,多数主流钱包如 OKX Web3 钱包已经实施了保护机制,将带有铭文的 UTXO 进行锁定,避免用户不小心把这些被赋予特殊价值的 UTXO 给花费掉。
因此,就会出现明明钱包里显示有足够的 BTC 余额,但在进行交易时可能因为部分 UTXO 被锁定而提示余额不足的情况。
如果钱包里有许多无用或者废弃的铭文,可以通过 OKX Web3 钱包解除UTXO 占用。但在解除前,务必确认这些 UTXO 中的铭文是否为无价值或者无效的资产。否则这部分 UTXO 一旦被花费,对应的 NFT 资产或 BRC20 代币会面临丢失且无法找回的风险。
2)BRC20 在交易或者转账时为什么要进行 2 笔交易?
因为 BRC20 牵扯到自定义数额转账,所以 BRC20 的卖出过程是需要先铭刻一个包含指定代币数量的转账铭文,链上确认之后,再把这个转账铭文给转移出去,因此需要两笔交易。
相当于在转账之前需要先开张支票,然后再发给别人。
3)已经将全部代币铭刻成了转移铭文,怎么拆分里面代币数量?
方法一:转账给另一个地址,就可以重新拆分。
方法二:去交易市场挂单,然后在取消挂单,就可以重新拆分了。
4)BRC20 的铭刻和交易一直显示在确认中是怎么回事儿?
铭刻和交易 BRC-20 ,需要 BTC 网络进行区块确认,如果 BTC 链上交易频繁,相应的交易最终确认时间也会越长。
5)铭刻转移代币时,铭刻的代币数量不同,交易手续费也会不同吗?
不会,比特币网络中的交易手续费主要受网络拥堵情况的影响。当链上交易频繁导致网络拥堵时,手续费通常会较高;反之,则可能较低。因此,铭刻的代币数量不会影响交易手续费的大小。如果交易不急于被确认,可以选择设置较低的手续费,不过相应的交易最终确认时间会比较长。
Last updated