一文讀懂比特幣RGB協議

作者:Federico Tenga,Bitfinex RGB團隊成員、Iris Wallet開發者;翻譯:金色財經xiaozou

最近,人們對比基於特幣和閃電網路的代幣越來越感興趣。創建代幣來代表資產的想法並不新鮮,這些代幣資產可以安全便捷地轉移和存儲,就像比特幣一樣。確實,2013年,Counterparty和OmniLayer(以前的Mastercoin)等協議已經開創了這個想法,後來被以太坊和其他山寨幣採用。然而,使用山寨幣來保障金融資產並不理想,因為它們無法提供與比特幣同等的安全性和去中心化程度。出於這個原因,多年來也出現了一些項目,試圖使比特幣網路上的代幣協定現代化,並使其與閃電網路相容,特別是RGB、OmniBolt和最近的Taro。本文將重點放在RGB,全面概述其工作原理及價值主張。

1.比特幣協議上的代幣遺產

老的基於比特幣的代幣協議,如Counterparty和OmniLayer,通過將元數據置入比特幣交易中為它“著色”,並信號示意它應該被視為代幣轉移。這種訊號通常發生在OP_RETURN輸出中,正常的比特幣節點會忽略它,但可以由代幣協議感知節點解釋,然後強制執行代幣協議驗證規則。

雖然這種設計是有效的,但也存在一些缺點:

· 與代幣轉移相關的資訊數量受到OP_RETURN輸出位元組的限制,根據標準規則是80字節,足以用於基本的交易資料編碼,但還不足以支撐更複雜的用例。

· 代幣協議節點需要掃描整個區塊鏈,尋找可能與OP_RETURN輸出中的用戶相關的代幣轉移,隨著區塊鏈規模的增長,這個過程變得更耗資源。

· 對使用者的隱私保護非常糟糕,因為所有交易資料對鏈上的任何人都是可見的,並且你使用的代幣的匿名程度可能比你通常使用的比特幣弱幾個數量級。

2、鏈下轉移

為了改進這項設計,RGB專案提出了更可擴展、更具隱私意識和更面向未來的解決方案,該解決方案基於客戶端驗證和一次性密封(single-use seals)的概念,一次性密封概念最初是由Peter Todd在2017年提出的。

這個想法的核心是將比特幣區塊鏈只用於非它不可的情況下,即利用其工作量證明和網路去中心化特性來實現雙花保護和抗審查性。所有代幣轉移驗證工作都可以移出全局共識層,並維持鏈下形式,僅將其委託給接收付款的用戶端。

這一切是如何運作的呢?在RGB中,基本上代幣總是需要分配給比特幣UTXO(已經存在或特別創建的),為了轉移代幣,你需要花費這樣的UTXO。在花費UTXO時,比特幣交易必須包含一個訊息承諾,承諾該訊息包含了RGB支付資訊、定義輸入、代幣將發送到的比特幣UTXO、資產id、金額、支出條件及其他你可能想要附加的額外數據。

LnBQoqrWgI47Ivmp7lSrEoRoyGV4VefYNgqG3gR6.png

因此,要轉移分配給比特幣UTXO的RGB代幣,一定需要比特幣交易。然而,RGB轉移的輸出並不需要與比特幣交易的輸出相同!正如我們在上面的例子中看到的,RGB交易可以輸出一個與提交給它的比特幣交易完全無關的UTXO。這意味著RGB代幣可以從一個UTXO「傳送」到另一個UTXO,而不會在比特幣交易圖譜中留下任何痕跡。這對隱私保護很有好處!

在這種設計中,比特幣UTXO被用作包含RGB資產的一次性密封,並且想要轉移資產,基本上需要開啟舊封印,並蓋上新封印。

RGB特定的支付資料透過專用的通訊通道從支付方的客戶端傳輸到接收方客戶端,該通道將驗證RGB協定規則是否已遵守。這樣,區塊鏈觀察者將無法提取有關RGB用戶活動的任何資訊。

不幸的是,驗證收到的付款不足以確保發送方是剛剛發送給你的資產的真正所有者,因此,要將收到的付款視為最終付款,你必須從付款方那裡收到與剛剛發送的代幣相關的所有交易歷史記錄,一直到最初的發行。透過驗證所有交易歷史記錄,你可以確保資產沒有通膨,並且與資產相關的所有支出條件均被遵守。

zZVf5MlHozml9TA3HMdyWavHbBD9OISh9cWrjsEz.png

這種設計有助於可擴展性,因為你不必驗證資產的整個歷史,只需驗證與你相關的那些交易。此外,交易不會廣播到全局帳本,提高了隱私性,​​因為知道你交易存在的人更少了。

3、盲化密鑰(Blinding secrets)

為了進一步提高隱私性,RGB支援輸出的盲化,這意味著在你向需要向你付款的人發送的支付請求中,你不會披露你想要接收代幣的UTXO,你只是要求付款人將代幣發送到一個哈希值,這個哈希值是你透過將UTXO與隨機盲化金鑰連接起來產生的。這樣,支付方不會知曉接收代幣的UTXO,因此,交易所或其他服務提供者不可能知道他們是否在幫助某個監管機構「黑名單」的UTXO提現,也不可能監控代幣將來會在何時被花費。

請注意,當支付代幣時,必須向接收方透露盲化金鑰,以便接收者可以驗證交易歷史中的所有比特幣交易。這意味著使用RGB,你目前是具有完全的隱私性,但未來的代幣持有者將能夠看到轉移所涉及的全部UTXO。因此,雖然用戶在接收和持有代幣時享有完美的隱私保護,但隨著代幣在人群之間不斷轉移,用戶過去金融活動的保密性會隨著時間的推移而降低,接近我們過去比特幣交易歷史的隱私程度。

4.閃電網路相容性

由於RGB是基於比特幣建設的,因此也可以將RGB代幣轉移到閃電網路上,並且已經有人在研究這個問題了。閃電網路是一個基於支付管道的可擴展性解決方案,實際上需要一些工作來引導各資產良好的渠道流動性,這可以透過資產的廣泛採用來實現,也可以透過通路管理軟體直接連接到支援用戶感興趣的資產的節點,創建某種特定於資產的子網路。

另一個讓不太受歡迎的資產在閃電網路上可行的解決方案是引入節點,在特定資產和比特幣之間提供交換服務。這樣,一旦用比特幣兌換,價值就可以透過比特幣的流動性在網路上傳遞開來,當到達路徑的另一端時,另一個交換節點將比特幣轉換回原始資產。這將消除對特定流動資產網路的需求。然而,為了使其成為現實,各資產與比特幣的交易量需要足夠大,以激勵做市商在網絡多處運營交易節點,提供足夠低的買賣價差,以避免從兩筆交易之間的支付中損失太多價值。

fhtSwIHlaPktkY8QF0YxwdPwpVowif3GioSbk6ev.png

5.高級智能合約

透過使用比特幣交易,RGB自動繼承了比特幣的所有智慧合約功能,但不僅限於此!當你將代幣轉移給交易對手方時,可以在付款中定義該交易對手方將來必須滿足的額外支出條件。這種額外的支出條件不會由區塊鏈全域共識強制執行,而是由RGB節點驗證過程強制執行。這意味著,如果有人試圖在不遵守RGB特定支出條件規則的情況下支出代幣,則接收方的節點將無法成功驗證,並認為支付不是最終支付,這對發送者來說特別糟糕。事實上,雖然RGB支付失敗了,但花費了UTXO(代幣被分配給UTXO)的比特幣交易可能已經在區塊鏈上得到確認,這意味著這些代幣將不再分配給任何UTXO,也可以認為它們被銷毀(burnt)了,這是在編寫RGB智能合約時需要考慮的動態因素。

另一個需要注意的利弊權衡是,雖然RGB合約可以提供比任何替代方案更多的隱私性和可擴展性,但它們的狀態不是全局可訪問的,而且它們不能是無主的(就像在其他區塊鏈中發生的那樣),對某些用例來說,這也代表了一定程度的限制。

由於RGB的客戶端特性,可以以無需許可方式提出和實施多個智慧合約架構。在撰寫本文時,已有一個名為AluVM的計畫在這個方向上埋頭努力。

6、RGB與替代方案

任何對採用RGB感興趣的人都會發現自己想知道它與其他代幣協議相比如何。讓我們具體分析幾個例子:

  • 基於山寨幣的代幣

大多數基於山寨幣的代幣協議(例如ERC-20)提供具有全局無主狀態的智能合約,這使得部署DEX和其他金融應用程式變得相當容易,但卻難以擴展,毫無隱私性並且繼承了這些山寨幣的所有缺點,例如運行節點成本高、去中心化程度較低以及抗審查性較弱。

  • Liquid資產

Liquid是一個比特幣聯邦側鏈,提供了一些有趣的功能,例如本地資產支援和秘密交易,可以向區塊鏈觀察者隱藏支付金額和被轉移資產的ID。然而,聯邦模型再次提出了相同的問題:去中心化程度低、抗審查性弱。

  • OmniBolt

OmniBolt是OmniLayer的閃電網路相容版本,在本文開頭有簡單介紹。它與RGB有非常相似的利弊權衡,但它提供的隱私保護和可擴展性更低,因為所有與代幣相關的資料都保存在鏈上。

  • Taro

比特幣2022邁阿密會議上宣布,Taro是一個由Lightning Labs支持的項目,目標是將資產置於閃電網路之上。根據發布的規範說明,該設計與RGB非常相似,具有基本相同的功能和利弊權衡。在撰寫本文時,RGB和Taro之間的主要區別似乎是RGB已經發布了一些可審查的程式碼,而Taro只發布了規範,但另一方面,你可以說Taro是由閃電生態中最好的一個團隊支持的,讓未來的實現大有可期。考慮到兩種設計的相似之處,如果Taro和RGB最終能夠互通,那就太好了,但只有時間才能證明這種情況是否會發生。

Total
0
Shares
Related Posts