一文帶你瞭解 RGB 協定
2023 年下半年,各類 BTC 衍生協議的生態迅速發展。 除了 Ordinals 協定與 BRC20 的再度爆火,Atomicals、Taproot Assets 等協定也受到了市場的廣泛關注。
此前,Beosin 已為大家分析了幾類 BTC 衍生協議的風險:《BTC 生態爆火,解析其各類衍生協定的潛在機遇與風險》。 本文 Beosin 將為大家詳細講解 BTC 生態非常重要的一類資產發行協定—— RGB 協定。
一、RGB 協議發展
RGB 協定的作用是在閃電網路上為比特幣增加了智能合約功能,基於零知識證明的狀態通道協定,允許使用者在鏈下進行隱私保護的交易。
RGB 不是一個代幣協定,但它具備發行與管理多種高度可擴展、可程式設計和保密的資產的能力,或可以在金融之外的許多其他行業中發揮重要作用。 其協議的發展經歷了多個重要階段,從最初的構想到目前為比特幣和閃電網路帶來智能合約功能的 RGB v0.10 版本。
1. 2016 年,Giacomo Zucco 基於 Peter Todd 的理念,提出了 RGB 協定的初步構想。
2. 2017 年,BHB Network 推出了 RGB 協定原始版本,得到了 Poseidon Group 的支援。
3. 2019 年,Maxim Orlovsky 和 Giacomo Zucco 成立了 LNP/BP 標準協會,推動 RGB 向實際應用發展,Maxim Orlovsky 博士開始重新設計 RGB 協定。
4. 2021 年,該協會展示了 RGB 協定的圖靈完備虛擬機(AluVM),RGB 也開始在閃電網路上運行。 5. 2022 年,推出了為 Bitcoin 和 Lightning Network 編寫 RGB 智慧合約的新語言 Contractum 及其新網站。
6. 2023 年 4 月,發佈了 RGB v0.10 版本,為比特幣和閃電網路帶來完全支援智慧合約的功能,標誌著 RGB 協定進入最為重要的發展階段。
二、RGB 協定設計邏輯
RGB 協定的核心思想是圍繞著共識和鏈下數據存儲構建的。
首先,分散式系統最重要的價值是共識的維護,利用比特共識層只需要保留對賬本事件的簡短的加密提交(cryptographic commitments),證明特定數據存在但不透露實際數據內容的技術,通常通過哈希函數實現,僅在鏈上存儲這些提交去保證數據的真實性和完整性,進而減少了鏈上數據的負擔。
RGB 設計的帳本數據存儲在鏈下,也就是說所有的合約數據和狀態轉換都保留在鏈下,而不是在區塊鏈上。 利用單次使用密封和狀態轉換來追蹤和驗證智慧合約的狀態,在不將全部數據存儲在鏈上的情況下,有效地處理和驗證智慧合約的狀態和交易。
RGB 的基礎層是比特幣區塊鏈,包括 Nakamoto PoW 共識和交易帳本。 雖然不需要在鏈上存儲任何數據,但仍需要遵循現有的基礎設施,並利用比特幣交易作為這些承諾的存儲。
2.1 用戶端驗證
RGB 智慧合約在用戶端驗證模式下,所有數據都將保留在比特幣交易之外,例如比特幣區塊鏈或閃電網路通道狀態,使該系統能夠在閃電網路之上運作,也為高級別的協定可擴展性和隱私提供了基礎。
2.2 RGB 智能合約
RGB 智慧合約的基本構成包括 Genesis(創世)、State(狀態)和 Transitions(轉換),每部分承擔著不同的功能和角色:
Genesis(創世)
Genesis 是智慧合約的初始化聲明,它定義了合約的基本屬性和規則。 這包括合約的類型、目的和任何初始設置。 在代碼中,genesis 部分定義了合約的起始點,比如在一個身份驗證合約中,它可以指定初始的身份資訊。
State(狀態)
State 代表了合約在任何給定時刻的當前狀態,是合約數據的即時快照,包括了所有的變數值和資產資訊。
Transitions(轉換)
Transitions 是定義從一個狀態到另一個狀態轉換的規則。 這些規則決定了狀態如何根據合約邏輯發生變化。 op Revocation 和 op Transfer 是轉換的例子,它們定義了如何從一個 Identity 狀態轉移到另一個,或者如何在代幣之間進行轉移。
通過這三個組成部分提供了一種方式來定義和執行各種操作和協定。 Genesis 設定了基礎規則和參數,State 維護了合約的當前資訊,而 Transitions 則規定了狀態之間的變化邏輯,共同構成了 RGB 智慧合約的核心架構。
2.3 一次性密封(single-use-seals)
為了確保安全和高效地管理資產轉移,同時保護用戶隱私。 RGB 協定使用了「single-use-seals」的方法,這種方法允許將資產(如代幣)與比特幣的一個特定交易輸出綁定,使得每次資產轉移都需要「打開」一個舊的密封並「創建」一個新的密封。 一次性封裝用於代表資產的擁有權或合約狀態。 每次狀態轉移或交易發生時,相關的封裝會被關閉並創建新的封裝,這樣做的好處是,每個密封只能使用一次,從而防止了資產的重複使用或雙重支付,確保了交易的安全性,進而確保資產的轉移不可篡改。
同時,由於這些操作是在客戶端進行的,而不是全部存儲在區塊鏈上,因此大大增強了使用者的隱私保護,並減少了對區塊鏈空間的佔用,提高了整體網路的效率和可擴充性。
single-use-seals 的邏輯步驟:
1. 每個 RGB 合約的開始都是一個創世操作,這裡會定義初始狀態和相關的一次性封裝,代表了合約中定義的資產或許可權的初始分配。
2. 在合約中,狀態(State)被用來表示當前資產或許可權的配置。 每個狀態都與一個一次性封裝相關聯,表示當前的擁有權或許可權。
3. 當需要轉移或改變資產或許可權時,涉及到狀態的轉換(Transitions)。 這個過程包括關閉當前的一次性封裝(表示舊的狀態)並創建一個新的封裝(代表新的狀態)。
4. 關閉一個封裝涉及到驗證其完整性並標記為已使用,以防止重複使用。 然後,基於合約規則創建一個新的封裝,以代表新的狀態。
5. 交易發生時,合約參與者需要驗證相關的一次性封裝是否有效,以確保交易的合法性。 這個驗證過程是自動的,由 RGB 節點和參與的錢包協作完成。
三、RGB 協定的特性
RGB 的特性體現在 RGB 智慧合約的創新,下面為大家介紹一些關鍵點:
1. 模式(Schema)概念
RGB 協議採用了模式(Schema)的概念,類似於面向物件程式設計中的類。 模式用於定義 RGB 資產的標準,便於錢包、交易所、瀏覽器和 BTC 節點支援 RGB 資產。 在這個框架中,一個具體的 RGB 合約是某個模式的實例,由該模式的構造函數(“創世操作”)創建。 這種方法分離了合約開發者(模式開發者)和合約發行者的角色,使得後者無需具備程式設計或安全知識。
2. AluVM 虛擬機
RGB 協定還引入了 AluVM 虛擬機,這是一個圖靈完備的虛擬機,類似於乙太坊的 EVM。 它可以執行幾乎所有類型的計算,但受到操作步驟數的限制。 AluVM 通過累積的計算複雜性度量來限制計算,類似於乙太坊的 gas 消耗機制。
3. 合約定義範例
在合約定義方面,RGB 協定使用特定的數據類型,如 PgpKey,這些類型不是合約的直接組成部分,而是可以被多個合約共用。 合約的狀態和操作,如 Identity 和 Revocation,被定義為合約狀態的組成部分和可能的狀態轉換。
4. 合約實例和狀態轉換
合約實例化是通過將模式應用於具體情況來完成的,例如,meSatoshiNakamoto 實現了 DecentralizedIdentity 模式,定義了初始狀態並將其分配給一次性密封。 狀態轉換,如通過 Revocation 操作,涉及更新身份並將其分配給新的一次性密封。
5. 擴展合約功能
RGB 協定允許擴展合約功能,如添加 IOU(I OWE YOU)代幣,在合約中表現為可擁有的狀態 IOYTokens。 此外,還有全域狀態,如 IOYTicker 和 IOYName,這些是合約的全域屬性,不被任何一方直接擁有。
6. 狀態擴展的概念
狀態擴展的概念允許公眾參與合約的特定邏輯部分,如通過聲明 Burn 的方式。 狀態擴展操作允許任何人在不進行鏈上承諾的情況下創建狀態擴展,類似於未打包進區塊的比特幣交易。
7. 合約介面(Contract Interface)
標準化通信:合約介面提供了與 RGB 節點交流的標準方式,要求它返回有語義意義的狀態並創建操作。
類似於乙太坊的 ERC 標準:這些介面類似於乙太坊的 ERC 標準,通用的介面被稱為 “RGBxx”,作為獨立的 LNP/BP 標準定義。
8. 創建通用代幣介面示例
介面定義: 定義了全域狀態(如 Ticker 和 Name)和擁有的狀態(如 Inflation 和 Asset),以及操作(如 Issue 和 Transfer)。
介面實現:實現介面時,將特定模式的狀態和操作與介面綁定。 例如,FungibleToken 介面為 DecentralizedIdentity 模式實現了全域和擁有的狀態綁定。
四、RGB 協議應用
金融方面的應用:
1. 用於創建代表公司或專案股份的通證,集中發行但通過去中心化的方式交易,提高市場流動性和透明度。
2. 管理貸款和債券,通過智慧合約實現自動化的貸款和債券發行和還款。
3. 創建運行在閃電網路上的穩定幣,並將這些穩定幣可以作為支付手段。
4. 創建去中心化交易所(DEX)。
5. 應用例如演算法過度抵押的穩定幣等 AMM 解決方案,為市場提供流動性和穩定性。
非金融領域的應用:
1. 用於管理自主身份解決方案,使個人能夠控制和管理他們的數位身份資訊。
2. 創建一個去中心化的全球名稱註冊系統,以便人們能夠註冊和管理功能變數名稱和其他網路識別碼。
3. 管理數位內容的所有權和許可權,包括版權和許可證。
4. 用於通證化藝術品,為藝術家和收藏家提供了一種新的數位擁有權和交易平臺。
5. 管理 DAOs,以實現去中心化的決策和治理。
6. 用於建立可證明和可驗證的審計日誌系統,以提高企業和專案的透明度和可信度。
五、當前 RGB 協議的風險
1. 不穩定性
當前的 RGB 協定是首個完全支援智慧合約的版本,後續 RGB 協定可能會進行一些重大的更新或者修改,這會導致目前開發的合約無法在後續版本安全、穩定地運行。 RGB 的用戶端驗證節點也仍在更新中,還未有穩定的版本。
2. 複雜性
RGB 協定的設計和實現都相當複雜,基於 RGB 協定開發的智慧合約需要考慮很多 RGB 協定的特性。 例如,基於 RGB 協議發行的代幣,如果交易失敗或是沒有得到 RGB 節點的確認,那麼這些代幣不屬於任何 UTXO,相當於被銷毀了,開發者和專案方需要仔細考慮這類情況對於專案代幣經濟的影響。
總結
RGB 協定目前仍處於非常早期的階段。 RGB 協議通過其獨特的模式定義、AluVM 虛擬機、靈活的合約狀態管理和擴展機制,展現了其在 BTC 智慧合約領域的創新,支援在比特幣網路和閃電網路上進行多種資產的發行和轉移。 但目前 RGB 協定與閃電網路還未完全相容,智慧合約的開發和運行未有安全保障,使用者使用 RGB 協定時需留意風險。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。