menu-icon
anue logo
熱門時事鉅亨號鉅亨買幣
search icon

區塊鏈

BRC-20和「客戶端驗證」:你不該繼續購買用這些「協議」發行的Token

BlockBeats 律動財經 2023-05-09 16:30




BRC-20、上鏈的意義與「客戶端驗證」 :為什麼你不該繼續購買用這些「協議」發行的 token——它們根本不能被稱為協議。

比特幣協議中有且只有一種東西:UTXO,比特幣交易的輸出,它的數額代表它的價值(以「聰」為單位),它的「ScriptPubKey(腳本公鑰)」表示它的花費條件(解鎖條件)。  



可以用來編寫腳本公鑰的操作碼是由比特幣的共識規則提供的。這些操作碼的意義在於編程驗證條件(例如單簽名、多簽名、時間鎖,等等),從而為一筆比特幣 UTXO 設定花費條件(鎖);但它並不能用來定義任意我們想要的規則。


也就是說,比特幣腳本並不能用來創造一種不是比特幣的 UTXO,也不能用來製作任意的安全機制(其實這兩者是一回事)。 所以,如果你想要在比特幣鏈上發行資產,你永遠只能依靠「鏈下協議」,舉凡 Omni、Counterparty、RGB、Taro、Ordinals,都不例外。 

關鍵在於,既然腳本公鑰(被比特幣網路理解的驗證程序)不能被任意編程,則這些鏈下協議所發行的資產,無論往鏈上寫入什麼數據,都不可能轉化成這些資產的安全機制。舉例,假如你發行了一種資產,無論你往鏈上寫入什麼數據,都不可能要求比特幣網路來控制這種資產不通膨。 

Omni 協議使用 OP_RETURN 輸出記錄交易數據、Ordinals NFT 利用特定的格式(inscription)加載內容,但這些東西都無法進入腳本公鑰,都無法成為有意義的安全機制。 那麼,如何增設這些自定義的規則呢? 

答案是:

(1)我們要讓資產的買方運行額外的驗證程序(證據由買方提供),驗證賣方所賣出的資產的屬性,這就是所謂的「客戶端驗證(client validation)」。比如,買方驗證賣方所賣出的資產具有資產發行者的簽名,以驗證它是「真幣」;   

(2)要讓資產「附身」於某一個 UTXO,從而讓比特幣交易變成鏈外交易的證據(witness)、防止同一個資產被重複花費(因為一個 UTXO 不可能被花兩次)。 

這些自定義的規則,假設它能在客戶端驗證的基礎上支撐其一個安全的協議,當然可以寫入到比特幣區塊鏈,但是,這樣的操作並不能增加安全性,因為真正的安全性來自於客戶端驗證。比特幣協議做的事情,只是阻止 UTXO 重複花費,同時允許運用比特幣腳本,為這樣的資產編寫在比特幣鏈上轉移的方法。 

當前 Inscription 將內容通過見證腳本暴露出來的方法,僅僅起到了上文所述的(2)的作用,即標記特殊的比特幣交易、阻止重複花費,但是,只要它不要求客戶端運行額外的驗證,就無法為這些 NFT 也好 FT 也好增加定製化的規則。 

(1)將資產附着到 UTXO 上並不需要你將資產的內容完全公布上鏈;

(2)將為資產轉移而提供的數據寫到鏈上將耗費大量空間,經濟性極差。這都是沒有意義的事,將這些數據在鏈下提供給買方就可達成同樣的效果(認為放在鏈上可以防止丟失的觀點也是可疑的,它存在不意味著你就能找回來)      

所以,請停止買入使用 Inscription 方法發行的 Token,直到這些 Token 的開發者提供允許客戶端驗證的規則,否則你買入的就是空氣,得不到任何的保護。開發者們,如果你真的在乎你的用戶,請先設想這樣的客戶端驗證規則並實現這樣的客戶端。  

許多朋友從別的社區進入這個生態,往往帶着固有的認知來理解比特幣,但在別的鏈上有意義的事,在比特幣上不一定有意義。 請好好理解比特幣,理解客戶端驗證範式,理解將一切其餘資產都交給鏈外協議的智慧。通過消耗區塊空間(共識資源)來獲得可編程性的做法,註定在可擴展性和隱私性上面臨可悲的結局。

如果你想尋找在「客戶端驗證」上最完整的想法,請了解 RGB 協議: https://btcstudy.org/tags/RGB/,

RGB 的錢包和工具庫:https://rgb.info/zh/home/

另一個 RGB 網站:  https://t.co/8SG3T1ld6k

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠

文章標籤


Empty