活力迸发的比特币生态再度成为牛市的瞩目焦点,原因是比特币现货ETF的预期以及Oridinals协议的热度。同时,作为比特币和闪电网络的链下框架,RGB协议也备受关注。
本文内容包括:
一、RGB协议的发展
二、RGB协议的设计逻辑
2.1 客户端验证
2.2 RGB智能合约
2.3 一次性密封(single-use-seals)
三、RGB协议的特性
1. 模式(Schema)概念
2. AluVM虚拟机器
3. 合约定义示例
4. 合约例项和状态转换
5. 扩展合约功能
6. 状态扩展的概念
7. 合约接口(Contract Interface)
8. 建立通用代币接口示例
四、RGB协议的应用
金融方面的应用:
非金融领域的应用:
五、当前RGB协议的风险
1. 不稳定性
2. 复杂性
总结:
一、RGB协议的发展
RGB协议在闪电网络中为比特币增加了智能合约功能,通过基于零知识证明的状态通道协议,允许用户在链下进行隐私保护的交易。RGB不是一个代币协议,但它具备发行与管理多种高度可扩展套件、可编程和保密的资产的能力,或可以在金融之外的许多其他行业中发挥重要作用。该协议经历了多个重要阶段的发展,从最初的构想到目前为比特币和闪电网络带来智能合约功能的RGB v0.10版本。
2016年,Giacomo Zucco基于Peter Todd的理念,提出了RGB协议的初步构想。2017年,BHB Network推出了RGB协议原始版本,并得到了Poseidon Group的支持。2019年,Maxim Orlovsky和Giacomo Zucco成立了LNP/BP标准协会,推动RGB向实际应用发展,Maxim Orlovsky博士开始重新设计RGB协议。2021年,该协会展示了RGB协议的图灵完备虚拟机器(AluVM),RGB也开始在闪电网络上执行。2022年,推出了为Bitcoin和Lightning Network编写RGB智能合约的新语言Contractum及其新网站。2023年4月,发布了RGB v0.10版本,为比特币和闪电网络带来完全支持智能合约的功能,标志着RGB协议进入最为重要的发展阶段。
二、RGB协议的设计逻辑
RGB协议的核心思想是围绕共识和活力展开的。首先,分散式系统最重要的价值在于共识的维护。通过使用位元共识层,只需保留对账本事件的简短的加密提交,即可证明特定数据的存在,但不透露实际数据内容。通常通过哈希函数实现,只在链上储存这些提交,以保证数据的真实性和完整性,从而减轻了链上数据的负担。
RGB设计的账本数据储存在链下,也就是说所有的合约数据和状态转换都保留在链下,而不是在区块链上。通过单次使用密封和状态转换来追踪和验证智能合约的状态,在不将全部数据储存在链上的情况下,有效地处理和验证智能合约的状态和交易。
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智能合约的核心架构。
为了确保安全和高效地管理资产转移,同时保护使用者隱私。RGB 協議使用了 「single-use-seals」 的方法,這種方法允許將資產(如代幣)與比特幣的一個特定交易輸出繫結,使得每次資產轉移都需要 「開啟」 一個舊的密封並 「建立」 一個新的密封。
一次性封裝用於代表資產的所有權或合約狀態。每次狀態轉移或交易發生時,相關的封裝會被關閉並建立新的封裝,這樣做的好處是,每個密封隻能使用一次,從而防止了資產的重複使用或雙重支付,確保了交易的安全性,進而確保資產的轉移不可篡改。
同時,由於這些操作是在客戶端進行的,而不是全部儲存在區塊鏈上,因此大大增強了使用者的隱私保護,並減少了對區塊鏈空間的佔用,提高了整體網路的效率和可擴充套件性。
single-use-seals 的邏輯步驟:
每個 RGB 合約的開始都是一個創世操作,這裡會定義初始狀態和相關的一次性封裝,代表了合約中定義的資產或許可權的初始分配。
在合約中,狀態(State)被用來表示當前資產或許可權的配置。每個狀態都與一個一次性封裝相關聯,表示當前的所有權或許可權。
當需要轉移或改變資產或許可權時,涉及到狀態的轉換(Transitions)。這個過程包括關閉當前的一次性封裝(表示舊的狀態)並建立一個新的封裝(代表新的狀態)。
關閉一個封裝涉及到驗證其完整性並標記為已使用,以防止重複使用。然後,基於合約規則建立一個新的封裝,以代表新的狀態。
交易發生時,合約參與者需要驗證相關的一次性封裝是否有效,以確保交易的合法性。這個驗證過程是自動的,由 RGB 節點和參與的錢包協作完成。
三、RGB 協議的特性
RGB 的特性體現在 RGB 智慧合約的創新,下面為大家介紹一些關鍵點:
RGB 協議採用了模式(Schema)的概念,類似於面向物件程式設計中的類。模式用於定義 RGB 資產的標準,便於錢包、交易所、瀏覽器和 BTC 節點支援 RGB 資產。
在這個框架中,一個具體的 RGB 合約是某個模式的例項,由該模式的建構函式(「創世操作」)建立。這種方法分離了合約開發者(模式開發者)和合約發行者的角色,使得後者無需具備程式設計或安全知識。
RGB 協議還引入了 AluVM 虛擬機器,這是一個圖靈完備的虛擬機器,類似於以太坊的 EVM。它可以執行幾乎所有型別的計算,但受到操作步驟數的限制。AluVM 通過累積的計算複雜性度量來限制計算,類似於以太坊的 gas 消耗機製。
在合約定義方面,RGB 協議使用特定的資料型別,如 PgpKey,這些型別不是合約的直接組成部分,而是可以被多個合約共享。合約的狀態和操作,如 Identity 和 Revocation,被定義為合約狀態的組成部分和可能的狀態轉換。
合約例項化是通過將模式應用於具體情況來完成的,例如,meSatoshiNakamoto 實現了 DecentralizedIdentity 模式,定義了初始狀態並將其分配給一次性密封。狀態轉換,如通過 Revocation 操作,涉及更新身份並將其分配給新的一次性密封。
RGB 協議允許擴展合約功能,如新增 IOU(I OWE YOU)代幣,在合約中表現為可擁有的狀態 IOYTokens。此外,還有全域性狀態,如 IOYTicker 和 IOYName,這些是合約的全域性屬性,不被任何一方直接擁有。
狀態擴展的概念允許公眾參與合約的特定邏輯部分,如通過宣告 Burn 的方式。狀態擴展操作允許任何人在不進行鏈上承諾的情況下建立狀態擴充套件,類似於未打包進區塊的比特幣交易。
標準化通訊:合約介面提供了與 RGB 節點交流的標準方式,要求它返回有語義意義的狀態並建立操作。
類似於以太坊的 ERC 標準:這些介面類似於以太坊的 ERC 標準,通用的介面被稱為 「RGBxx」,作為獨立的 LNP/BP 標準定義。
介面定義:
定義了全域性狀態(如 Ticker 和 Name)和擁有的狀態(如 Inflation 和 Asset),以及操作(如 Issue 和 Transfer)。
介面實現:
實現介面時,將特定模式的狀態和操作與介面繫結。例如,FungibleToken 介面為 DecentralizedIdentity 模式實現了全域性和擁有的狀態繫結。
四、RGB 協議應用
用於建立代表公司或專案股份的通證,集中發行但通過去中心化的方式交易,提高市場流動性和透明度。
管理貸款和債券,通過智慧合約實現自動化的貸款和債券發行和還款。
建立執行在閃電網路上的穩定幣,並將這些穩定幣可以作為支付手段。
建立去中心化交易所(DEX)。
應用例如演算法過度抵押的穩定幣等 AMM 解決方案,為市場提供流動性和穩定性。
用於管理自主身份解決方案,使個人能夠控製和管理他們的數位身份資訊。
建立一個去中心化的全球名稱註冊系統,以便人們能夠註冊和管理域名和其他網路識別符號。
管理數位內容的所有權和許可權,包括版權和許可證。
用於通證化藝術品,為藝術家和收藏家提供了一種新的數位所有權和交易平臺。
管理 DAOs,以實現去中心化的決策和治理。
用於建立可證明和可驗證的審計日誌系統,以提高企業和專案的透明度和可信度。
五、當前 RGB 協議的風險
當前的 RGB 協議是首個完全支援智慧合約的版本,後續 RGB 協議可能會進行一些重大的更新或者修改,這會導致目前開發的合約無法在後續版本安全、穩定地執行。RGB 的客戶端驗證節點也仍在更新中,還未有穩定的版本。
RGB 協議的設計和實現都相當複雜,基於 RGB 協議開發的智慧合約需要考慮很多 RGB 協議的特性。例如,基於 RGB 協議發行的代幣,如果交易失敗或是沒有得到 RGB 節點的確認,那麼這些代幣不屬於任何 UTXO,相當於被銷毀了,開發者和專案方需要仔細考慮這類情況對於專案代幣經濟的影響。
總結
RGB 協議目前仍處於非常早期的階段。RGB 協議通過其獨特的模式定義、AluVM 虛擬機器、靈活的合約狀態管理和擴展機製,展現了其在 BTC 智慧合約領域的創新,支援在比特幣網路和閃電網路上進行多種資產的發行和轉移。
但目前 RGB 協議與閃電網路還未完全相容,智慧合約的開發和執行未有安全保障,使用者使用 RGB 協議時需留意風險。
相關報導
還會漲?比特幣4.4萬美元高點震盪、以太坊力守2200;BTC選擇權未平倉合約再創新高
貝萊德疑將2億美元比特幣私人信託轉至IBTC,推現貨ETF是「上車後補票」?
觀點》比特幣銘文、BRC-20被判死,核心開發者說了算?
Tags:
RGB
智慧合約
比特幣
閃電網路