比特币 2024-01-26 09:07:48
【#区块链# #全面解析 BTC Ordinal 协议生态#】
来源:LXDAO
本文由 LXDAO Member Howe 编写,通过时间线的形式来让大家捋清楚 BTC 资产发行方案的来龙去脉,在阅读之前可以先看一下 BTC 历史发展线和 BTC 资产发行方案发展时间线图,配合阅读效果更佳。
BTC 历史发展线
BTC 资产发行方案发展时间线
同时本文参考了较多文章,作者在参考和调研的时候发现个别文章可能对于一些协议/项目的时间有错误,所以本文的所有时间线作者都附有相关材料,如有错误,请向作者指出,谢谢。
现有的很多文章都是从 Ordinals 协议说起,但在 Ordinals 的官方文档中,第一个提及的是 Ordinal Numbers 理论,从这也可推断出 Casey 应该也是从中获得一些启发从而创造出了 Ordinals 协议。
众所周知,在 Bitcoin 世界中最小的单位是聪 (sat),而 Ordinal Numbers 理论可以简单地理解为是人为地给这些 sat 进行编号。从 BIP 提案中的动机部分我们可以总结为该理论想要为 Bitcoin 提供一个可作为稳定标识符的方式来防止所有权转移或密钥轮换,且不需要对 Bitcoin 网络进行任何更改。
当然,这个理论也存在着一些反对的意见,如会降低用户的隐私性、增加 UTXO 集的大小、粉尘攻击等,具体内容可参见 BIP 提案。
「2」Ordinals 协议
Ordinals 协议 由 Casey 提出并发布,他在其中提出了如下的想法:
”我们能否按照一定顺序排列这些「聪」,给它们分配一个介于 0 和 2,100,000,000,000,000 之间的序数,然后,把它们连接到其他信息:图片、文字、视频甚至一串代码。从而每个聪都变得独一无二,不可替代。这就相当于让比特币拥有了原生的、创造 NFT 的能力。”
Ordinals 协议在 2022 年年底就已部署,第一个主网上的铭文是在 2022.12.14 UTC 铭刻的(https://ordinalswallet.com/inscription/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0),在这期间协议一直都在更新迭代但未进行官宣,目前能从 Casey 的推特中找到的第一条官宣推文如下,所以 Ordinals 协议既可以认为是在 12 月提出,也可以是在 1 月提出。(这里也要感谢 shep 哥提供的线索)
协议特点
1. sat 的编号以及稀有度的划分
人类是天生的收藏家,既然 Ordinal Numbers 是人为地给 sat 进行编号,那为何不来给这些 sat 来个高低之分,故有了稀有度之间的区分。目前稀有度共分为 6 种:
这个稀有度就类似于我们在现实生活中玩纸钞所说的”豹子钞“、”连号钞“等等,本质上都是纸币,其实际价值就是该纸币的面值,但因为人赋予了其特殊的含义,故具有了更高的收藏价值,也就有了溢价,即我们常说的”共识产生价值“。
Ordinals 协议在为每个 sat 赋予特定规则序号并在交易中进行追踪的同时,还允许任何人可以通过 Ordinals 协议附加额外的数据如图片(Image)、文本(Text)、视频(Video)、音频(Audio)等等。在当时早期玩家们更多是在上面创建 NFT,创始人 Casey 对它的最初定位,也是想让人们在 Bitcoin 这条最古老、共识最强的链上,存储一些永恒不变的东西。所以在一段时间里,很多人会把 Ordinals 和「比特币 NFT」划上等号。如今我们在 Unisat Wallet 中仍然可以看到它们的身影。
2. 交易先进先出
为了确保带有序号的 sat 在交易过程中不会出现顺序混乱,所以采取了交易先进先出的方式。这里引用王一石老师的文章示例(https://yishi.io/a-beginner-guide-to-the-ordinals-protocol/)来解释先进先出这个特点:
下图中,左侧有两笔 Input,地址 1 和地址 2 共有 5 聪,在这笔交易中,4 聪被发送到了一个 3oPz 开头的地址,另外还剩 1 聪作为矿工费付给矿工。
Source: https://yishi.io/a-beginner-guide-to-the-ordinals-protocol/
假设上述交易中,我们偷偷地利用 Ord 协议给每个聪安排了一个身份(序号),那么交易完成后,地址 1 和地址 2 的 4 个有编号的聪 Ord A->D 就跑到了地址 3 那里,最后一个聪则给了矿工。
所谓「先进先出」,意思就是每个聪的编号排序,是按照它在交易输出中的索引决定的。比如下图中的交易输出中(Output),地址 3 被排在矿工地址前面,那么从地址 1 和地址 2 转过来的聪,先由地址 3 继承,然后才是矿工地址。
Source: https://yishi.io/a-beginner-guide-to-the-ordinals-protocol/
对于 Bitcoin 比较了解的朋友们都知道,Bitcoin 自出生是作为一种点对点的电子货币系统而存在的,其使用的编程语言是非图灵完备的脚本语言,因此想要实现一些复杂功能几乎不可能,而在 17 年和 21 年 BTC 的两次重大更新使得我们可以在 BTC 上实现一些包含复杂逻辑的功能。
Source: https://twitter.com/blockpunk2077/status/1719321676989771801
基于上述的发展前提下,Ordinals 协议通过将其铭文内容写入到 Taproot 脚本中并通过 UTXO 来达到查看和转移的效果。由于 Taproot 脚本花费只能从现有的 Taproot Outputs 中进行,所以采用提交/揭示两阶段 (commit/reveal) 来实现铭刻。首先在提交交易中我们需要创建一个包含铭文内容的脚本的 Taproot Output,其次在揭示交易中,将前面创建的提交交易花费掉,从而在链上揭示该铭文的内容,在这个过程中我们还需要对铭文的内容进行一系列序列化:
Source:https://docs.ordinals.com/inscriptions.html
那么这里用大白话来解释的话,就相当于你发起了一笔微信转账,在转账的过程中,我们需要备注(Taproot Output)中写明你创建的铭文的内容,然后再把这笔转账发送出去**(花费掉提交交易),那么在发送完成之后我们就可以在聊天框中让对方看到你在备注中写明的内容(揭示交易)**。如果这笔转账没有写备注或者交易取消,则这个铭文的内容并不会上链。
在 Ordinals 协议出来之后,早期玩家都在玩 NFT,而匿名开发者 domo 则在 2023.3.8 发布了一个实验性标准 — 基于 Ordinals 协议改进的 BRC-20 协议并正式部署了第一个 BRC-20 $ordi,该协议使得任何人都可以在 Bitcoin 网络中发行代币,类似于 Ethereum 上的 ERC-20 代币的玩法。
https://twitter.com/domodata/status/1633658974686855168
注意:
1. domo 最早关于 BRC-20 的推文是 2023.3.9,但从 $meme 和 $ordi 的部署时间来看,应该是 2023.3.8 就已推出。
2. $meme 是第一个部署的 BRC-20,而 $ordi 是第一个正式发布的 BRC-20,可通过查看它们的部署时间推断出来。
协议原理
BRC-20 协议通过制定一系列标准来实现在 Ordinal 理论的基础上可以部署、铸造、转移 BRC-20 token。该协议的格式标准源于 Sats Name 项目(第一个基于 Ordinals 协议的 DID 项目)的格式:
Source:https://gamma.app/docs/Copy-of-Ordinals-and-Bitcoin-NFT-8xnob1mzvgup38w?mode=present#card-qm5vgu6uussxft9
同样,这里用大白话来解释的话,与 Ordinals 协议一样相当于你发起了一笔微信转账,只不过备注的内容有所不同。
BRC-20 协议的这种方式虽然实现了在 Bitcoin 链上可以自由发行同质化 token,但因为 Bitcoin 没有账户模型且 BRC-20 的内容是放在 Segwit 的 Taproot 脚本中导致我们无法直接在链上计算出每个账户的 BRC-20 余额。所以目前采取的方式为在链下构建一个索引服务器来实现 BRC-20 的代币信息获取、余额计算、交易转账等,但这种方式会存在中心化的风险。
Souce: https://twitter.com/blockpunk2077/status/1725513817982136617
首先,可以先理解 BTC 一层协议的三大部分:协议规定了在比特币上写入数据的规则,索引器提供了查询与解析这些数据的能力,而账本记录了代币余额,处理了转账。
对于 BRC-20来说,索引服务器首先需要识别每一次的 BRC-20 部署,从而读取代币信息,这部分被称为“索引”。
同时,由于 BRC-20 的余额都被刻入了脚本中,BTC 网络本身无法识别,因此 BRC-20BRC-20 的索引服务器必须在本地构建一个记录 BRC-20 余额的账本。每次发生转账时,交易是否能进行(有足够多的币),都需要检查本地账本,并进行更新。
所以 BRC-20 在交易时需要发送两笔交易:
第一笔交易在本地帐本中读取最新账本数据并计算余额
第二笔交易再进行转账。
Ordinals 协议本质上是为 NFT 设计,基于其改进的 BRC-20 在转账复杂度上,是递归增长的。BRC-20 索引器还承担了账本的工作,这个账本完全脱离比特币存在于链下。索引器必须准确记录每一次余额变化,才能保证账本的完整性。
因此随着时间堆积,索引器账本是会堆积的,节点的压力会越来越大。如果索引器没有持续激励,将难以持续。如果索引器账本不再提供服务,那么 BRC-20 将彻底无法使用。
Source: https://twitter.com/trac_btc/status/1722648122269012428
$TRAC 是由 Benny 在 2023.5.3 启动并于 2023.5.22 正式部署上线的一个 BRC-20 Token。
Trac core 是比特币铭文的预言机和去中心化索引器,解决铭文生态数据索引、检索、喂价等问题。
例如,索引器方面,虽然铭文数据存储在比特币链上,但这只是相关铭文的信息,而数据更新和查账环节需要依赖第三方中心化的索引器,安全性始终会被诟病 (例 11 月末市场对 Binance 的 ordi 索引记账错误),所以 Trac 能够更大程度的让铭文生态继承比特币的安全,收集、组织和排序比特币上的所有数据,未来计划引入数百个索引器节点。
同时随着节点的增加,Trac Core 也整合了预言机的作用,从外部来源获取必要的可靠数据以输入区块链,是后续搭建铭文原生 DeFi 等上层协议的基础,且 Trac 预言机的 API 是免费可以调用的。
因此,Trac core 兼具去中心化索引器和比特币预言机的生态卡位可以说走在了大部分铭文项目的前面。
Tap Protocol 由 $TRAC 团队在 2023.8.7 发布的一个基于 Ordinals 的改进协议。我们可以将其看为是升级版的镜像 BRC-20 协议,是对 BRC-20 进行兼容和升级的协议,它具有以下 4 点特性:
具有独特代币标准的 OrdFi 协议
兼容 BRC-20 代币,便于市场集成,且突破了 BRC-20 的名称长度限制,BRC-20 代币长度固定为 4 位,而 Tap 的代币长度为 3 或者 5-32 位(不能是 4 位)
支持批量转账、质押资产、代币 swap 等功能。提高交易效率而不依赖 L2 链
首个支持诅咒铭文的协议
使用前面部署的 $TRAC 作为其协议的治理代币(不太能算是特点,但放在这进行说明)
目前 Tap Protocol 中官方发行了 $TAP 和 $-TAP 这两个 token,其中 $TAP 由 BennyTheDev 在 2023.8.6 被铸造但并未流通;$-TAP 则是开放给了社区 mint,总量 21,000,000 枚(也就是 21,000 张),根据 Shep 的考证,$-TAP 比 $TAP 更早部署 30 分钟,是协议中真正的第一个原生代币。
Pipe 协议是由 $TRAC 的作者 Benny 提出,该协议是 Benny 针对 Runes 协议进行了改进。Pipe 协议可以说是弯道抢跑了 Runes 协议,因为 Runes 协议由 Ordinals 协议创始人 Casey 提出,但其主要精力在 Ordinals 协议身上,所以 Runes 协议的开发进展一直比较慢,而 Benny 在学习完 Runes 协议的思想后便在短短一个月左右推出了 Pipe 协议
到这我们可以看到 Benny 在不到半年的时间里连着推出了 3 个项目,而这 3 个项目之间也是层层相扣,极致套娃,让我们通过下图来捋一捋它们之间的关系。
一般来讲,项目的治理代币都是选择其协议的原生代币来充当的,而 Benny 通过这种治理代币的方式来达到三个项目可以相互促进和制约,算是极其少见的。目前对于这些治理代币的具体功能官方还未公布,所以在接下来的发展中我们可以看看这会不会产生出一些不一样的精彩碰撞。
Atomicals 协议的创始人在二月份的时候尝试在 Ordinals 协议上去开发一个 DID 项目,但在开发的过程中他发现 Ordinals 协议的局限性导致他想要的一些功能无法实现或是有些别扭,便于 2023.5.29 在推特上发布了第一条关于 Atomicals 协议的想法,最后经过几个月的开发之后于 2023.9.17 上线了协议。
https://twitter.com/atomicalsxyz/status/1663169464802725889
最初 Atomicals 协议的推出并未在 Bitcoin 生态中激起太多的水花,因为当时由于 Ordinals 协议和 BRC-20 协议的推出,不同链上涌现出了一大批基于它们的改进协议,但当我们通过查看 Atomicals 协议的文档时,我们会发现它是另外一个完全不同的协议。
DMT 理论 (Digital Matter Theory) 指的是数字物质理论,指数字信息不仅仅是随机数和字母,实际上它也可以被视为自己的“物质”,例如木材或金属。DMT 在区块链数据中可以是交易、字节或任何其他模式的区块链数据,而这些模式可以变成有价值的数字项目或资产。
这里也引用一下 Jingle 博士的内容,方便大家更好地理解:
有些物理学家声称信息是一种新的物质形式,最终可能战胜地球上的一切成为主宰(也很有争议)。按照目前的增长趋势,大约 350 年内,地球上使用的数字信息量可能比物质原子还要多,这也凸显了数字信息的指数级增长和重要性。
物理学家这一想法鼓励很多人将他转化成可执行的协议,从比特币区块链中解析出有价值的信息用来创作“非任意代币"。利用数字物质理论可能会彻底改变数字价值的创造,使其更加非任意性和有意义。通过在数字物质理论的背景下利用数据,可以创建新的机制来识别和导出数据中的新价值序列,从而为新形式的代币开辟了可能性。
譬如有人甚至就把比特币就比做 DMT 的一种应用,比特币也是一种非任意代币,有自己的规范比如 2100 万枚,10 分钟出一个区块等等。通过比特币网络上的数字信息交换,能够进行价值的转移和储存。虽然比特币只存在于数字世界中,但其价值和影响力可以在现实世界中产生重大影响,就像传统的物理货币一样。
然而,DMT 并非没有争议。一些批评者认为数字信息不能与物质和能量等基本物理实体相提并论,因为数字信息本身并不能直接改变现实世界。不过,DMT 的倡导者则认为,虽然数字信息无法直接改变现实世界。但是,通过人类的行动和决策,数字信息可以间接地改变世界,比如加密货币的应用。
专有 API 导致的各种问题:
服务锁定、高交互成本、相同的链上数据会有不同的表现形式、开发者之间的竞争
不可靠的索引器:
资产安全问题、频繁改动、Ordinals 的正负数
缺乏顶层设计:
难以组合协议并开发出专有设施
链上元数据的局限性:
示例:集合必须手动上传到 Github 仓库中,并且它们必须在数十个市场上手动更新,对于链上响应没有达成共识
错误无法修复或修复成本高昂
Ordinals 协议的数据结构非常依赖于单个文件的使用,这意味着不同市场存在链外约定和专有索引
缺少控制:
如果无法访问强大的高性能去中心化索引器以及更多服务/索引器锁定,那么数据可移植性将会成为一个问题
缺乏收益:
依赖这些特定的服务和市场及其索引器、API 等专有服务会导致利润减少
前三点是针对开发者的问题,后三点是针对创作者的问题
Atomicals 协议是一种简单而灵活的协议,用于为比特币等未花费的交易输出 (UTXO) 区块链铸造、转移和更新数字对象(传统上称为 NFT)。
1. 数字对象 — “atom” NFTs
Atomical(或称为“原子”)是一种新型的 NFT,可以在比特币上铸造、转移和更新。主要区别是不需要使用中心化服务或可信的第三方索引器。它不需要对比特币进行任何更改就可运行,也不需要侧链或任何 L2。是时候永远收回对我们数字生活的控制权了。
Source:https://twitter.com/atomicalsxyz/status/1702867266008719582
2.BitWork — 微工作量证明 PoW
Atomicals 协议最有趣的改进在于,把 CPU 计算环节加入了代币的铸造过程中,这个环节被称为BitWork。铸造者需穷举计算出匹配特定前缀字符的 hash 值后才可以铸造。
PoW 可以使得代币铸造变得相对公平,既有能源和时间的价值注入,又有了随机的运气成分存在。
不同于传统的 PoW 算法计算难度大,Bitwork 通过改变前缀匹配的方式来实现细粒度地调整挖矿难度,它可以在前缀后添加 1 到 15 之间的数字,如:“7777.1” 或 “7777.15” 或介于两者之间的任何数字,该数字表示该字符允许的变化范围。
其工作原理是 “.” 后面的数字称为半通配符,用于匹配从该数字开始的任何第 5 个字符。以 “7777.10” 为例:前 4 个 txid 字符(十六进制)必须为 “7777”,而第 5 个字符可以是数字 10 (十六进制)及以上的数字。
所以 5 位数字可以为 a、b、c、d、e 或 f。这使得整个系统不至于每次难度增加时只有 16 倍可以选择,而是可以选择 2 倍到 16 倍之间的范围。
同时 BitWork 也带来了一些新奇的用例:
这样我们可以根据电力等能源消耗来对内容进行排名
当你有一个非常酷的参考或前缀时,可以通过共识来组织一个相关社区
在铸造过程中加入随机的运气成分
围绕虚荣的 TXIDs 和 REFs 来组织社区
基于昂贵信号理论的内容排名
节流和限制 token 的铸造 — 垃圾邮件过滤器
3.Container NFTs — NFT 标准
容器(Container)是一种用于表示 NFT 和元数据的集合标准。其可以用于 Atomicals、Ordinals、Bitmaps 等任何协议的内容的增加/修改/删除,还可以选择**永久“密封”**即把内容锁定到一个容器中然后把可以打开容器的”钥匙”给销毁掉,从而达到保持密封时的状态且无法修改的目的。
容器名称服务:
容器名称以主题标签 # 符号开头,且每个名称都是独一无二不可重复的,在铸造时采取先到先得的方式
名称的长度在 3-64 个字符范围之间,且使用了 Bitwork 来减慢容器名称的注册速度
容器名称示例:#bitcoin-funks,#gemini-warriors,……
4.ARC20— 染色币
Atomicals 协议以比特币的最小单位 sat 作为基本“原子”,每一个 sat 的 UTXO 用来代表这个 Token 本身即 ARC20 的余额就是 sat 的数量,1 token = 1 sat。
ARC20 是一种染色币模型,注册信息是记录在交易脚本中。通过将信息与 UTXO 绑定在一起可以提高 token 的可编程性和去中心化程度,同时交易的安全性由 BTC 主网来保证,在追踪交易、计算余额等方面,不需要任何的链下系统,来计算 ARC20 代币的余额,因为代币余额与 UTXO 中的 sat 数量保持一致。这是与 BRC-20 协议最大的区别。
Source: https://twitter.com/blockpunk2077/status/1725513817982136617
在部署 ARC20 时,代币名称、总量、数量限制、难度设置、开始区块、图像等等信息。
用户在铸造 ARC20 时,将代币的名称写入 UTXO 的脚本中,数量直接由 UTXO 中 sats 的数量决定,1 sat = 1 token。
转账 ARC20,用户无需再向 BTC 存入任何数据,仅需将持续持有代币的 UXTO 作为交易输入,输出给其他地址。
对于 ARC20 来说,我们只需要一个索引,来帮助我们读取代币注册信息,同时识别 mint 交易,来确认验证哪些 UTXO 是 ARC20。
这带来的好处是:
极大地降低了索引服务器的成本,几乎任何人都能自己制作索引服务器,系统去中心化程度很高
转账完全依赖 BTC 网络,不会重复创造垃圾交易,ARC20 转账本身安全性由 BTC 保障
ARC20 原子性和 BTC 的原子性保持一致,适合实现很多原生应用
在部署 ARC20 时,代币名称、总量、数量限制、难度设置、开始区块、图像等等信息。
用户在铸造 ARC20 时,将代币的名称写入 UTXO 的脚本中,数量直接由 UTXO 中 sats 的数量决定,1 sat = 1 token。
转账 ARC20,用户无需再向 BTC 存入任何数据,仅需将持续持有代币的 UXTO 作为交易输入,输出给其他地址。
当然,染色币的设计也带来了一些劣势,因为没有在数据中写入余额,而是绑定 sat,因此 ARC20 余额的最小拆分精度为 1。
这也使得,在 BTC 主网自身为了防止粉尘攻击而设定了最少 546 sat 的交易限制下,用户目前无法进行细粒度交易。不过 Atomicals 协议目前已经给出了具体拆分方案,并在积极开发中。
这里用一张图来展示 BRC-20 和 ARC20 最本质的不同:
5.Realm Name System (RNS) — 领域域名系统
RNS 号称是 DNS 域名系统在真正对手,旨在成为 DNS 和其他区块链域名系统的全球替代品。
Realm Name 是人类可读的标识符,可用于关联网络地址和资源信息。领域名称以加号 + 开头,并且至少有一个字母字符,例如 +alice 和 +agent007 ,它们都是有效名称(顶级 — 领域域名系统 (RNS) 中的领域或 TLR)。
领域名称是使用原子数字对象格式直接在比特币区块链上自行拥有和自行管理的,这基本上意味着没有中间人或中心化注册商。
通过在任何领域 (Realm) 下发行子领域 (Subrealm) 来管理和代币化社区,具体规则如下:
举个通俗的例子:
除此之外,Subrealm 还可以用于社交媒体组织、身份验证、忠诚度奖励等等。
首先我们注册了一个领域 +ATOM
当我们想要在这个领域下组建一个关于 Punk NFT 的社区时,我们就可以基于 +ATOM 领域创建一个子领域 +ATOM.PUNK
在之后我们想在 Punk 社区里组建一个 DAO,那么就可以再创建一个子领域 +ATOM.PUNK.DAO
DAO 中每个人都分配一个 DID,则可以创建一个子域名 +ATOM.PUNK.DAO.JINGLE
任何一个领域或子领域都可以发布子领域
所有子领域都可以继承相同的特点并基于子领域发布其子领域
所有人都是他们拥有的领域的注册者,不存在中心化机构
通过上方的原子理论,我们可以知道 Atomicals 协议的主要特点包括:
使用聪作为基本单位代表代币
允许在比特币上创建、传输和更新数字对象
提供去中心化且符合比特币文化的代币化方法
利用工作量证明(POW)增加铸造过程的公平性和去中心化
旨在扩展比特币的功能,支持更广泛的应用
了解 Atomicals 协议差异的最佳方法是将其与其他流行的 NFT 协议进行比较:
Bitmap.land 是比特币生态中首个元宇宙项目,它基于序数理论(Ordinals theory)和位图理论(Bitmap theory)。
位图理论(Bitmap theory)由推特用户 @blockamoto 在 2023.6.5 日提出。
这一理论将比特币区块中的每笔交易输入映射成地块(Parcel),形成一个街区或区域(District)。不同交易输入的大小差异导致映射出的地块大小也不同。
https://twitter.com/blockamoto/status/1665704582863810560
Bitmap.land 的买家受到 Decentraland 和 The Sandbox 的影响,采用了在地图上划分土地、绘制图案的方式,类似于这两个平台上的买地逻辑。用户通过铭文方式将数据写入 Satoshi,获得特定比特币区块的所有权,类似于免费铸币。
Source: https://share.foresight-news.com/article/detail/48677
在比特币区块链上,每个区块都被划分为四个部分,以代表不同的减半周期。用户可以在 Bitmap.land 网站上查看每个区块的编号和颜色,不同颜色代表不同的售卖状态。
Bitmap.land 的发售与序数理论紧密相关,类似于 Decentraland 和 The Sandbox 的虚拟土地发售依赖于 ERC-721 标准。序数理论与早期的染色币原理相似,但在比特币的当前叙事、共识、生态和基础设施背景下,两者有所不同。虽然序数理论不像 ERC-721 那样创新,但 BRC-20 的方法更加原始。
位图理论为比特币区块增添了新的解释,提供了一种话题性,尽管缺乏实用性。它改变了比特币和元宇宙之间的联系,通过允许用户拥有和记录单个区块,为比特币区块链的每个区块提供了一个新的维度,并使其成为元宇宙的一部分。
位图理论吸引了 Ordinals 社区的关注,激发了铭文热潮。比特币区块链上的任何区块都可以通过 Bitmap 成为元宇宙的一部分,为社区带来新的创造和所有权机会。
Bitmap.land 通过位图理论模糊了比特币和元宇宙之间的界限,为所有权、创造力和社区发展铺平了道路。随着铭文热潮的继续,对于那些寻求在数字领域占据一席之地的人来说,这意味着巨大的潜力。
感兴趣的同学还可以去官方的浏览器查看各种 Bitmap:https://bitmap.game/
众所周知,Ordinals 协议、BRC-20 等基于比特币的协议通过“链上声明、链下解析”机制,给比特币生态的发展带来了很大的想象空间。并且大量比特币 NFT 和代币已经发行,但 DeFi 等去中心化应用的发展仍然滞后。故 Mikael.btc 于 2023.9.2 发布了一种支持去中心化计算的协议:BRC-100。
https://twitter.com/MikaelBTC/status/1697930690653036895
BRC-100 是一种基于 Ordinals 理论的扩展协议,专为在比特币 Layer 1 上实现各种去中心化应用而设计。这一协议不仅承接了 BRC-20 在比特币上的基本功能,比如创建、铸造和交易,还引入了去中心化计算的概念。
这意味着,基于 BRC-100 协议栈,可以开发诸如 DeFi、SocialFi 和 GameFi 等各类去中心化应用,为比特币第一层带来真正的去中心化、无需信任、抗审查和无需许可的应用场景。
BRC-100 协议的一大特色是它的互操作性,它不仅允许在其协议栈内的所有协议和应用程序相互兼容,还支持与 BTC、BRC-20 或其他第 1 层链如以太坊和 Stacks 进行交互。此外,协议还引入了 UTXO 模型和状态机模型,增强了其安全性和计算能力。
因为 BRC-100 协议是 Ordinals 理论的扩展,所以 BRC-100 自身就具有 BRC-20 的所有特性,同时还引入了一些创新特性:
省流:就是基于 BRC-100 协议进行各种扩展如空投协议、治理协议、中继协议等等,我们可以为理解为 Mikael 想要将各种 DeFi 的玩法引入到 BTC 中。
协议继承
BRC-100 协议引入了继承的概念。直接或间接继承自 BRC-100 的协议称为 BRC-100 扩展协议。BRC-100 扩展协议必须仅继承自一种协议。扩展协议将继承父协议的属性、操作和计算操作,并且只能扩展属性和计算操作。
这就类似于我们在制作陶瓷时,在最初的时候只是一个泥胚,慢慢地,我们通过对其进行打磨和造型,就逐渐有了更多扩展的功能如装饰、盛放东西等。
BRC-100 协议栈
BRC-100 协议及其所有扩展和改进协议统称为 BRC-100 协议栈,基于该协议栈,所有代币/应用程序都可以相互兼容,这意味着一个代币/应用程序可以在任何地方使用其他应用程序。
协议和应用
在 BRC-100 协议栈中,协议是描述应用程序的属性、操作和计算操作的标准。应用程序是协议通过铭文部署到比特币网络后创建的实例。
应用本质上是一个具有计算能力和状态的代币。协议中详细描述了应用程序的计算能力。如果不添加子应用程序,应用程序就无法拥有协议中未描述的计算能力。添加的子应用程序也只能具有协议的计算能力,否则公共索引器无法验证应用程序的状态,导致用户和应用程序的状态不一致。
应用嵌套
基于 BRC-100 及其扩展协议部署的应用可以嵌套,即一个应用下可以创建另一个应用,称为子应用。
子应用的 ticker 以 “parent application ticker:” 开头,一个应用下可以创建多个应用,完成多个独立的计算逻辑。例如,在经典的 AMM DEX 场景中,需要在一个 DEX 应用程序中创建多个 LP 子应用程序/代币,如“amm_dex:LP_BRC100_BTC”。
应用状态和地址
除了 UTXO 模型之外,BRC-100 协议还引入了状态机模型来扩展协议的计算能力。
应用程序、子应用程序和地址都可以有状态。例如,应用程序可以持有代币,地址可以在应用程序中拥有余额。UTXO 和状态的转换是通过 burn2/burn3 和 mint2/mint3 指令完成的。
计算操作(cop)用于表示具体的计算逻辑,即应用程序和地址状态的转换逻辑。
例如,地址 A 通过 burn3 铭文向应用程序销毁 10 个 token1。此时应用程序拥有这个 UTXO 和 10 个 token1。应用程序可以通过其计算逻辑改变任何地址或应用程序的内部状态来分配这 10 个 token1。那么应用程序中拥有 token1 的地址或应用程序就可以通过 mint3 指令铸造它。
权限
BRC-100 协议引入了两种角色:所有者和管理员。
带有应用程序部署铭文的地址称为所有者。所有者可以跟踪部署铭文的 UTXO 转账。所有子应用程序的所有者都是父应用程序的所有者。
管理员由所有者管理,管理员不能管理其他管理员。所有者和管理员的权限受到严格限制。他们无法审查用户,只能做:治理未启动 DAO 的应用程序,完成 mint2/burn2 的计算操作。
管理员可以是地址、应用程序或子应用程序。应用程序和子应用程序默认互为管理员,无需额外设置,但子应用程序之间不互为管理员。
burn2/burn3 的铭文需要发送给应用程序的部署者才能正确处理。“mint2” 指令需要铸造的部分代币只能由应用程序/子应用程序逻辑分配,并且应用程序/子应用程序需要成为代币的管理员,“burn2” 指令也有类似的逻辑。burn2/burn3 的铭文需要发送给应用程序的部署者,以便根据计算操作的逻辑正确处理。
应用程序的去中心化治理
BRC-100 协议栈引入了治理协议:BRC-101,它可以治理实现 BRC-100 或其扩展协议标准的应用程序。而应用启动 DAO 后,需要通过去中心化投票来完成治理。
应用程序的治理包括:更新应用程序和子应用程序的属性、部署子应用程序、停止应用程序。应用治理是链上治理。链上投票通过后,应通过计算操作:egov 通知应用程序,然后应用程序将在时间锁定后自动执行治理。
部署应用程序/Token
在 BRC-100 协议中,有两种部署应用程序的方式:一种是直接使用部署指令进行部署,另一种是通过治理协议:BRC-101 进行部署。
第一个用于部署配置不需要治理的父应用程序和子应用程序,另一个用于部署需要治理的子应用程序。
铸造代币
BRC-100 协议提供了三种铸造指令:mint、mint2、mint3,用于在不同场景下铸造代币。
部署应用程序时,需要设置用户可以铸造的代币数量(使用 “mint” 指令)。剩余的代币也将使用 “mint” 指令来铸造。
“mint”:用户铸造,公平铸造,任何人都可以为用户铸造代币,但 “mint” 操作者铸造的总数不能超过应用程序的 “max” 和 “mma” 属性的设置。铸币后,代币的流通供应量将会增加。
“mint2”:白名单铸造,应用程序记录可以铸造的用户或应用程序的数量,任何人都可以在应用程序规则下为用户或应用程序 mint2 代币。mint2 之后,代币的流通供应量也将增加。
“mint3”:国库铸造,mint3 为其他应用中的用户或应用的余额,任何人都可以在应用规则下为用户或应用 mint3 代币。mint3 之后,代币的流通供应量不会增加。
销毁代币
销毁是 BRC-100 协议新引入的操作。用户可以对销毁操作进行铭刻,然后将铭文传输给应用程序的部署者,这与传输操作的语义类似。然后刻录的代币将被销毁或转移到应用程序的余额中。
与 mint 操作的定义类似,burn 操作符也有 3 个:burn、burn2、burn3,逻辑上分别对应 mint、mint2、mint3。不需要额外的配置,所有应用程序/代币都支持这三个销毁指令。
“burn”:公共销毁,每个人都可以使用指令销毁代币。代币销毁成功后,流通量将会减少,且被销毁的代币无法再次铸造。
“burn2”:白名单销毁,根据应用程序预设的规则,burn2 代币到应用程序后,用户的余额会减少,应用程序的状态也会相应更新,流通量会减少。实际中, AMM DEX 中的移除流动性等逻辑可以通过 burn2 来实现。
“burn3”:国库销毁,burn3 会减少用户的代币余额,增加 “to” 应用的余额。实际应用中,可以配合 mint3 完成 AMM DEX 中的兑换代币、增加流动性等逻辑。
交易税和通货紧缩
BRC-100 协议引入了一种新的代币交易机制:交易税和通货紧缩。应用程序可以设置交易税收百分比、税收接收者和交易黑洞百分比。这些设置仅在基于 AMM 的去中心化交易所进行交易时生效。正常的转账、铸币和销毁操作不会引发交易税和通货紧缩。
计算操作
计算操作是 BRC-100 协议的扩展计算行为。它用 cop 属性来表示,是协议计算能力的最小单位。与 op 操作符一起使用时:burn2/burn3/mint2/mint3,可以理解为状态转换函数,它定义了应用程序和用户的状态在相应的 op 操作符下如何更新。
Oracle 预言机
Oracle 是区块链与链下各方交互的常见需求,并且在以太坊等区块链上得到了很好的实现和应用。如果没有预言机,区块链上的智能合约将完全局限于链上数据。但与区块链相比,BRC-100 协议有非常特殊的特点。
它不仅具有区块链的计算能力,而且还依赖链下索引器来完成计算。同时,链下索引器能够直接与其他区块链或元协议进行通信,但区块链无法做到这一点,这意味着索引器可以通过足够的证明数据来验证链下或链上的任何数据满足 Oracle BRC-100 协议的要求。
例如:验证 BTC 或 BRC-20 资产的转移、验证以太坊某个区块上的 ETH 价格等。
换句话说,在 BRC-100 协议中,预言机有了新的范式:证明和验证,其中用户提交证明数据,索引器作为 Oracle Verifier 来验证用户提交的协议外证明数据,不需要独立的 Oracle 服务。
BRC-100协议中,burn2/burn3/mint2/mint3 指令原生支持 proof 属性,用于提交协议外证明数据。索引器可以验证证明数据,保证状态的一致性和正确性,证明可以是转账证明、默克尔树证明、零知识证明、价格证明等,可用于桥接资产、空投等场景、比特币第 2 层、借贷清算等。
中继协议
比特币上的元协议是异构的,无法相互通信。不同的协议类似于不同的区块链,它们共享比特币区块链的安全性,并且具有不同的计算能力。此外,元协议不能直接与其他区块链通信:例如以太坊,也不能使用其他区块链上的资产。
因此,BRC-100 协议栈需要中继协议来完成比特币、元协议、区块链与 BRC-100 协议之间的通信,将其他协议或区块链上的资产桥接到 BRC-100 上,参与 DeFi 等去中心化应用。同时,由于协议和区块链的多样性,BRC-100 将拥有多种中继协议。
首先,我们将发布:BRC-103,负责桥接比特币、BRC-20 和 BRC-100 之间的资产。当将资产从元协议或区块链(来源)桥接到 BRC-100 协议(目标)时,为了索引器可以验证传输的正确性,需要使用 “mint2” 指令提交证明数据,这称为传输证明。转账证明是指在目标协议(BRC-100)上铸造锚定资产时,需要同时提交来源端(如比特币、BRC-20 或其他区块链)上的转账数据作为证明,可以是交易哈希或铭文 ID。以便所有 BRC-100 索引器都可以验证所锚定资产铸币的正确性。
Transfer Proof 是 Oracle BRC-100 协议的一个非常重要的应用。
由于 BRC-100 是从 BRC-20 扩展而来,所以本质上就已拥有了 BRC-20 的所有应用场景,但 BRC-100 的应用场景远不止如此。我们依然可以在 BRC-100 协议的基础上再进行扩展,以下是官方列出的一些扩展协议,部分协议已在开发中:
BRC-101(已发布)
BRC-100 协议栈的去中心化链上治理协议,定义了如何更新父/子应用程序/代币的属性、停止应用程序和添加子应用程序。
另外,BRC-101 也可以通过去中心化投票来完成链下治理。
BRC-102(开发中)
自动化流动性协议,定义了如何通过自动做市商(AMM)算法交换 BRC-100 协议栈的代币。计算逻辑将类似于以太坊上的 Uniswap。
BRC-103(开发中)
BTC、BRC-20 和 BRC-100 之间的中继协议。比特币上的元协议是异构的并且无法相互通信。不同的协议类似于不同的链。它们共享比特币区块链的安全性,并具有不同的计算能力。
因此 BRC-100 协议栈会发布多个中继协议来完成元协议、不同链和 BRC-100 之间的通信,并将其他协议和链上的资产桥接到 BRC-100 上,参与 DeFi 等 DApp。
BRC-104
流动性挖矿协议,定义了质押代币后如何获得代币奖励。
质押代币可以是任何基于 BRC-100 的代币,例如 BRC-103 协议的流动性池代币,也可以是与奖励代币相同的代币。此外,BRC-104 将支持锁定期来锁定质押的代币。
BRC-105
空投协议,定义了如何高效地将代币空投到多个地址。
该协议将使用 Merkle Tree 来完成空投,以节省交易费用,因为所有原始空投数据不需要在比特币上公开。用户在 “mint2” 时只需要提交 Merkle Proof 来证明自己拥有空投,那么所有索引器都可以验证正确性来完成空投。
BRC-106
去中心化稳定币池协议,定义了如何通过抵押品生成稳定币。
计算逻辑将类似于以太坊上 MakerDAO3 的 DAI。
BRC-107
借贷池协议,定义了如何通过抵押品借入资产。
计算逻辑将类似于以太坊上的Aave。
BRC-108
稳定币的自动化流动性协议。
BRC-109
永续期货的去中心化交易协议。
BRC-110
EVM 兼容区块链和 BRC-100 之间的中继协议,定义了如何将 EVM 兼容区块链上的资产桥接到 BRC-100。
BRC-111
比特币第 2 层验证协议,定义了如何像以太坊上的第 2 层智能合约一样验证比特币第 2 层的证明数据。
在 BRC-20 协议提出之后,2023.9.19 出现了另一个新的实验协议 BRC-420,又称为元宇宙协议。
https://twitter.com/rcsvio/status/1704118288845013117
BRC-420 是一个有趣的实验,它是 Ordinals 协议中第一个元宇宙协议,是基于 Bitmap 协议的资产协议。
通过将多个铭文组合成一个复杂的资产,例如游戏物品、动画和效果,或者元宇宙中的游戏模块。创造出了从小型角色、宠物到完整游戏脚本和虚拟机的各类资产。
这些资产因其链上开源特性,任何客户端都可以运行或校验,充分体现了全链游戏的 “Client Agnostic” 精神。
Source: https://twitter.com/rcsvio/status/1704118288845013117
BRC-420 协议中包含两部分,一是 Metaverse Standard(元宇宙标准),二是 Royalty Standard(版税标准),前者为元宇宙中的资产定义了开放格式,而后者则为创作者经济设定了链上协议。
Source: https://l1f.discourse.group/t/brc-420-introduction-to-brc-420/88
BRC-420 为 Ordinals 的链上游戏和模块化区块链开辟了可能性。不同的创造者可以贡献不同的模块,新的创造者可以在前人的创新基础上进行创新。这导致了 Ordinals 生态系统内各种创新的激增,使所有参与者受益。
目前,BRC-420 在 2023.11.3 发布了 BRC-420 DLC,它可以将数千个元铭文集成到 1 个 DLC 中。在部署之后,用户可以在一次铸造中获得数千个元资产。
Source: https://twitter.com/rcsvio/status/1720444100124831867
在 BRC-20 协议出来之后,Casey 觉得对于在 Bitcoin 上创建同质化代币不是一个好主意,99% 的同质化代币都是骗局且短期内不会消失。为比特币创建一个良好的同质化代币协议可能会为比特币带来可观的交易费收入、开发者的关注度和用户。
因此 Casey 便于 2023.9.26 提出了基于 UTXO 技术的 Runes 协议。
https://twitter.com/rodarmor/status/1706438248606904382
Runes 协议的设计可能也是受到了 ARC20 的影响,选择直接在 UTXO 的脚本中写入 Token 数据,这包含了 Token 的 ID、输出与数量。
显然,Runes 的实现与 ARC20 非常相似,将 token 转账直接交给 BTC 主网处理。区别在于, Runes 在脚本数据中写入了 Token 数量,这让他比 ARC20 具备更高的精度。
但同时,复杂度也变得更高,难以像 ARC20 一样直接利用 BTC UTXO 的组合性。
在 Runes 协议推出之后,由于 Casey 的开发精力主要还是在 Ordinals 协议上,所以 Runes 协议的开发一直比较缓慢,这也是为什么 Benny 在 Runes 协议发布之后便迅速弯道超车开发出 Pipe 协议的原因。
在十二月的台湾区块链周中,Casey 也在台北的活动上公布了 Runes 协议上线主网的时间,在区块高度 840,000 即下一次 BTC 减半之时,大概是在 2024 年 4 月底。
在调研完 BTC 资产发行方案之后,也是充分感受到了它们的魅力,所以也说一些自己的主观看法:
1. BTC 的资产发行在今年引燃了 BTC 生态的爆发式发展,虽然大家对于它们的看法褒贬不一。但我们抽象出来看 BTC 生态的发展,其实都离不开一个重要的东西 — “叙事”。
正如我在以前的思考中所提到的,产品的需要有一个好的叙事来支撑,否则很容易就面临只有产品,没有用户的尴尬局面。而各大资产发行方案也证明了这一点,诸如 first is first、协议为生态带来的各种想象力、官方的背书等等,这都是叙事的具体表现。
2. 同样的,我们也不可否认这波资产发行为 BTC 生态所带来的贡献。虽然从技术层面来讲大多数资产发行方案可能对于 Bitcoin 的局限并没有什么实质性突破,但它们不仅为各大公链提供了一次难得的压测,也带来了一些 Bitcoin 未来发展的可能路线。
通过今年的这几波铭文热潮,铭文所带来的长尾效应也从最初的 Bitcoin 逐步扩展到其他公链上的铭文。而在全民打铭文的热度下,我们也感受到了目前 Bitcoin 主网的一些不足,如高 gas 费、交易速度慢等等,这也表明了 BTC 扩容方案的必要性。
3. 纵使扩容方案在很早之前就已经开始有项目方在布局,但一直不温不火,如今越来越多的用户在铭文的热潮下关注到了 BTC 生态,而这也变相加速了 BTC 扩容方案的发展。
目前现有的扩容方案主要分为 侧链/闪电网络/原生 L2 这三大类,但还没有某个方向确定了其领先优势,仍处于互相竞争的阶段,至于未来到底是会多点开花还是会有某个方向一鸣惊人,我们可以期待一下,同时这也是接下来可以重点布局的方向。
4. 在资产发行方案的调研中,有一个很明显的趋势存在,从一开始的 Ordinals 协议面世,到之后的 BRC-20 基于 Ordianls 的改进协议,再到诸如 BRC-100 去中心化计算协议(想要基于此不断扩展将 DeFi 生态的玩法引入到 Bitcoin 中)、BRC-420 元宇宙协议(带来将游戏、音乐等引入 Bitcoin 的可能性)、ARC-20 (与 BRC-20 平行的新的资产发行方案)等等。
资产发行方案已从原先针对现有资产发行协议进行一些基础改进演化到了在某个资产发行协议的基础上针对 BTC 生态的需求(如预言机、DeFi、游戏等)去做一些大层面的生态布局甚至是发布一个新型的资产发行协议来制定规则。
5. BTC 的生态发展目前仍然很早期,无论是在 Web2 还是 Web3,都存在着只要谁抢先掌握了规则的制定权,谁就能拥有用户的现象。因此目前的财富机会仍然有很多,我们必须去全面地看待 BTC 生态的发展,铭文的热潮终究会冷却,不能仅仅只盯着资产发行的尾巴不放,还应该看看如何通过资产发行的方式去加速整个 BTC 生态在其他方面的发展。
当然对于这方面也有一些不同的意见,比如 NingNing 老师对于 BTC L2 的看法 https://twitter.com/0xNing0x/status/1737010523374563744,理性探讨。
6. 虽然目前还属于是先冲再研究的阶段,大家伙也都是屁股决定脑袋。但仍要提醒一下大家在投资时要注意风险,要写清楚你自身的投资逻辑,是搏短线还是看长线,逻辑不同,策略不同。在投资方面还是要尽可能地做到知行合一,我很相信这么一句话“你永远赚不到你认知以外的钱,即使现在赚到了以后也会吐出去”。
最后,感谢大家可以看到这里,文章的初衷是让大家可以更好更全面地了解 BTC 生态的发展,也欢迎大家有任何想法可直接留言互动。