原文- Casey Rodarmor
編譯- Odaily
昨天,Ordinals 創作者Casey Rodarmor 發布部落格,介紹了一個新的可替代代幣(fungible token,簡稱FT)協議Runes。
關於比特幣究竟是否需要FT,Casey Rodarmor 在其推文中表示FT 具有兩面性。一方面, 99.99% 的FT 都是「狗屎」和騙局,削弱了比特幣的純度;另一方面,它們為比特幣生態帶來大量的費用收入、開發者和用戶。 「人們喜歡代幣,它們就像賽博朋克賭場,所以費用收入可能是可觀的和持續的,直到人們對(網絡)安全預算的擔憂完全緩解。”
他補充說,目前已經出現了BRC-20、RGB 和Taproot 等FT 協定。與簡單的鏈上協定相比,RGB 和Taproot 這樣的協定很複雜,可能會為使用者體驗帶來挑戰。 BRC-20 非常簡單,與需要鏈下資料儲存和檢索基礎架構的RGB/Taproot 相比,可以提供不錯的使用者體驗;但BRC 20 代幣的問題在於,它們會產生「垃圾UTXO」而佔據比特幣的空間。
Rodarmor 表示,Runes 是以UTXO 為基礎的協議,更自然地適應比特幣,並通過避免創建「垃圾UTXO」來促進UTXO 集合的最小化。
以下內容來自Casey Rodarmor 博文,由Odaily編譯
我不確定,為比特幣創建一個新的可替代代幣(FT)協議是否是一個好主意。 99.9% 的FT 都是騙局和表情符號。然而,它們似乎不會很快消失,就像賭場似乎不會很快消失一樣。
為比特幣創建一個良好的FT 協議,可能會為比特幣帶來可觀的交易費收入、開發者關注度以及用戶。此外,如果該協議的鏈上足跡較小並激勵負責任的UTXO 管理,那麼與現有協議相比,它可能會減少危險。例如現在流行的BRC-20 ,就導致了大量垃圾UTXO 的產生。
如果我們比較現有的FT 協議,我們會發現它們有幾個重要的差異:
複雜性:協議有多複雜?實施起來容易嗎?容易被採納嗎?
使用者體驗:是否存在對使用者體驗有負面影響的實現細節?特別是,依賴鏈下資料的協定具有較輕的鏈上足跡,但引入了很大的複雜性,並且要求用戶要么運行自己的服務器,要么發現現有服務器並與現有服務器互動。
狀態模型:基於UTXO 的協定更自然地適合比特幣,並透過避免創建「垃圾」UTXO 來促進UTXO 集最小化。
原生代幣:具有協議操作所需的原生代幣的協議是繁瑣的、可提取的,並且自然不太被廣泛採用。
根據上面的維度,對比特幣生態現有的FT 協議比較結果如下:
BRC-20 :不是基於UTXO 的,而且相當複雜,因為它需要在一些操作中使用序數理論;
RGB:非常複雜,依賴鏈下數據,已經開發了很長時間沒有被採用;
Counterparty:具有某些操作所需的原生代幣,而不是基於UTXO 的;
Omni Layer:具有某些操作所需的原生代幣,而不是基於UTXO 的;
Taproot Assets:有點複雜,依賴鏈下資料。
對於比特幣來說,一個簡單的、基於UTXO 的、具有良好用戶體驗的FT 協議會是什麼樣子?下面,我想大家介紹一個非常酷的方案,它叫做「Runes」(符文)。
(1)概述
Rune(符文)餘額由UTXO 持有;UTXO 可以包含任意數量的runes。
如果交易包含一個輸出,其腳本pubkey 包含OP_RETURN 後面跟著ASCII 大寫字母R 的資料推送,則該事務包含一個協定訊息。該協議信息是第一個之後推送的所有數據。
輸入(input)到具有無效協議信息的交易的符文將被銷毀,這允許未來的升級改變符文的分配或創建方式,避免舊客戶端錯誤地分配符文餘額。
整數被編碼為前綴varint,其中varint 中的前導數決定了其長度(以字節為單位)。
(2)轉帳
協定訊息中的第一個資料推送被解碼為序列整數。
這些整數被解釋為(ID、OUTPUT、AMOUNT)元組序列。如果被解碼的整數個數不是3 的倍數,則該協定訊息訊息無效。
ID 是要分配的運行的數字ID
OUTPUT 是要賦值的輸出的索引
AMOUNT 是要指派的運行量
ID 被編碼為delta。這允許多次分配相同的符文,以避免重複完整的符文ID。例如,元組:[( 100, 1, 20), ( 0, 2 10), ( 20, 1, 5)]
進行以下分配:
ID 100 ,輸出1, 20 符文
ID 100 ,輸出2, 10 符文
id 120 ,輸出1, 5 符文
AMOUNT 0 是「所有剩餘符文」的簡寫。
處理完所有元組分配後,任何未賦值的符文都被賦值給第一個非OP_RETURN 輸出(如果有的話)。多餘的賦值將被忽略。
可以透過將符文指派給包含協定訊息的OP_RETURN 輸出,來刻錄符文。
(3)發行
如果協議訊息有第二次資料推送,則它是一個發行交易。第二次資料推播解碼為兩個整數,SYMBOL、DECIMALS。如果剩下額外的整數,則協定訊息無效。
發行交易可以使用賦值元組中的ID 0 建立任意數量的發行符文,最多可達2 ^ 128 - 1 。
SYMBOL 是一個人類可讀的26 位元基本編碼符號,類似於序數sat 名稱中使用的符號。唯一有效的字符是A 到Z 。
DECIMALS 是顯示發行的符文時應使用的小數點後的位數。
如果SYMBOL 尚未分配,則將其指派給已發布的符文,並且已發布的符文接收下一個可用的數字字符文ID(從1 開始)。
如果SYMBOL 已被指派,或是BITCOIN、 BTC 或XBT ,則不會建立新的符文。使用0 符文ID 的發行交易分配將被忽略,但其他分配仍會被處理。
(4)注意
當顯示UTXO 餘額時,UTXO 的本地比特幣餘額可以用符文ID 0 和符號BITCOIN、 BTC 或XBT 來顯示。
為了保持協議簡單,(Runes)並沒有採取避免符號搶注的機制。實際上,避免符號佔用的一種有效且簡單的方式是,僅允許分配超過一定長度的符號,該長度隨著時間的推移而減少,然後最終達到零並允許所有符號。這將避免在協議的早期分配簡短的、理想的符號,並鼓勵後來者對理想符號進行競爭——如果這種競爭有意義。
寫在最後
這個方案真的對市場有用嗎?我不知道。
它只是盡可能簡單,不依賴鏈下數據,沒有原生代幣,並且非常適合比特幣的原生UTXO 模型。這樣的方案,可能會從其他鏈上足跡較差的方案中吸引用戶,並將開發者和用戶的注意力轉向比特幣,鼓勵他們採用比特幣本身。
另一方面,FT 的世界是一個完全無法挽回的欺騙和貪婪的深淵,所以它可能會被洗掉。