作者:Jasmine
X/推:@Jasmine9m88
文末「讀原文」直達原推
眾所周知,Casey 推出Runes 的原因是他認為BRC20 在技術上存在不足,希望透過新的FT協議來減輕對比特幣網路的壓力。 Runes 協定基於UTXO,不僅可以有效減少垃圾UTXO的膨脹,而且具有良好的兼容性和可擴展性。它的核心協議簡化到僅500 行程式碼,目的是為開發者和用戶提供一個簡單易用的同質化代幣協議。
Casey:「我不確定為比特幣創建一個新的可替代代幣協議是否是個好主意。可替代的代幣有99.9% 都是騙局和meme 。然而,它們似乎不會在短時間內消失,就像賭場似乎不會在短時間內消失一樣。為比特幣創建一個好的可替代代幣協議可能會為比特幣網路帶來可觀的交易費收入,吸引開發者的關注,帶來更多用戶。此外,如果這個協議的鏈上足跡較小,同時促進負責任的UTXO 管理,那麼它可能相比現有協議更能減輕損害。”
自從去年9月宣布開發Runes 協議以來,經過幾個月的精心打磨,相比BRC20 等FT 協議,Runes 具有哪些特色和優勢呢?
本文基於Casey 近期的演講、訪談、部落格以及GitHub 上的內容,對上述問題進行了梳理,以供大家參考,不代表本人觀點。由於本人非技術背景,如有錯誤,歡迎指出。
Runes VS BRC20
1.操作更簡潔、更有效率
交易次數減少:BRC20 代幣的部署和鑄造分別需要兩次交易完成,代幣認領則需要三次。而Runes 僅需一次交易即可完成所有操作,且不會產生多餘的無用UTXO 。
轉帳效率提升:BRC20 的一筆轉帳交易僅支援一個接收者和一種代幣。而Runes 支援同時向多個接收者轉賬,且可轉帳多種Runes 代幣。
2、對開發者更友好
資料儲存與索引:BRC20 的資料以JSON 格式儲存在隔離見證中,基於帳戶模型,餘額與位址綁定。而Runes 的資料儲存在交易的OP_RETURN 欄位中,採用UTXO 模型,代幣餘額直接與UTXO 綁定。因此,確認Runes 餘額時,只需驗證所擁有的UTXO ,無需像BRC20 那樣掃描整個網路狀態,對索引更加友善。
提供參考實作(reference implementation):BRC20推出時僅有規範而無索引、瀏覽器、錢包等配套設施。而Runes在推出時便自備參考實作(即ord),包括索引、瀏覽器和錢包等功能。 BRC20依賴序數理論進行代幣轉移,實現複雜。而Runes獨立且不依賴序數或銘文,編寫替代實作應更為容易。
3、相容性和擴充性更強
與UTXO二層協定相容:Runes基於UTXO的設計使其能夠與閃電網路、CKB 等基於UTXO 的比特幣二層協定更能相容。透過“ UTXO 同構綁定”, CKB 甚至可以直接為Runes 提供智慧合約功能。
支援SPV(簡單支付驗證):SPV 錢包是一種輕量級的比特幣錢包,僅下載和驗證與用戶交易相關的區塊頭數據。用戶可以使用SPV 錢包來管理和使用Runes 代幣,享受輕巧、簡潔且快速的交易體驗。這是BRC20 所無法實現的。
支援軟分叉升級:與BRC-20 協定相比,Runes具有更強的可擴展性,可以透過軟分叉進行升級。
4.代幣發行(etch)方式更靈活
名稱長度支援1-28 個字元:BRC20 的代幣名稱限於四個字元以內,而Runes 代幣名稱長度可在1 至28 個字元之間調整。為了平衡Runes 的發行節奏並防止熱門短名稱被迅速佔用,Runes 協議在上線初期的四個月內要求名稱長度至少為13 個字母。此後每隔約四個月,名稱的最小長度將減少一個字母,直到下一次減半事件發生時,可建立僅含單一字元的Runes(總計26 個)。
名稱更明確:與BRC20 代幣名稱可能包含任意Unicode 字符不同,Runes 名稱僅支援A 到Z 的字母和• 字符,因此名稱更加明確且難以偽造。
解決名稱搶跑問題:採用Commit-Reveal 機制來防止礦工提前得知Runes ++
名稱並進行搶跑。
引入多樣化代幣發行方式:除了open etch(專案方無法預先分配代幣)和固定總量發行(專案方可以預先分配代幣)兩種發行方式外,還在考慮添加更多玩法以放寬open etch 的不可預留的要求。此外,Runes 還可以是「 expressive 」 的——也許可以透過創造父子銘文的方式,把Runes 放到子銘文下面。
5.安全性更高
抵禦投毒交易攻擊:BRC20 可能會遭受到投毒交易(攻擊者透過向受害者地址發送大量小額BRC20 轉帳銘文,可能導致接收者的餘額被「鎖定」)攻擊, Runes 則不會存在此風險。
此外,Casey 還對其他幾個較古老的FT 協議與Runes 進行了粗略的對比,Runes 的優勢除了其更簡單之外,還體現在以下幾個方面:
Runes VS RGB
使用者體驗更優:接收RGB 代幣的前提是地址上必須已存在UTXO,而Runes 則不需要。
安全性更強:Runes 採用比特幣的UTXO 模型,因此不受競態條件(race condition) 的影響。
在鏈上的:在進行RGB 交易時,不僅需要從比特幣區塊鏈下載數據,同時也需要向伺服器下載和上傳數據。 Runes是在鏈上的,因此交易可以在不需要上傳或下載伺服器資料的情況下進行,甚至可以在不與接收者通訊的情況下進行交易。
名稱唯一:Runes代幣的名稱具有唯一性,而RGB代幣名稱可以重複。
Runes VS Taproot Assets
在鏈上的:與RGB相似,#Taproot Assets 的交易不僅需要從比特幣區塊鏈下載數據,還需要向伺服器下載和上傳數據。 Runes的交易在鏈上完成,無需依賴額外的伺服器資料互動。
Runes VS Counterparty
無需原生代幣:Counterparty 需要利用原生資產來創建代幣,而Runes 則不需要。
基於UTXO 的模型:與Counterparty 的帳戶模型不同,Runes 採用基於UTXO 的模型。這有助於避免地址重複使用問題、提升腳本功能,並更自然地與比特幣生態系統融合。
腳本相容性:Runes 自動相容於所有目前和未來的腳本操作碼及位址類型,而Counterparty則需要額外開發這些功能,這增加了Runes 的靈活性和可擴充性。
Runes VS ERC20
一致性:所有Runes代幣的行為都是統一的,而ERC20代幣的發行則依賴各自的智能合約,這可能導致複雜性和需要額外的審計。
名稱唯一:Runes代幣的名稱具有唯一性,而ERC20代幣名稱可以重複。
「總有一天我們都會逝去,也許重要的是我們留下了什麼。你是想在比特幣這條堅固的鏈上留下永恆的印記,還是在其他可能消逝的鏈上建設呢?”
—Casey
以上。
內容參考:
https://rodarmor.com/blog/runes/