原文:《Counterparty vs RGB vs TARO》by Mandel duck
我最近參加了一個古董NFT 節(Historical NFT festival)。什麼是「古董NFT」呢?簡單來說就是在NFT 變成流行文化之前就出現的NFT。在這個活動上,Counterparty 協議似乎成了焦點,這可能是因為它實際上比特幣上的第一個NFT 平台,可以追溯到2014 年(在它之前也有其它協議,但Counterparty 是第一個被用來鑄造現在我們稱為NFT 的藝術品而不是金融Token的協議)。
時間快進到2022 年,比特幣網絡上又出現了兩種新的協議,分別叫做「RGB」和「Taro」(兩者有些相似)。
RGB 和Taro 在很大程度是一樣的東西(TRAO 曾用名「CMYK」,這是對RGB 的一種調侃),而且它們也不在我擅長的領域,所以,我不會過多比較兩者的細節。相反,我想比較一下Counterparty 跟這些新的比特幣2.0 Token協議,它們到底新在哪裡?
Counterparty 總結
Counterparty 在2014 年推出,當時還有其它Token協議,例如染色幣和Mastercoin(現在叫做「omni」)。染色幣似乎是為了「將黃金的份額在區塊鏈上Token化」而創建的。 Mastercoin 則商業味很重,要是沒有Mastercoin 背後的公司幫忙,是非常難用的。 Counterparty 是作為一個開放標準啟動的,而且它又一個易於使用的錢包,每個人都可以培育它,讓它在社區用於休閒的比特幣中得到採用。
Counterparty 的創始人在設計它的時候考慮到了金融服務,例如,可以使用Token來表示一家公司的股權,但是,這裡面有許多法律問題和連帶影響,所以最終他們放棄了這個項目,成立了一個更加商業化的組織(symbiont.io)。這樣一來,Counterparty 就交到了社區手中,大家開始將它用於「社區項目」,比如RAREPEPE,藝術收藏品,等等。
Counterparty 怎麼工作?
染色幣會跟踪UTXO(譯者註:原文為「聰」,是比特幣的最小單位,而比特幣都是以UTXO 的形式超存在的),Counterparty 則不同,它是比特幣之上的一個數據層。
換一種解釋方法:染色幣的意思是「這筆比特幣(UTXO)代表某一根金條」;如果Alice 要把這根金條轉移給Bob,那隻需要把這筆比特幣發送給Bob 就好(技術上沒有麼這麼簡單,但對一篇medium 帖子來說,這樣講就夠了)。
但是,如果你想買一杯咖啡,但不小心把代表金條的比特幣也發給了咖啡師Charlie,那麼Charlie 就會得到這些黃金(至少是代表著一些黃金的比特幣)。
這就意味著,你在使用染色幣的時候必須很小心,因為你很容易會意外地把Token發送給一個從來沒有這樣的預期的接收者,甚至TA 可能看不見這筆錢還有別的價值、也無法把它轉回給你。
相反,在Counterparty 中,你必須放棄一筆特殊的Counterparty 交易,才能轉移Token的所有權。 Counterparty 節點會在鏈外解析這筆交易的數據,然後更新一份放在Counterparty 節點中的賬本/數據庫。
這是使用OP_RETURN 來完成的,這是一種在比特幣交易中存儲任意數據(因此可以將數據存入比特幣區塊鏈)的方法。
載入的OP_RETURN 數據需要表明這個意思:
-
發送1 RAREPEPE 到地址 X
-
你需要把這個OP_RETURN 放到一筆比特幣交易中,只要你使用當前持有RAREPEPE Token的地址的私鑰簽名這筆交易,Token就會轉移到OP_RETURN 數據指定的新地址。
-
使用OP_RETURN 的一個優勢在於,對Counterparty 協議不感興趣的全節點既不需要存儲,也不需要驗證這些數據,而且可以把這些數據從節點中刪去。
如果我們已經有了Counterparty,為什麼還要創建RGB/Taro?
這個問題很好。因為從今天來看,Counterparty 似乎比RGB 和Taro 擁有更多的特性,而且從2014 年開始運行至今。那麼,為什麼我們還需要製作新協議呢?
我認為,開發者傾向於從零開始製作一套新協議,而不是在現有的協議上開發,可能有幾個原因。
動機
我認為,一個很大的理由是,這些開發者就是想創建自己的項目、擁有自己的「孩子」。人總是更有動力開發自己的想法,而不是維護和提升現有的項目。
技術
從零開始,你就可以使用最新的學習成果和技術;在現有的代碼中插入新的範式可能會很麻煩。許多看過Counterparty 代碼的開發者認為那很糟糕。尤其是以今天的標準和密碼學的新技術角度來看。
可擴展性
因為RGB/Taro 使用客戶端驗證技術(下文我們會解釋),它天生更容易擴容,因為並非每個用戶都需要存儲所有Token的全部歷史。
無知
許多開發者要么不知道Counterparty,要么認為這個項目已經死了。
Counterparty Token
我認為這也是一種重要的因素。比特幣愛好者基本上不喜歡開發一套擁有自己的Token的協議,而Counterparty 協議有,叫做「XCP」。我感覺Token發行永遠地玷污了這個項目,以事後之明來看,最好不要發行這種Token。
但是,我也要說,這種Token不像其它的協議Token,因為
a)你不需要用到它
你只需要使用BTC 就可以製作Counterparty 交易、發行資產、使用去中心化的交易平台,不用管什麼XCP
b)它是公平發行的
不像其它舉辦過ICO 的協議最終讓創始人致富,XCP 是通過 燃燒證明 來分發的,意思是,你只有燒掉比特幣才能獲得XCP。這意味著創始人也只能燃燒自己的幣才能獲得XCP,因此不能通過預先發行來致富。
XCP 有什麼用?
雖然你不需要持有XCP 來使用Counterparty,但如果你要使用自定義的名稱來發行資產,就需要用到它。 Counterparty 的資產名稱都是獨一無二的,類似於URL(網站域名),所以你會遇到跟域名搶註一樣的問題,即,有些人會提前買下帶有流行詞彙的域名。
在Counterparty 中,為了緩解這一點,你必須持有XCP 才能以自定義的名稱發行資產,例如SATOSHI 幣和FREEDOM 幣。
另一種需要少量XCP 的場景是使用Counterparty DeX(去中心化交易平台)。 DeX 允許Counterparty 資產的點對點、非託管式交易,意思是,我可以掛一個賣單,提出使用1 RAREPEPE 交換1 SATOSHICARD,然後把這個訂單廣播到比特幣網絡中,如果某人掛了一個賣單,使用1SATOSHICARD 交換1 RAREPEPE,兩個訂單訂單會自動匹配,然後資產就轉移了。
因此,如果一個用戶只是想拿一種Token換取另一種Token,是不需要用到XCP 的。但是,當資產不是直接交換,而是通過一種流動性更強的貨幣來買賣的時候,交易會更通暢。理想情況下,應該使用BTC,但技術上來說,就不太可能,因為Counterparty 協議中不存在比特幣,只存在Counterparty 資產,所以,大家的想法是,可以拿資產賣成XCP,然後到交易平台把XCP 賣成BTC。 (最終來說,基礎資產是PEPECASE,而不是XCP!)
RGB/Taro 哪些地方優於Counterparty?
除了因為RGB/Taro 沒有自己的Token因此給人印象更「乾淨」以外,還有許多技術創新,讓RGB/Taro 引人注目。
我認為,最大的技術優點是它們存儲數據的方式。
如前所述,Counterparty 使用OP_RETURN 輸出,把可以更新其賬本/狀態的Counterparty 消息存儲的比特幣區塊鏈上。因為它使用OP_RETURN,常規的比特幣節點既不需要解析,也不需要存儲這些數據;然而,如果你是一個Counterparty 節點,你不得不存儲一個包含了所有Counterparty 交易狀態的一個很大的賬本。
而RGB/Taro 使用客戶端驗證。
這意味著,賬本或者說網絡的狀態不是存儲在比特幣區塊鏈上的,而是每個需要存儲這些數據的用戶把數據存在自己的數據庫裡。
這個數據的一條哈希值/證據會存儲在比特幣區塊鏈上;而且,通過有技巧地使用默克爾樹,你只需要存儲你想要交互的Token的數據。
舉個例子,在Counterparty 中,我是Alice,我要給Bob 發送1 RAREPEPE,然後Charlie 要給Daid 發送1 SATOSHICARD,我必須存儲Charlie 和David 們的狀態的記錄,即使它們跟我的交易完全無關。 Charlipe 和David 也可以看到我發給Bob 的交易,所以它的隱私性會差一些。
而在RGB/Taro 中,我可以忽略所有跟Charlie-David 交易有關的數據。如果David 後來發送SATOSHICARD 給我(Alice),我可以在那時候再存儲和驗證數據。
最終讓RGB/Taro 更加隱私的是,第三方將無法知道我的交易的內容,除非我主動向他們曝光。這也意味著我可以存儲更少的數據。這個哈希值/證據跟一個包含在tapscript(taproot 腳本)中的常規比特幣簽名是沒有分別的,所以RGB/Taro 交易看起來就跟常規的比特幣交易一樣。 Counterparty 交易是透明的,因為他們用的是OP_RETURN,因此可以被(也曾經被)節點和礦工審查。
(注:似乎RGB 也允許你使用OP_RETURN(而非tapscript)來存儲哈希值,但是,它是一種泛用的哈希值,無法跟其它基於哈希值的OP_RETURN 協議——比如opentimestamps——區別開來。)
RGB/Taro 是新項目(有風險資本支持)可能也能激勵和資助更多開發者開發協議,最終創造出更好的工具、更流暢的錢包,等等。
許多從2014 年開始資助和開發Counterparty 的公司後來都破產了,或者遷移去了別的鏈(比如以太坊),讓開發速度變得緩慢,因為整個生態很大程度上依賴於社區的捐贈。
Counterparty 哪些地方優於RGB/Taro?
RGB/Taro 的客戶端驗證特性的一個缺點是,如果我弄丟了我的數據而且其他人都沒有備份,那麼我就無法再發起交易了,所以實際上就是弄丟我的資產了。
而在Counterparty 中,狀態可以隨時從比特幣區塊鏈上重新解析和計算出來。
主觀上來說,我也認為,資產用名唯一的特性,讓Counterparty 更適合於「收藏品/NFT」。
就功能而言,Counterparty 也領先於RGB/Taro,它允許用戶發行資產、轉移資產、接收資產、在去中心化交易平台上交易、分紅、批量發送、創建自動售貨機,等等。
Counterparty 也有一個現成的生態,社區已經開發了很多年了。
哪些地方RGB、Taro 和Counterparty 做的都不好?
我個人認為,所有這些協議都有一個問題,就是它們需要發起鏈上交易來轉移非同質資產和同質化資產的所有權。技術上來說,你可以在它們上面使用一種同質化Token(比如穩定幣)建立一個閃電網絡。但是,放到NFT 上,我認為人們設想的有用場景是實現不了的。
一個例子是拿NFT 來博彩。熱門的遊戲每一秒會執行幾千次甚至幾百萬次交易,如果每一筆交易都需要發起一筆鏈上的比特幣交易,那就完全無法擴容的,這會導致只有少數用戶能夠玩上游戲,而且還要支付很高的手續費。我曾經在2017 年目睹這樣的事情,那時候我拿Counterparty 來玩遊戲,玩家必須為交易價值1 美元的遊戲物品支付10 美元的手續費,而且還要等待幾天才能看到交易確認。
在這方面,RGB 和Taro 也沒有太大變化,RGB 支持批處理交易(Counterparty 也可以)。但我希望這些協議在未來可能出現的比特幣側鏈項目上找到更好的安身立命之所。