Runes協議即將上線,從技術角度解析其原理、分發規則和預估成本

WEEX 唯客博客, 原文作者:Trustless Labs 距離 BTC 減半的 840000 區塊還有不到 3 天時間,這也意味著整個 BTC 生態期待已久的 Runes 協議即將上線,作為 BTC 生態規模最大的公平發射,雖然可能面臨著巨大的競爭內卷壓力,但這任是目前加密世界最巨大且公開的 alpha 機會。 雖然目前 OKX 錢包、Unisat 等平台已經提供了公共的蝕刻平台,但想要在競爭中拿到更多籌碼,運行自己的比特幣全節點與索引,並了解 Runes 運行的相關原理,從而針對性地進行優化將帶來一定的優勢。 在本文中,Trustless Labs 將從技術實現、分發規則、預估成本三部分介紹 Runes 協議 。 Runes 協議是 Ordinals 創始人 Casey 部署在比特幣網路上發行同質化代幣的資產協議,Runes 的基本面也就是其接棒了 Ordinals 協議的正統性,成為了下一個 BTC 鏈上資產公平分發的窗口,Ordinals 社區需要藉助 Runes 爭取 BTC 生態代幣資產的定價權,Casey 甚至喊話 Runes 生態上線一個月後不到 10 億美金市值就切腹自盡…… 可以預計,減半后 Runes 協議將帶來十分活躍的鏈上交互,可以關注的熱點將包括但不限於: Casey 在 Runes 協議中硬編碼的創世符文; RSIC、Runestone 等 NFT 對應的 Runes 代幣空投; 社區主導的 Runes 代幣的部署和 fomo; 原理 Brc 20 的方式被稱為銘刻,即將代幣數據寫入隔離見證的簽名中,並將數據綁定在一個特定的聰上。本質上這是把 BTC 當為存儲空間,轉賬完全依賴鏈下的 BRC 20 索引賬本,為了保證交易的合法,BRC 20 的轉賬必須先通過銘刻將對應代幣變為可轉移狀態,再通過第二個交易轉移對應銘刻后的 UTXO 完成轉賬。 Atomicals 的方式被稱為染色,ARC 20 的餘額依靠一筆 UTXO 下的聰數量表示,嚴格遵循 1 token = 1 sats 的對應關係,因此 Arc 20 的轉賬可以完全被 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 代幣將轉移到 utxo 1 的目標地址,而剩下的  Runes 代幣會自動按順序與其他 utxo 如 utxo 2 綁定。utxo 1 可以輸出給別人的地址,utxo 2 可以輸出給自己作為找零,這樣就完成了一次 Runes 轉賬。同時 Runes 還附帶了 burn 的功能,可聲明銷毀代幣。 與 BRC 20 僅使用 BTC 存儲轉賬記錄不同, Runes 代幣嚴格 UTXO 綁定,允許其適用 BTC UTXO 所附帶的各種好處;該方式與 ARC 20 類似,但不同點在於,Runes 的 utxo 可以表示任意數量的代幣,而 ARC 20 的數量嚴格與綁定 UTXO 下包含的 sats 數量有關(難以分拆);但同時,ARC 20 也更不依賴索引器,Runes 代幣轉賬的合法性依然需要 Ord 索引賬本的記錄。 struct Runestone { edicts: Vec, etching: Option, mint: Option, pointer: Option,}struct Edict { id: RuneId amount: u 128, output: u 32,} OP-RETURN 下 json 數據的靈活性,允許其一次性操作 Runes 代幣的批量轉賬,包括將不同類型 Rune 資產如 RuneA 與 RuneB 在同一個比特幣交易中轉移。 分發規則 在 Runes 代幣的初始分發流程下,代幣部署者首先需要先定義其代幣信息與分發規則。 代幣信息這包括了最小拆分單位、資產名字、名字的符號分割符、符號等,要注意的是,Runes 資產的名字不限長度,並包括 • 這類的分割符,可能會比較複雜,在鑄造新資產的時候一定要注意識別。 struct Etching { divisibility: Option, premine: Option, rune: Option, spacers: Option, symbol: Option, terms: Option,} 在分發規則部分,Runes 允許部署者進行預分配,將代幣分配給自己,因此要注意識別是否為公平發射,此功能可以用於 Runestone、Rsic 這類資產的分發。 在分發規則的 Terms 數據下,包含了單次 Mint 代幣數量限制、總共 mint 張數、mint 的開始與結束區塊這些數據。這裡可以將總 mint 次數設定為無上限,限時不限量,casey 部署的 0 號符文 UNCOMMON•GOODS 就是這樣。 struct Terms { amount: Option, cap: Option, height: (Option, Option), offset: (Option, Option),} 同時,用戶自發的 mint 過程需要在 OP-RETURN 下寫入 Runestone 的數據類型(與符文 NFT Runestone 無關),一次交易只能 mint 一次,因此想要獲取更多的籌碼,就需要在一個地址下分多個 UTXO 進行。 Runes 會在 840000 區塊開始,ord 索引也已經更新到最新版本 0.18.1 ,現已充分支持 runes 代幣查詢、etch(等同於 Brc 20 的 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 代幣: THESE•WILL•BE•WORTHLESSGREG•GREG•GREGCUBS•FIRST•RUNES•TOKENAMAZING•KODA•FARTSORA•PARTY•STARTS•FIVE•DOLLARSWAKE•N•BAKERECURSIVE•ROBOTS•RUNES•TESTFRENCH•WONSATOSEA•XYZ 我們在 signet 測試網進行了多筆 runes 代幣的 mint,ord 命令: $ 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”: “645829 bdaf 105 cce cc0 12629 a 3 bbb 6 e 9 dfcfe 9 2fa 09499 ea 54 b 8709 2c 9100946”} 交易如下:https://mempool.space/zh/signet/tx/645829bdaf105ccecc012629a3bbb6e9dfcfe92fa09499ea54b87092c9100946 指定 destination 作為接收 Runes 代幣的地址: $ ord –index-runes –bitcoin-rpc-password xxx –bitcoin-rpc-username xxx -s wallet mint –fee-rate 1 –rune MAOBY•THE•CUTEST•CAT –postage 1000 sat –destination tb 1 p 43 k 8 gxevpc 0x 3 hthv 9 dm 33589 gecn 8 mr 4 rk l3 03 js 3 gtvmpehltqg 2 mmc 4 { “rune”: “MAOBY•THE•CUTEST•CAT”, “pile”: {   “amount”: 100,   “divisibility”: 0,   “symbol”: “🐈” }, “mint”: “32125 d 247 a 282 ebf 53 b 89 3a 17 f 3 c 2c 99 a 774774923 3d c 010 bd 9 ae 2934540 c 981”} 交易如下:https://mempool.space/zh/signet/tx/32125d247a282ebf53b893a 17 f 3 c 2c 99 a 774774923 3d c 010 bd 9 ae 2934540 c 981  可以看到,一次 mint 交易大概會消耗  230 vB 大小,參考市場熱度推測 fomo 情緒,若以 feerate 在極端情況下為 300-1000 sats/vB 來計算,mint 一張的成本約是 0.0023-0.00069 BTC(150 u-50 u),同時 ord 支持指定 destination 地址,因此可以拆分 utxo 后併發批量 mint 到目標地址。 若減半后 fomo 情緒高漲,前期每個區塊有 3000 筆 transactions 為 Runes mint 交易的情況下,以 feerate 平均為 200 sats/vb 計算,一天 Runes 代幣的 mint 約消耗 198.72 btc 的 gas 成本,將可以為計算早期 fomo 籌碼市值提供一些參考。 WEEX唯客交易所官網:weex.com

Previous:

Next: