发布在即,关于 Runes 协议你应该知道些什么?

Trustless Labs热度: 17021

BTC减半即将到来,意味着BTC生态中最大的公平发射Runes即将上线。Runes是一种具有烧毁功能的代币,与Brc20不同,它严格绑定UTXO,可以享受BTC UTXO的好处。预计部署需要3年时间,已在测试网运行。可以通过ord命令进行mint操作,成本较低。同时,ord支持指定destination地址,可拆分utxo后批量mint到目标地址。

摘要由 Mars AI 生成
本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。

原文作者:Trustless Labs

原文来源:foresightnews

我们距离 BTC 减半的 840000 区块还有不到一周的时间,这也意味着整个 BTC 生态期待已久的 Runes 即将上线,作为 BTC 生态规模最大的公平发射,虽然可能面临着巨大的竞争内卷压力,但这仍是目前加密世界最巨大且公开的 alpha 机会。

虽然目前 OKX 钱包、Unisat 等平台已经提供了公共的蚀刻平台,但想要在竞争中拿到更多筹码,运行自己的比特币全节点与索引,并了解 Runes 运行的相关原理,从而针对性地进行优化将带来一定的优势。


本文就尝试从技术实现、分发规则、预估成本等部分介绍 Runes 。


Runes 协议是 Ordinals 创始人 Casey 部署在比特币网络上发行同质化代币的资产协议,Runes 的基本面也就是其 Ordinals 协议的正统性与公平分发的窗口,Ordinals 社区需要借助 Runes 争取 BTC 生态代币资产的定价权,Casey 甚至喊话 Runes 生态上线一个月后不到 10 亿美金市值就切腹自尽...


可以预计,减半后 Runes 协议将带来十分活跃的链上交互,可以关注的热点将包括但不限于


  • Casey 在 Runes 协议中硬编码的创世符文
  • Rsic、Runestone 等 NFT 对应的 Runes 代币空投
  • 社区主导的 Runes 代币的部署和 fomo


原理


Brc20 的方式被称为铭刻,即将代币数据写入隔离见证的签名中,并将数据绑定在一个特定的聪上。本质上这是把 BTC 当为存储空间,转账完全依赖链下的 Brc20 索引账本,为了保证交易的合法,Brc20 的转账必须先通过铭刻将对应代币变为可转移状态,再通过第二个交易转移对应铭刻后的 UTXO 完成转账。


Atomicals 的方式被称为染色,Arc20 的余额依靠一笔 UTXO 下的聪数量表示,严格遵循 1 token = 1 sats 的对应关系,因此 Arc20 的转账可以完全被 BTC 网络当作一般的交易处理,索引较为简单,可以使用 BTC 原生特性。


Runes 的方式被称为蚀刻,一笔 Runes 的余额被绑定在一笔 UTXO 下,对这笔余额数量、代币符号等信息的数据被记录在这笔交易的 OP-RETURN 下,OP-RETURN 可以看作是这笔交易的备注(最大 80 个字节),其数据包含的 json 标注了该 BTC 交易下 utxo 表示了多少数量的 Runes 代币,识别这些代币需要 Runes 的索引器。


总而言之,Runes 绑定 BTC UTXO,或者将 BTC UTXO 视为 Runes 代币的指针,OP-RETURN 就是指针的赋值语句。


当 Runes 代币进行转移时,需要将代表了 Runes 代币的 UTXO 作为输入,在 OP-RETURN 写入转账的数量,与指定的 utxo 作为第一个输出,设定数量的 Runes 代币将转移到 utxo1 的目标地址,而剩下的 Runes 代币会自动按顺序与其他 utxo 如 utxo2 绑定。utxo1 可以输出给别人的地址,utxo2 可以输出给自己作为找零,这样就完成了一次 Runes 转账。同时 Runes 还附带了 burn 的功能,可声明销毁代币。


与 Brc20 仅使用 BTC 存储转账记录不同, Runes 代币严格 UTXO 绑定,允许其适用 BTC UTXO 所附带的各种好处;该方式与 Arc20 类似,但不同点在于,Runes 的 utxo 可以表示任意数量的代币,而 Arc20 的数量严格与绑定 UTXO 下包含的 sats 数量有关(难以分拆);但同时,Arc20 也更不依赖索引器,Runes 代币转账的合法性依然需要 Ord 索引账本的记录。


JSON

struct Runestone {

edicts: Vec<Edict>,

etching: Option<Etching>,

mint: Option<RuneId>,

pointer: Option<u32>,

}


struct Edict {

id: RuneId

amount: u128,

output: u32,

}


OP-RETURN 下 json 数据的灵活性,允许其一次性操作 Runes 代币的批量转账,包括将不同类型 Rune 资产如 RuneA 与 RuneB 在同一个比特币交易中转移。


分发规则


在 Runes 代币的初始分发流程下,首先需要先蚀刻代币信息与分发规则。


代币信息这包括了最小拆分单位、资产名字、名字的符号分割符、符号等,要注意的是,Runes 资产的名字不限长度,并包括 • 这类的分割符,可能会比较复杂,在铸造新资产的时候一定要注意识别。


JSON

struct Etching {

divisibility: Option<u8>,

premine: Option<u128>,

rune: Option<Rune>,

spacers: Option<u32>,

symbol: Option<char>,

terms: Option<Terms>,

}


在分发规则部分,Runes 允许部署者进行预分配,将代币分配给自己,因此要注意识别是否为公平发射,此功能可以用于 Runestone、Rsic 这类资产的分发。


在分发规则的 Terms 数据下,包含了单次 Mint 代币数量限制、总共 mint 张数、mint 的开始与结束区块这些数据。这里可以将总 mint 次数设定为无上限,限时不限量,casey 部署的 0 号符文 UNCOMMON•GOODS 就是这样。


JSON

struct Terms {

amount: Option<u128>,

cap: Option<u128>,

height: (Option<u64>, Option<u64>),

offset: (Option<u64>, Option<u64>),

}


同时,用户自发的 mint 过程需要在 OP-RETURN 下写入 Runestone 的数据类型(与符文 NFT Runestone 无关),一次交易只能 mint 一次,因此想要获取更多的筹码,就需要在一个地址下分多个 UTXO 进行。


Runes 会在 840000 区块开始,ord 索引也已经更新到最新版本 0.18.1,现已充分支持 runes 代币查询、etch(等同于 Brc20 的 deploy)、mint 等功能,同时 Casey 也表示将部署一部分 Runes 代币硬编码到 ord 索引器中,在减半区块激活。这些资产完全公平分发,可自由 mint,Casey 曾提到过的名字有 COMMUNISTRUNE 、ANARCHISTRUNE 、CYPERPUNKRUNE。现在索引中已经可以看到名为 UNCOMMOM.GOODS 的创世符文。


Runes 资产名称的部署被 Ord 索引进行了限制,13 - 26 字符的名字在 840000 区块后就可以自由部署,12 位字符的名字被逐步解锁。每过 17,500 个区块后(大约 120 天)就解锁更短一位的名字的部署,因此要 mint 到 4 字符的代币,需要等待 3 年时间。


虽然早期超长的名称并不利于炒作,但好在能设计特殊的符号来表示资产,这个符号符合 Unicode 标准,因此可以写入很多 emoji 表情,选一个好的 emoji 也是部署 meme 时需要注意的。


预估成本


当前的 Runes 的协议代码基本已经确定,并在测试网运行了一段时间,因此可以进行一些成本的预测。我们通过在 signet 上运行 ord 索引已经可以看到 signet 测试网上部署了多达 497 个 runes 的测试代币,testnet 测试网上更是多达 963 个。同时我们也在 signet 进行了一些实验和测试,以测算 mint 时的成本花费和进度。


Signet 测试网 0~9 号 Runes 代币:


Plain Text

THESE•WILL•BE•WORTHLESS

GREG•GREG•GREG

CUBS•FIRST•RUNES•TOKEN

AMAZING•KODA•FART

SORA•PARTY•STARTS•FIVE•DOLLARS

WAKE•N•BAKE

RECURSIVE•ROBOTS•RUNES•TEST

FRENCH•WON

SATOSEA•XYZ


我们在 signet 测试网进行了多笔 runes 代币的 mint,ord 命令:


Bash

$ ord --index-runes --bitcoin-rpc-password xxx --bitcoin-rpc-username xxx -s wallet mint --fee-rate 1 --rune HARRY•POTTER•OBAMA•SONIC•IO•INU

{

"rune": "HARRY•POTTER•OBAMA•SONIC•IO•INU",

"pile": {

"amount": 1000,

"divisibility": 0,

"symbol": "🧹"

},

"mint": "645829bdaf105ccecc012629a3bbb6e9dfcfe92fa09499ea54b87092c9100946"

}


交易如下:https://mempool.space/zh/signet/tx/645829bdaf105ccecc012629a3bbb6e9dfcfe92fa09499ea54b87092c9100946


utxo


指定 destination 作为接收 Runes 代币的地址:


Bash

$ ord --index-runes --bitcoin-rpc-password xxx --bitcoin-rpc-username xxx -s wallet mint --fee-rate 1 --rune MAOBY•THE•CUTEST•CAT --postage 1000sat --destination tb1p43k8gxevpc0x3hthv9dm33589gecn8mr4rkl303js3gtvmpehltqg2mmc4

{

"rune": "MAOBY•THE•CUTEST•CAT",

"pile": {

"amount": 100,

"divisibility": 0,

"symbol": "🐈"

},

"mint": "32125d247a282ebf53b893a17f3c2c99a7747749233dc010bd9ae2934540c981"

}


交易如下:https://mempool.space/zh/signet/tx/32125d247a282ebf53b893a17f3c2c99a7747749233dc010bd9ae2934540c981


utxo


可以看到,一次 mint 交易大概会消耗 230vB 大小,参考市场热度推测 fomo 情绪,若以 feerate 在极端情况下为 300-1000 sats/vB 来计算,mint 一张的成本约是 0.0023-0.00069 BTC(150u-50u),同时 ord 支持指定 destination 地址,因此可以拆分 utxo 后可以批量 mint 到目标地址。


若减半后 fomo 情绪高涨,前期每个区块有 3000 笔 transactions 为 Runes mint 交易的情况下,以 feerate 平均为 200 sats/vb 计算,一天 Runes 代币的 mint 约消耗 198.72 btc 的 gas 成本,将可以为计算早期 fomo 筹码市值提供一些参考。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。