比特幣 NFT 協議 Ordinals 的創始人 Casey Rodarmor 提出了一個新的比特幣 FT 協議設計構想,名為「Rune」,也被稱為「符文」協議。
Rune (符文)餘額由 UTXO 持有;UTXO 可以包含任意數量的 runes。
如果交易包含一個輸出,其腳本 pubkey 包含 OP_RETURN 後跟 ASCII 大寫字母 R 的數據推送,則該事務包含一個協議消息。該協議消息是第一個之後推送的所有數據。
輸入(input)到具有無效協議消息的交易的符文將被銷毀,這允許未來的升級改變符文的分配或創建方式,避免舊客戶端錯誤地分配符文餘額。
整數被編碼為首碼 varint,其中 varint 中的前導數決定了其長度(以位元組為單位)。
Rune Token 的轉帳
協議訊息中的第一個資料輸出被解碼為一個整數序列,這個整數序列將包含「ID」、「OUTPUT」和「AMOUNT」3 種資訊。如果解碼後的整數數量不是3 的倍數,協議訊息將被視為無效。
ID:指定了進行轉帳的是哪個Rune Token。每個Rune Token 在被建立時都會被分配一個ID,ID 是從1 開始的,越早建立的Rune Token ID 值越小。
OUTPUT:決定分配給第幾個輸出。
AMOUNT:轉帳的Rune Token 數量。如果AMOUNT 數量為0,則代表帳戶剩餘的全部Rune Token 數量。
處理完整數序列所包含的所有操作後,如果還有不需要操作的Rune Token,都分配到第一個非OP_RETURN 輸出。此外,如果把Rune Token 分配到包含協議訊息的OP_RETURN 輸出中,Rune Token 可能被燒毀。
Rune Token 的建立
如果協議訊息後還有第二個資料輸出,該交易則為一筆Rune Token 建立交易。這部分的資料輸出將被解碼為「SYMBOL」和「DECIMALS」兩個整數,如果還有更多其他整數則無效。
SYMBOL:相當於BRC-20 的Ticker(即Token 名稱),最多支援26 位,可用字元只有AZ。
DECIMALS:精度,決定Rune Token 能支援小數點後多少位。
如果「SYMBOL」還未被使用,該Rune Token 將被分配一個ID 值,第一個被建立的Rune Token ID 值為1,BITCOIN、BTC 和XBT 這3 個名稱被禁用。如果「SYMBOL」已被使用,那麼建立將無效。也就是說,在Rune協議依然不支援建立同名Token。
比特幣餘額在UTXO 中的顯示
在一個UTXO 中,比特幣的餘額將顯示為BITCOIN、BTC 或XBT,又或是以ID 值為0 的方式顯示。為了保持協議簡單,(Runes)並沒有採取避免符號搶注的機制。實際上,避免符號佔用的一種有效且簡單的方式是,僅允許分配超過一定長度的符號,該長度隨著時間的推移而減少,然後最終達到零並允許所有符號。這將避免在協議的早期分配簡短的、理想的符號,並鼓勵後來者對理想符號進行競爭——如果這種競爭有意義。
更多解讀可關注Aibit媒體帳戶即時獲取!本文僅作為參考,不代表任何立場,不作為任何投資建議。投資有風險,入市須謹慎。
Website: www.aibit.com
Facebook: https://www.facebook.com/aibitcom
X: https://twitter.com/aibitcom
Telegram (CN): https://t.me/aibitcom_cn
Telegram (EN): https://t.me/aibitcom
Telegram (Announcements): https://t.me/aibitcom_announcements
Discord: https://discord.com/invite/aibitcom
Medium: https://medium.com/@aibitcom
Youtube: https://www.youtube.com/@aibitcom