作者:Jerry Luo;Kernel Ventures
TL;DR
現今的比特幣網絡上存在着多種智能合約方案,其中最爲主流的便是 Ordinals 協議與 RGB 協議。
-
Ordinals 協議的誕生,使得比特幣網絡也可以實現智能合約开發,並將其安全性與比特幣區塊鏈進行了綁定。但是 Ordinals 資產轉账的確認和記錄均在比特幣主網上進行,與 1 個 sats 的轉账相綁定。這帶來了高昂的手續費,同時也使 TPS 低下的比特幣主網更加擁堵。
-
在 RGB 協議中,提出了鏈下通道以及批量打包交易的方式,這些方式使得 RGB 中資產轉移的手續費大幅下降,速度也得到提升。同時,客戶端驗證的方式也大大減小了維持網絡正常運行所需記錄的數據量,從而提升了網絡可拓展性。
-
但是 RGB 在對 Ordinals 做出改進的同時也帶來了許多新的問題。鏈下通道在優化交易費用和速度的同時帶來了鏈下記錄的安全問題。客戶端驗證減小記錄數據量的同時也大大拖慢了驗證速度。
本文從安全性、可拓展性、交易費、交易速度等維度比較了 Ordinals 與 RGB 協議,並分析了 RGB 敘事未來可能的走向。
1. 市場總覽
當前 BTC 佔整個加密市場市值的 49% 左右,但由於其腳本語言不具備圖靈完備性,主網智能合約缺失且交易速度較慢,其長遠發展受到嚴重阻礙。爲了對上述問題做出改進,比特幣开發者們在擴容和提速方面做出了大量嘗試,主要爲以下 4 種解決方案:
-
RGB 協議:RGB 是一個建立在比特幣網絡上的二層協議,其核心交易數據儲存在 BTC 主網上。RGB 利用比特幣的安全模型,支持在比特幣網絡上創建具有定制屬性和智能合約功能的代幣。2016 年,RGB 協議最初由 Peter Todd 提出;2023 年,在比特幣上智能合約生態的开發熱潮中,RGB 協議再次得到關注。
-
隔離見證:2017 年 8 月,比特幣實施隔離見證(SegWit)升級。通過交易信息與籤名信息的分離,將有效區塊大小從 1M 提升到了 4M,一定程度緩解了擁堵問題。但受到比特幣區塊本身大小的限制,我們無法對一個區塊的存儲信息無限擴容。因而通過對區塊存儲信息擴容提高效率的方式便到此爲止了。
-
閃電網絡:閃電網絡是基於比特幣的二層擴容方案,允許在不訪問區塊鏈的情況進行下交易,極大提高了吞吐量。閃電網絡已在比特幣主網上實現,現有的閃電網絡解決方案有 OmniBOLT,Stacks 等,但閃電網絡面臨着較大的中心化風險。
-
側鏈技術:側鏈技術是在比特幣網絡之外搭建一條側鏈,側鏈上的資產按 1:1 與 BTC 錨定。側鏈在交易性能上相對主網有較大改進,但永遠無法達到 BTC 主網的安全性。
今年 3 月以來,比特幣網絡的交易費用及 BRC20 協議資產的交易量都迎來激增。5 月初 BTC 主網交易費到達頂峰,雖然此後交易費用下滑,但 BRC20 資產的交易量仍維持在較高水平。這表示比特幣網絡智能合約生態的开發熱度,並沒有伴隨 BTC 生態中銘文熱度的下降而低迷,开發者們仍繼續嘗試尋找適合比特幣網絡智能合約开發的最優解。
2. Ordinals 協議
2.1 Satoshi 編號
比特幣網絡上的 Satoshi 不同於以太坊上的 wei 以數據的形式記載,它通過每個地址所擁有的 UTXO 計算得來。爲了對不同的 sats 進行區分,首先要區分不同的 UTXO ,繼而對同一 UTXO 下的 sats 進行區分。前者相對簡單,不同 UTXO 被挖出的區塊不同,會對應不同的區塊高度。只有挖礦會產生最初的 sats,因而僅需對 coinbase 交易中的 UTXO 編號即可。難點主要在如何對同一 UTXO 下的 sats 進行編號。Ordinals 協議提出了新的解決方案,即根據先入先出的原則進行編號。
-
不同 UTXO 的區分:BTC Builder 從 UTXO 被挖出的時候开始記錄,每個 UTXO 對應着唯一的區塊,而每個區塊在比特幣網絡上擁有唯一的區塊高度,通過不同的區塊高度可以對不同的 UTXO 進行區分。
-
同一 UTXO 下 sats 的區分:首先通過區塊高度可以確定出 UTXO 下 sats 的大致範圍,比如最早一個區塊可以挖出 100 個 BTC ,也就是 $\(10^{10}\)\( 個 sats ,那么對應區塊高度爲 0 的區塊中,sats 編號爲\[0,\)\(10^{10}\)\(\-1\] ,區塊高度爲 1 的區塊中 sats 編號爲\[\)\(10^{10}\)\(,\)\(2*10^{10}\)\(\-1\] ,區塊高度爲 2 的區塊中 sats 編號爲\[\)\(2*10^{10}\)\(,\)\(3*10^{10}\)\(\-1\],後續依此類推。 如果要對該 UTXO 下的某一特定 sats 進行具體區分,則要通過 UTXO 的消耗過程實現。Ordinals 協議按照先入先出的原則,在該筆 UTXO 作爲輸入產生的輸出中,靠前的輸出對應等量序號靠前的 sats,比如現在挖出區塊高度爲 2 的礦工 A 要將自己這 100 個 BTC 中的 50 個轉移給 B,其中靠前的輸出分配給了 A,而自己獲得的是靠後的輸出,那么 A 將獲得編號爲\[\)\(2*10^{10}\)\(,\)\(2.5*10^{10}\)\(\-1\] 的 sats ,B 所獲得的則是序號爲 \[\)\(2.5*10^{10}\)\(,\)\(3*10^{10}\)$-1] 的 sats 。
2.2 Ordinals inscription
比特幣網絡最早通過加入 OP_RETURN 操作符爲每筆交易提供了一個 80 字節大小的存儲空間。但是 80 字節的區域無法滿足復雜代碼邏輯的編寫,並且數據寫入區塊鏈也會提高交易成本,增大網絡堵塞的可能性。爲了解決該問題,比特幣網絡先後進行了 SegWit 與 Taproot 兩層軟分叉。通過一份由 OP_FALSE 操作碼开頭且不會執行的 Tapscript 腳本,比特幣交易過程提供了一個 4M 大小的空間。在這個區域我們可以寫入 ordinals 銘文,實現文本、圖片上鏈或者 BRC20 協議 token 發放等等。
2.3 Ordinals 的不足
Ordinals 大大提高了比特幣網絡的可編程性,打破了 BTC 生態敘事和發展受到的限制,提供給比特幣網絡交易之外的功能,但其中許多問題仍然受 BTC 生態开發者們的詬病。
-
Ordinals 的中心化性:雖然 ordinals 協議中對於狀態的記錄和更改都在鏈上進行,但 ordinals 協議本身的安全性是無法和比特幣網絡掛等號的。ordinals 無法防止銘文的重復上鏈,對無效銘文的識別需要由鏈外的 ordinals 協議進行。這一新興協議未經長時間的測試,存在諸多潛在問題。同時如果 ordinals 協議的底層服務出現問題,也可能導致用戶資產的損失。
-
交易費用與交易速度的局限性:因爲銘文的篆刻是通過隔離驗證區進行的,也就是說完成一次 ordinals 資產的轉移必須對應一筆 UTXO 花費。限於比特幣網絡 10 分鐘上下的出塊速度,交易過程無法加速。同時,銘文的上鏈也會帶來交易成本的增加。
-
損害比特幣原有屬性:由於 ordinals 上的資產與比特幣網絡本身具有價值的 sats 進行綁定,所以 ordinals 的使用本身就會造成對比特幣原有資產的異化,同時銘文的上鏈又帶來了礦工費的激增。許多 BTC 支持者擔心,這會損害到比特幣原有的支付功能。
3. RGB 協議
在網絡交易量激增的情況下,ordinals 協議的缺陷便凸顯了出來。長期來說,如果不能妥當解決這一問題,比特幣的智能合約生態難以和具有圖靈完備性的公鏈生態進行競爭。在 ordinals 的諸多替代方案中,許多开發者選擇了 RGB 協議,它在可拓展性、交易速度和隱私性等方面較 ordinals 均做出了較大突破。理想情況下,基於 RGB 協議構建的比特幣生態資產在交易速度和可拓展性方面,可以和圖靈完備性公鏈上的資產達到相近水平。
3.1 RGB 核心技術
客戶端驗證
不同於比特幣主網中對交易數據的廣播,RGB 協議將這一過程放在了鏈下,信息僅在發送者和接收者間傳輸。接收者對該筆交易進行驗證後,不需要像比特幣主網一樣實現全網節點的同步,記錄下網絡中所有的交易數據。接收節點只需記載和該筆交易相關的數據,已達到上鏈驗證的需求即可,這一改進大大提高了網絡的可拓展性與隱私性。
一次性密封條
在實際生活的材料上交過程中,材料往往要經過多次的轉手,這對材料的真實性和完整性都構成極大威脅。現實生活中爲了防止材料在提交驗證前受到惡意篡改,人們採用了添加封條的方法,通過封條的完整性判斷裏面的內容是否被篡改。RGB 網絡中一次性密封條的作用與此類似,其具體體現是比特幣網絡中天然具有一次性屬性的電子封條 - UTXO。
類似於以太坊上的智能合約,RGB 協議下發行 Token 也要指定發幣的名稱和總量。不同之處在於 RGB 網絡並不存在一條具體的公鏈作爲載體,RGB 中的每一個 Token 必須指定比特幣網絡上某個特定的 UTXO 與之對應。某人擁有了比特幣網絡中的某個 UTXO,也就擁有了 RGB 協議中所記錄的該 UTXO 對應的 RGB Token 。如果想完成對 RGB token 的轉移,持有人就需要花費掉該 UTXO 。由於 UTXO 的一次性,一旦花費就沒有了,在 RGB 協議中對應的就是花費掉了這筆 RGB 資產。這一花費 UTXO 的過程便是將一次性封條打开的過程。
UTXO 盲化
在比特幣網絡中,每一筆轉账都可以找到對應的輸入 UTXO 與輸出 UTXO。這提高了比特幣網絡上 UTXO 溯源的效率同時有效防止了雙花攻擊,但由於交易過程完全透明,雙方的隱私性便無法得到顧及。爲了提高交易隱私性,RGB 協議中提出了盲源 UTXO 的方案。
在 RGB Token 的轉移過程中,Token 的發送方 A 將無法得到接收 UTXO 的具體地址,而只能得到一個接收 UTXO 地址接上一段隨機密碼值後 Hash 的結果。而接收方 B 要對接收到的 RGB 協議 Token 進行使用時,則不僅需要告知接收者 C 其 UTXO 對應的地址,還要發送給接收者 C 其對應密碼值,以向接收者 C 驗證,之前 A 確實是將 RGB 協議 Token 發送到了 B 手上。
3.2 RGB 與 Ordinals 對比
-
安全性:Ordinals 智能合約的每筆交易或狀態轉移均需要通過一筆 UTXO 花費實現,而在 RGB 中這一過程大量借助閃電網絡或是鏈下 RGB 通道實現。RGB 交易過程中的大量數據存儲在了 RGB 客戶端(客戶本地緩存或者雲服務器),這一過程存在高度中心化性,數據有被中心化機構利用的可能。同時一旦服務器宕機或者本地緩存丟失將對客戶資產造成損失。從安全性方面來講,Ordinals 更有優勢。
-
驗證速度:由於 RGB 採用客戶端驗證,所以每驗證一筆交易,在 RGB 協議中都需要從頭开始,這將花費大量時間對交易過程中的每一步 RGB 資產轉移進行確定,這大大延緩了驗證速度。因此驗證速度上 Ordinals 更有優勢。
-
隱私性:RGB 資產的轉移和交易驗證過程均在區塊鏈之外進行,建立了一個發送者和接收者之間的特有信道。同時還以盲化 UTXO 的形式使得即便發送者也無法對 UTXO 的去向進行追溯。而 ordinals 資產的轉移過程則是通過比特幣上的 UTXO 花費記錄,UTXO 的輸入者和輸出者都可以在比特幣網絡上進行查詢,無隱私性可言。故而隱私性角度 RGB 協議更有優勢。
-
交易費用:RGB 中的轉账大量借助客戶端的 RGB 通道或者閃電網絡進行,這一過程幾乎 0 交易費用。無論中間有多少筆交易,最終只需要提交到區塊鏈上使用花費一個 UTXO 進行確定即可。但是 ordinals 的每一步轉账都需要在 tapscript 腳本中進行記錄,加之記錄銘文的成本,交易過程中將產生一筆不小的手續費。同時 RGB 協議提出了批量打包交易的方法,在一個 tapscript 腳本中可以指定 RGB 資產的多個接收者,而 ordinals 中默認輸出 UTXO 的接收者爲 ordinals 資產的接收者,只能一對一轉账,而 RGB 通過分攤的方式大大降低了這一過程的成本。因此交易費用上 RGB 協議更有優勢。
-
可拓展性:在 RGB 的智能合約中,交易驗證和數據存儲是由客戶端(接收節點)完成的,不在 BTC 鏈上進行,不需要在主網上進行廣播和和全局驗證,每個節點只需保證對於某筆交易有關數據的確認。而 ordinals 中的銘文數據都需要進行上鏈操作,鑑於比特幣網絡自身的處理速度和可拓展性,對於交易量的承受能力將受到極大限制。因而在可拓展性上 RGB 協議更有優勢。
4. RGB 生態項目
RGB v0.10.0 版本發布後,爲开發者在 RGB 網絡上的开發提供了一個相對此前版本更友好的環境。因此 RGB 協議生態大規模开發距今僅半年時間,下列 RGB 生態項目大多數也還在發展初期:
-
Infinitas Infinitas 是一個圖靈完備的比特幣應用生態系統,結合閃電網絡和 RGB 協議的優勢,並相互支持和補充,實現了更加高效的比特幣生態系統。值得一提的是,Infinitas 還提出了遞歸零知識證明的方法來解決客戶端驗證的低效問題,如果該方法有效實施,將很大程度解決 RGB 網絡驗證速度上存在的問題。
-
RGB Explorer RGB Explorer 是最早支持 RGB 資產查詢及資產 (Fungible token and None Fungible token) 發送的瀏覽器,支持的資產有 RGB20,RGB21,RGB25 三種標准資產。
-
Cosminmart Cosminimart 本質是一個可以兼容 RGB 協議的比特幣閃電網絡。嘗試打造一個可以部署智能合約的比特幣全新生態。不同於上述項目單一的功能,Cosminmart 提供了錢包,衍生品交易市場和早期項目發掘市場。它爲比特幣網絡的智能合約开發到產品推廣及交易提供了一站式服務。
-
DIBA DIBA 借助了閃電網絡和 RGB 協議,致力於打造比特幣網絡的 NFT 市場。目前還在比特幣測試網上運行,預計不久將在主網上线。
5. RGB 未來展望
伴隨着 RGB v0.10.0 版本的問世,協議程序的總體框架趨於穩定,版本更新時可能的大規模不兼容問題正在被逐漸改進。同時,开發者工具和各式 API 接口趨於完善,开發者使用 RGB 進行开發的難度也可以大大降低。
Today #Tether announces the ending of the support of 3 blockchains $USDt: OmniLayer, BCH-SLP and Kusama. Customers will be able to continue to redeem and swap $USDt tokens (to another of the many supported blockchains), but Tether won’t issue any new additional $USDt on those 3 blockchains.
最近 Tether 官方發文,將比特幣二層網絡上 USDT 合約的部署從 OmniLayer 轉移至 RGB 。Tether 的這一舉措被視作是 Crypto 巨頭嘗試進軍 RGB 的信號。RGB 現在已經有了成熟的开發協議,龐大的开發者社區以及 Crypto 巨頭的認可。最後,RGB 开發者現在在嘗試使用遞歸零知識證明對客戶端驗證的體量進行壓縮,如果能完成這一改進,RGB 網絡的驗證速度將大大提高,從而緩解在大規模使用時面臨的網絡延時問題。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。