近日总量为112383个的Runestone自发行以来引起了市场的广泛关注,其总交易额超过了惊人的1400个比特币,平均价格也是水涨船高,之后越来越多空投的发放使得Runestone热度不减,有一种金铲子的感觉。那Runestone究竟是怎样的项目?它与Runes协议有什么关系?本文将深入探讨Runes协议及生态,并对未来生态进行展望。

一、比特币铭文生态概述

背景

从去年3月开始的 $ORDI 产生的暴富效应,到5月份的第一波铭文兴起,再到11-12月的第二波铭文行情,每个人都在讨论着今天打什么,明天打什么的高涨情绪中。回归到区块链本身,每天打的比特币铭文是什么,Ordinals 协议是什么,各种以“20”结尾的协议层出不穷,BRC-20、ARC-20、SRC-20等等又是什么,有什么联系和区别,为什么又会突然来一个Runes协议呢。我们今天就一起带着这些问题来继续探索丰富多彩的比特币生态协议。

协议简介

Ordinals 协议

最早由 Casey (@rodarmor) 在2022年12月发布,该协议允许在比特币的最小单位聪上铭刻数据,包含文本、图片、音频、视频等数据信息,而我们一直说的比特币铭文也就是一段通过采用Ordinals 协议铭刻(Inscribe)在聪(Satoshis)上的元数据,也就是我们常说的比特币上的NFT。详细的信息可以看一下之前写过的介绍 Ordinals 协议的文章:https://www.spectrumlab.io/zh/reports/看完這篇,你對於ordinals銘文的了解將超過99,里面介绍的比较详细。

BRC-20 协议

BRC-20 协议是由匿名开发者 @domodata 于2023年3月8日推出,是基于刚介绍的 Ordinals协议推出的协议。该协议通过将代币的名称、数量等信息用特定的 JSON 格式写入聪(Satoshi)中以实现代币的部署Deploy、铸造Mint和转账Transfer的功能。在发布的第二天就有超过30000 个铭文被铸造,其中文本类型的数量接近27000 个。仿照以太坊 ERC-20 代币标准使用 BRC-20 命名,相当于基于 Ordinals 协议的代币发行协议,BRC-20 协议的第一个代币名为 $ORDI,也在铭文第一波和第二波中涨幅惊人。最近 @domodata 及其创立的 @L1Fxyz 提出了新提案:在区块高度837090进行升级,支持自发行模式、5字符的代币名称以及销毁 BRC-20 资产的方法,原文链接 https://l1f.discourse.group/t/brc-20-proposal-for-issuance-and-burn-enhancements-brc20-ip-1/621

ARC-20 协议

ARC-20是一种染色币模型,与Ordinals协议不同,每一个ARC-20 的代币都必须有一个聪支持,而非像BRC-20通过排序进行区分。其将信息被刻入交易脚本,余额使用UTXO的sat数量表示,转账功能完全由比特币的主网进行处理,代币的相关变化都可以在链上直观的反映。同时 Artomicals 通过指令操作,将每一个ARC-20代币都作为交易的第一个“输出”从而避免被当做矿工费用花掉,最开始各钱包没有支持该协议时,就出现了烧资产的现象。

SRC-20 协议

SRC-20 利用的是 BTC STAMPS 协议即比特币邮票协议,而不是 Ordinals 协议,我们也可以从打铭文和转账的时候从地址看出来,SRC-20 利用的还是“bc1q”开头的比特币地址而不是我们常用的“bc1p”开头的地址。Stamps 和Ordinals 之间的主要区别还是在于架构的不同,Stamps 协议是将元数据存储在多重签名的 UTXO 中,而 Ordinals 协议则将元数据存储在比特币交易的 SegWit 部分中。

二、Runes 协议

时间线背景

2023年5月8日 BTC 的核心开发者发文,声称BRC-20协议造成的垃圾过多且交易频繁,引起 BTC 网络阻塞,BTC 社区应该采取行动阻止;在之后的9月1日 Casey 公开反对BRC20协议,并希望可以停止铸造 BRC-20。2023年9月26日,Casey Rodarmor 重新开发了一个名为 Runes 的协议作为 BRC-20 的替代品。该协议是一个基于 UTXO 的、能使比特币使用者具有使用良好体验的可替代代币协议。Casey 认为改良过后,能够降低制造大量垃圾 UTXO 现象的符文,是比先前实验性的 BRC-20 协议更好、更轻量简洁的资产发行方案,至少,目前 BRC -20 的流行已经创造了大量的“垃圾”UTXO 。

Runes 实现方式

Runes 代币的余额直接包含在 UTXO 内, 如果一笔交易包含一个输出,而该输出的脚本 pubkey 包含一个 OP_RETURN ,后跟一个表示 ASCII 大写字母R的数据输出,则该交易包含一个协议消息。输入到无效协议消息的交易的符文将被烧毁,这允许未来存在的升级可以改变符文的分配或创建方式,避免之前旧的客户端错误分配符文的余额。

转账

协议消息中的第一个数据输出被解码为一个整数序列,这个整数序列将包含 IDOUTPUTAMOUNT 3 种信息。ID 指定了进行转账的是哪个 Runes 代币。每个代币在被创建时都会被分配一个 IDID 是从 1 开始的,越早创建的值越小。OUTPUT 决定分配给第几个输出。AMOUNT 表示转账的数量。