比特币生态新方向:解析基于 Ordinals 协议的各类玩法,BRC-20、ORC-20、BRC-721
2023-05-28 19:50
几个月前,Ordinals 协议刚出现时,自己兴奋了很久,从直觉上认为这是一个很具有颠覆性的东西,因此当时整理了关于 Ordinals 协议的基本概念:在短短几个月时间里,Ordinals 协议经历了几波沉寂和爆发,基于 Ordinals 协议逐渐生长出了很多新东西:最早是比特币链的 NFT,其中以太坊蓝筹 NFT 项目方 BAYC 在比特币链上发布了一个 NFT 项目(Twelve)为里程碑,使得更多的人和资本开始关注 Ordinals;然后出现了比特币链的域名项目,包括.sats、.ord、.btc 等,对标以太坊的 ENS(Etherum Name Service);再到后来,对标以太坊的 ERC-20,出现了 BCR-20 代币标准,使得在比特币链上发行代币成为可能,这将市场炒作推向了新的高潮。比特币网络开始出现拥堵,甚至短期内矿工的交易手续费超过了区块奖励。现在,又出现了 BRC-20 的升级版 ORC-20,以及与 ERC-721 类似的 BRC-721。一波波热炒过后,Ordinals 协议并没有昙花一现,而是出现了越来越多的应用和产品,比特币链上逐渐开始出现早期生态。未来还会出现什么,我们无法预知,但是可以明确的是,Ordinals 协议的出现为比特币生态带来了很多可能性,值得我们花时间去了解和参与。那么,如果我们想要理解这些层出不穷的新概念,需要剥茧抽丝,梳理这些概念背后的逻辑,然后才能真正游刃有余地参与其中。这一切的起源开始于 2023 年 1 月,Ordinals 协议的横空出世。我们知道比特币的总量是 2100 万枚,最小单位是 sat(聪),1BTC=1 亿聪。简单说,Ordinals 协议是一个给 sat 编号的系统,给每个 sat 一个序列号,然后在交易中追踪它们,这样就赋予了每个 sat 的独特性。序号按照它们被开采的顺序分配给 sat:第一个区块中的第一个聪的序号为 0,第二个聪的序号为 1,第一个区块的最后一个聪的序号为 4,999,999,999。同时 Ordinals 协议还支持 Inscriptions(铭文),这是一种将任意内容(图片、视频等文件)附加到单个 sat 的协议,可以将它们变成比特币原生的数字艺术品。铭刻是通过将要铭刻的聪发送到交易中来完成的,该交易会在链上显示铭文内容。然后,此内容与那个聪建立联系,将其变成一个不可改变的数字艺术品,可以被追踪、转移、储存、购买、出售。如果想要理解 BRC-20 的运作机制,要先明白比特币的交易机制。比特币的交易都需要指定输入和输出,输入就是付款方要使用的 UTXO,输出就是支付给收款方的 UTXO。简单说,比特币的 UTXO(Unspent Transaction Output,未花费的交易输出)可以类比现实世界中的现金。就像我们手中拥有若干张现金纸币,每张纸币都有一个面额,比特币的 UTXO 也是类似的。每个 UTXO 都有一个确定的金额(比特币数量),并且只能被用来支付一次,一旦被花费,就不能再次使用。举个例子,假设小明手中有两个 UTXO,一个面额是 10 比特币,另一个面额是 8 比特币。如果他要支付 15 个比特币给小红,他必须将这两个 UTXO 作为交易的输入都花费掉。这笔交易的输出是 3 个 UTXO,一个是面额为 15 比特币的 UTXO 给到小红,一个是面额为 2 比特币的 UTXO 作为找零留在自己钱包里,还有一个面额为 1 比特币的 UTXO 作为交易手续费给到矿工,矿工会验证这笔交易并发送到区块链上。这就像在现实世界中,如果我们手中只有一张 10 元和一张 8 元的纸币,需要支付 15 元的时候,我们也必须将这两张纸币都使用掉,而对方会给自己 3 元作为找零。
在比特币交易中,UTXO 的使用是非常重要的。每个交易都需要指定输入和输出,输入就是要使用的 UTXO,输出就是支付给收款方的 UTXO。比特币网络会验证这些交易是否有效,主要是检查每个输入是否合法(即是否已经被花费),以及输出的数量是否与输入数量相等。总的来说,比特币的 UTXO 机制就像现实世界中的现金一样,每个 UTXO 都有确定的数量,只能被使用一次,而且交易必须平衡输入和输出的数量。这种机制保证了比特币交易的安全性和可靠性。基于 Ordinals 协议,我们铭刻过程中可以附加信息,如果附加的是图片和视频,就变成了比特币 NFT,而按照一个统一标准来附加一个账本,则这个聪就变成我们所谓的 BRC-20 代币了。可以说 BRC-20 代币是经过特殊处理的 NFT(JSON 数据),主要记录代币在比特币区块链中执行的操作记录。对于每个操作,如部署,铸造,转帐的过程中,区块链中记录了一种 JSON 文件。这些 JSON 是 BRC20 标准的基础,它们支持可追溯性和验证。BRC-20 主要为比特币网络发行代币提供了 3 个标准,包括 BRC-20 代币的部署 deploy、铸造 Mint、转移 Transfer 等。开发者按照这个标准执行就可完成 BRC 20 代币的建立和发行。
从 BRC-20 的运作机制可以看到,BRC-20 只是将代币的账本放到比特币区块链上,在实际使用过程中,需要钱包自己去查询所有区块信息,汇总统计所有聪的所有铭文,然后才能统计出当前地址代币的余额、有效性等。因此,BRC-20 的记账是去中心化的,但是读账是中心化的。虽然 BRC-20 代币看起来非常原始,似乎没有什么价值,但是 BRC-20 代币为比特币带来了新的使用场景,很多人是因为炒作 BRC-20 代币,才开始使用比特币钱包和比特币网络。只有加密原生场景才能促进比特币的采用,而 Ordinals 协议是比特币被采用的催化剂。由于 BRC-20 标准存在诸多限制,因此市场上又出现了 ORC-20 标准。2、命名空间没有固定限制,可以使用任意大小的名称。命名确实是痛点,尤其是绝大部分 brc20 四字母单词已经被提前铸造的情况下。3、通过 UTXO 模型来确保在交易过程中没有重复消费。4、允许取消交易,使用"op": "cancel",即可取消 nonce 的交易.5、允许已经部署的 BRC-20 币向 ORC-20 转移。只有 BRC-20 的部署者才能操作转移命令。1、复杂,基于比特币生态的 ordinals,简单作为一个优点看待,但是在 BRC-20 将发币问题复杂化的基础上,ORC-20 进一步复杂了3、强制版税,就是把交易市场收版税的形式放到了规则中。总结一下,就是 ORC-20 取消了一些 BRC-20 的限制,并且定义了更多的操作,但是没有解决 BRC-20 的根本性问题,即中心化问题。ORC-20 协议是否能够兴起,目前还是未知的,毕竟 BRC-20 已经形成了热度,具有先发优势。但是毕竟现在还处于早期阶段,依旧存在诸多变数,比如全球第二大交易所欧易在大力支持 BRC-20,而全球最大的交易所币安为了与之竞争,转向选择支持 ORC-20。简单地说,就是比特币手续费太贵了,刻录小图片成本很大,所以我们看到大家现在只能铭刻文本格式了(或者 1-2kb 的图片)。而以太坊上的 NFT,图片或视频数据一般都不直接放在区块链上,而放在链下的存储中,比如 IPFS(一种去中心化存储系统)。这个 BRC-721 协议,就是实现比特币上 NFT 的图片放到 IPFS 的协议。BRC-721 协议依然有三个函数:deploy,mint,transfer。"ipfs": "ipfs://QmbFAC5n9s65Ky96GqCrbRDVEHXxvE8vJShdbNWSD2GPTA"ipfs :这个就是一次性把所有图片全放到 ipfs 上面,具体怎么放,可以看协议的原文档"ipfs": "ipfs://QmbFAC5n9s65Ky96GqCrbRDVEHXxvE8vJShdbNWSD2GPTA"这里需要注意的就是一个 ID 你可能不知道,ID 其实就是部署的那个铭文的铭文 ID,我们习惯也叫做 inscription ID。transfer 函数与 BRC-20 中函数用法是一致的。先说缺点,把图片放到 IPFS 上面不是很极客,我们之前一直提到 Ordinals 的优势是图片永久存储,结果现在放到 IPFS 上面。(但也比以太坊强)目前比特币 NFT 缺乏集合规范、元数据标准,同时,创建和验证都高度依赖中心化平台。BRC721 正是为了解决这些问题的。- 图片铭刻费用大幅度降低,不用受限于只是几 KB 的图片了,想铭刻多大就铭刻多大Ordinals 基础建设的完善,标准化是必不可少的。BRC-721 协议为比特币区块链提供了一个去中心化、安全且可靠的方法来创建、验证和管理序数集合。BRC-721 协议的实际应用场景包括数字艺术品收藏、游戏道具和资产、去中心化身份验证以及票务和优惠券。BRC-721 协议可以在比特币生态系统中实现类似于 ERC-721 对以太坊生态系统的影响。Unisat 是首个支持 BRC-20 代币的插件钱包。Unisat 给 BRC-20 代币部署者 0.2% 交易版税的设计真正引爆了市场。通过上文对 BRC-20 代币机制介绍,我们会发现对索引的解析是整个生态很重要的一环,即需要查询所有区块信息,汇总统计所有聪的所有铭文。Unisat 已经开源了 BRC-20 的索引,接下来还会推出一个开源的公共解析索引,可以跟交易所的索引进行交叉验证。Unisat 钱包创建过程类似于市面上其他生态的去中心化钱包:3、选择地址类型:会创建 4 个类型的地址类型,默认是 native segwit,需要更换为 Taproot 地址6.2 钱包展示
展示该地址下的所有铭文,每一个铭文一定在固定编号的聪中。主要包含三个信息:总余额、可用余额、待转账余额(后面会解释)转账过程较复杂,需要先铸造【可转移的代币铭文】,然后再次发起转账。这和 BRC-20 标准中规定的代币余额计算逻辑有关:2、铸造函数仅向铸造每一张铭文的第一个所有者提供余额3、只有在转移函数的第一次转移时,才会从发送者的余额中扣除,并将其添加到接收者的余额中简单说,类型为 transfer 的铭文只能被统计一次,再次转移时就需要重新铸造。我们在使用 Ordinals 协议时,会遇到很多与比特币区块链特性相关的问题,这里汇总一下。(1)为什么铭文的 UTXO 一般设定为 10000 聪?因为转账的数量过低会被判定为粉尘攻击,不会被广播,所以一般铭文的 UTXO 设定为 10000 聪或 5000 聪。但是 1 万聪是行业共识标准,事实上的最低金额标准是 546 聪。一笔交易的输入一旦低于 546 聪,就不会被矿工打包广播。
可以转移,需要注意 input 只能有一个 UTXO,且这个 UTXO 的数值不能过低。铭文都位于 UTXO 的第一个聪,因此转账 input 只有一个 UTXO 时,可以确保铭文不会发送给矿工。先进先出原则:所谓「先进先出」,意思就是每个聪的编号排序,是按照它在交易输出中的索引决定的。比如下图中的交易输出中(Output),地址 3 被排在矿工地址前面,那么从地址 1 和地址 2 转过来的聪,先由地址 3 继承,然后才是矿工地址。
(3)如果铭文的 UTXO 多次转账后,价值不够怎么办?大多数 BTC 钱包目前并没有 sats 管理,所以在极端情况下有可能会导致 NFT 丢失,请不要轻易使用钱包发送你的 NFT,除非你知道自己在做什么。每次转移到新的地址时,UTXO 中的 sats 数量都会减少,减少到一定程度后再次转移就需要通过多个 UTXO 完成,这时候需要务必小心。(1)两个前置知识:Ordinals 协议的基础原理和比特币的交易机制(2)三个新协议:BRC-20、ORC-20、BRC-721(2)实践与应用:Unisat 钱包和关于铭文的常见问题只有了解了Ordinals 协议的基础原理和比特币的交易机制,才能进一步理解如今各类新玩法的底层逻辑,比如BRC-20、ORC-20、BRC-721 等等。
了解概念也只停留在第一层,之后还要去真正体验产品,因此这里主要对 Unisat 钱包进行分析。
比特币这个系统本身已经相对成熟,如今这些基于 Ordinals 协议的各种新玩法则是一次次新的实验。没有人知道究竟能够走多远,但只要还有新东西出现,只需要看着它们野蛮生长,有意思的事情就会持续发生。
··················END··················会和你聊聊职场和产品经验,也会漫谈生活、电影、读书。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。