比特币 2023-12-22 17:36:14
【#区块链# #用时间线捋清 BTC 生态脉络|资产发行篇#】
本文旨在通过时间线的形式来让大家捋清楚 BTC 资产发行方案的来龙去脉,究竟是什么引爆了比特币铭文的火热,让我们潜下去,一探究竟。
撰文:Howe
BTC 资产发行方案发展时间线
近期随着 BTC 生态的火热,我们能看到各种各样的代币在 Bitcoin 主网上发行,那么这些代币分别是什么呢,它们背后的协议又是如何运作的。
本文旨在通过时间线的形式来让大家捋清楚 BTC 资产发行方案的来龙去脉,究竟是什么引爆了比特币铭文的火热,让我们潜下去,一探究竟。
同时本文参考了较多文章,我在参考和调研的时候发现个别文章可能对于一些协议 / 项目的时间有错误,所以本文的所有时间线我都附有相关材料,如有错误,请向我指出,谢谢。
声明:文中所涉及到的代币仅限学习交流使用,无任何投资建议,DYOR
现有的很多文章都是从 Ordinals 协议说起,但在 Ordinals 的官方文档中,第一个提及的是 Ordinal Numbers 理论,从这也可推断出 Casey 应该也是从中获得一些启发从而创造出了 Ordinals 协议
众所周知,在 Bitcoin 世界中最小的单位是聪 (sat),而 Ordinal Numbers 理论可以简单地理解为是人为地给这些 sat 进行编号。从 BIP 提案中的动机部分我们可以总结为该理论想要为 Bitcoin 提供一个可作为稳定标识符的方式来防止所有权转移或密钥轮换,且不需要对 Bitcoin 网络进行任何更改。
当然,这个理论也存在着一些反对的意见,如会降低用户的隐私性、增加 UTXO 集的大小、粉尘攻击等,具体内容可参见 BIP 提案。
协议提出
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 协议并正式部署了第一个 BRC20 $ordi,该协议使得任何人都可以在 Bitcoin 网络中发行代币,类似于 Ethereum 上的 ERC-20 代币的玩法。
注意:
1. domo 最早关于 BRC-20 的推文是 2023.3.9,但从 $meme 和 $ordi 的部署时间来看,应该是 2023.3.8 就已推出
2. $meme 是第一个部署的 BRC20,而 $ordi 是第一个正式发布的 BRC20,可通过查看它们的部署时间推断出来
而关于 $ordi 的发展大家应该都有所体会,这里不多提及,详情可参考下方这篇推文:
协议原理
BRC-20 协议通过制定一系列标准来实现在 Ordinal 理论的基础上可以部署、铸造、转移 BRC20 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 脚本中导致我们无法直接在链上计算出每个账户的 BRC20 余额。所以目前采取的方式为在链下构建一个索引服务器来实现 BRC20 的代币信息获取、余额计算、交易转账等,但这种方式会存在中心化的风险。
Souce: https://twitter.com/blockpunk2077/status/1725513817982136617
首先,可以先理解 BTC 一层协议的三大部分:协议规定了在比特币上写入数据的规则,索引器提供了查询与解析这些数据的能力,而账本记录了代币余额,处理了转账。
对于 BRC20 来说,索引服务器首先需要识别每一次的 BRC20 部署,从而读取代币信息,这部分被称为「索引」。
同时,由于 BRC20 的余额都被刻入了脚本中,BTC 网络本身无法识别,因此 BRC20 的索引服务器必须在本地构建一个记录 BRC20 余额的账本。每次发生转账时,交易是否能进行(有足够多的币 ),都需要检查本地账本,并进行更新。
所以 BRC20 在交易时需要发送两笔交易:
1. 第一笔交易在本地帐本中读取最新账本数据并计算余额
2. 第二笔交易再进行转账。
Ordinals 协议本质上是为 NFT 设计,基于其改进的 BRC20 在转账复杂度上,是递归增长的。BRC20 索引器还承担了账本的工作,这个账本完全脱离比特币存在于链下。索引器必须准确记录每一次余额变化,才能保证账本的完整性。
因此随着时间堆积,索引器账本是会堆积的,节点的压力会越来越大。如果索引器没有持续激励,将难以持续。如果索引器账本不再提供服务,那么 BRC20 将彻底无法使用。
Source: https://twitter.com/trac_btc/status/1722648122269012428
$TRAC
$TRAC 是由 Benny 在 2023.5.3 启动并于 2023.5.22 正式部署上线的一个 BRC20 Token。
Trac Core
Trac core 是比特币铭文的预言机和去中心化索引器,解决铭文生态数据索引、检索、喂价等问题。
例如,索引器方面,虽然铭文数据存储在比特币链上,但这只是相关铭文的信息,而数据更新和查账环节需要依赖第三方中心化的索引器,安全性始终会被诟病 ( 例 11 月末市场对 Binance 的 ordi 索引记账错误 ),所以 Trac 能够更大程度的让铭文生态继承比特币的安全,收集、组织和排序比特币上的所有数据,未来计划引入数百个索引器节点。
同时随着节点的增加,Trac Core 也整合了预言机的作用,从外部来源获取必要的可靠数据以输入区块链,是后续搭建铭文原生 DeFi 等上层协议的基础,且 Trac 预言机的 API 是免费可以调用的。
因此,Trac core 兼具去中心化索引器和比特币预言机的生态卡位可以说走在了大部分铭文项目的前面。
Tap Protocol
Tap Protocol 由 $TRAC 团队在 2023.8.7 发布的一个基于 Ordinals 的改进协议。我们可以将其看为是升级版的镜像 BRC20 协议,是对 BRC20 进行兼容和升级的协议,它具有以下 4 点特性:
使用前面部署的 $TRAC 作为其协议的治理代币(不太能算是特点,但放在这进行说明)
目前 Tap Protocol 中官方发行了 $TAP 和 $-TAP 这两个 token,其中 $TAP 由 BennyTheDev 在 2023.8.6 被铸造但并未流通;$-TAP 则是开放给了社区 mint,总量 21,000,000 枚(也就是 21,000 张),根据 Shep 的考证,$-TAP 比 $TAP 更早部署 30 分钟,是协议中真正的第一个原生代币。
Pipe
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 上线了协议。
最初 Atomicals 协议的推出并未在 Bitcoin 生态中激起太多的水花,因为当时由于 Ordinals 协议和 BRC-20 协议的推出,不同链上涌现出了一大批基于它们的改进协议,但当我们通过查看 Atomicals 协议的文档时,我们会发现它是另外一个完全不同的协议。
理论基础 — 数字物质理论 (DMT)
DMT 理论 (Digital Matter Theory) 指的是数字物质理论,指数字信息不仅仅是随机数和字母,实际上它也可以被视为自己的「物质」,例如木材或金属。DMT 在区块链数据中可以是交易、字节或任何其他模式的区块链数据,而这些模式可以变成有价值的数字项目或资产。
这里也引用一下 Jingle 博士的内容,方便大家更好地理解:
有些物理学家声称信息是一种新的物质形式,最终可能战胜地球上的一切成为主宰(也很有争议 )。按照目前的增长趋势,大约 350 年内,地球上使用的数字信息量可能比物质原子还要多,这也凸显了数字信息的指数级增长和重要性。
物理学家这一想法鼓励很多人将他转化成可执行的协议,从比特币区块链中解析出有价值的信息用来创作「非任意代币」。利用数字物质理论可能会彻底改变数字价值的创造,使其更加非任意性和有意义。通过在数字物质理论的背景下利用数据,可以创建新的机制来识别和导出数据中的新价值序列,从而为新形式的代币开辟了可能性。
譬如有人甚至就把比特币就比做 DMT 的一种应用,比特币也是一种非任意代币,有自己的规范比如 2100 万枚,10 分钟出一个区块等等。通过比特币网络上的数字信息交换,能够进行价值的转移和储存。虽然比特币只存在于数字世界中,但其价值和影响力可以在现实世界中产生重大影响,就像传统的物理货币一样。
然而,DMT 并非没有争议。一些批评者认为数字信息不能与物质和能量等基本物理实体相提并论,因为数字信息本身并不能直接改变现实世界。不过,DMT 的倡导者则认为,虽然数字信息无法直接改变现实世界。但是,通过人类的行动和决策,数字信息可以间接地改变世界,比如加密货币的应用。
现有 Bitcoin 建设者面临的问题
服务锁定、高交互成本、相同的链上数据会有不同的表现形式、开发者之间的竞争
资产安全问题、频繁改动、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 也带来了一些新奇的用例:
3️⃣Container NFTs — NFT 标准
容器 (Container) 是一种用于表示 NFT 和元数据的集合标准。其可以用于 Atomicals、Ordinals、Bitmaps 等任何协议的内容的增加 / 修改 / 删除,还可以选择永久「密封」即把内容锁定到一个容器中然后把可以打开容器的「钥匙」给销毁掉,从而达到保持密封时的状态且无法修改的目的。
容器名称服务:
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 来说,我们只需要一个索引,来帮助我们读取代币注册信息,同时识别 mint 交易,来确认验证哪些 UTXO 是 ARC20。
这带来的好处是:
当然,染色币的设计也带来了一些劣势,因为没有在数据中写入余额,而是绑定 sat,因此 ARC20 余额的最小拆分精度为 1。
这也使得,在 BTC 主网自身为了防止粉尘攻击而设定了最少 546 sat 的交易限制下,用户目前无法进行细粒度交易。不过 Atomicals 协议目前已经给出了具体拆分方案,并在积极开发中。
这里用一张图来展示 BRC20 和 ARC20 最本质的不同:
5️⃣Realm Name System (RNS) — 领域域名系统
RNS 号称是 DNS 域名系统在真正对手,旨在成为 DNS 和其他区块链域名系统的全球替代品
Realm Name 是人类可读的标识符,可用于关联网络地址和资源信息。领域名称以加号 + 开头,并且至少有一个字母字符,例如 +alice 和 +agent007 ,它们都是有效名称(顶级 — 领域域名系统 (RNS) 中的领域或 TLR)。
领域名称是使用原子数字对象格式直接在比特币区块链上自行拥有和自行管理的,这基本上意味着没有中间人或中心化注册商。
6️⃣Subrealm Minting — 子领域铸造
通过在任何领域 (Realm) 下发行子领域 (Subrealm) 来管理和代币化社区,具体规则如下:
举个通俗的例子:
除此之外,Subrealm 还可以用于社交媒体组织、身份验证、忠诚度奖励等等。
协议特点
通过上方的原子理论,我们可以知道 Atomicals 协议的主要特点包括:
与其他协议的主要区别
了解 Atomicals 协议差异的最佳方法是将其与其他流行的 NFT 协议进行比较:
协议提出
Bitmap.land 是比特币生态中首个元宇宙项目,它基于序数理论(Ordinals theory)和位图理论(Bitmap theory)。
位图理论(Bitmap theory)由推特用户 @blockamoto 在 2023.6.5 日提出。
这一理论将比特币区块中的每笔交易输入映射成地块(Parcel),形成一个街区或区域(District)。不同交易输入的大小差异导致映射出的地块大小也不同。
协议概念
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。
协议介绍
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 及其扩展协议部署的应用可以嵌套,即一个应用下可以创建另一个应用,称为子应用。
子应用的 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 通知应用程序,然后应用程序将在时间锁定后自动执行治理。
在 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 是区块链与链下各方交互的常见需求,并且在以太坊等区块链上得到了很好的实现和应用。如果没有预言机,区块链上的智能合约将完全局限于链上数据。但与区块链相比,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,又称为元宇宙协议。
协议概念
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
「7」Runes 协议
协议提出
在 BRC20 协议出来之后,Casey 觉得对于在 Bitcoin 上创建同质化代币不是一个好主意,99% 的同质化代币都是骗局且短期内不会消失。为比特币创建一个良好的同质化代币协议可能会为比特币带来可观的交易费收入、开发者的关注度和用户。
因此 Casey 便于 2023.9.26 提出了基于 UTXO 技术的 Runes 协议。
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 减半之时,大概是在 2014 年 4 月底。
在调研完 BTC 资产发行方案之后,也是充分感受到了它们的魅力,所以也说一些自己的主观看法:
最后,感谢大家可以看到这里,文章的初衷是让大家可以更好更全面地了解 BTC 生态的发展,也欢迎大家来找我交流。接下来的时间,我会时不时地发表一些观点,同时还会再写一篇扩容方案的文章,让我们敬请期待。
上一篇: 一文带你全面了解以太坊坎昆升级:原理、影响及概念币
下一篇: DePIN的未来机遇与挑战