一文了解提出 RGB++ 協議的比特幣二層:CKB
編譯 | GaryMa 吳說區塊鏈
自比特幣上的 Ordinals \& 銘文問世以來,為比特幣網絡帶來了進一步的流量和關注。雖然 Ordinals 這類協議大大提高了比特幣網絡的可編程性,但本質也只是 "巧用" 了比特幣腳本中 "op_if" 的操作碼,帶來了這些新型的資產發行方式。而比特幣本質上只是一个去中心化的賬本系統,它的腳本系統不具備圖靈完備性,這些資產除了換手交易無處可應用。因此,為了進一步讓比特幣生態得以發展繁榮,探索尋找適合比特幣網絡智能合約開發的 L2 方案,便刻不容緩。
目前比特幣 L2 方案的類別大致有狀態通道(如閃電網絡)、側鏈(如 Liquid,梅林)、Rollup(如 Rollkit)、客戶端驗證(如 RGB,RGB++,Taro)等。其中最有名的就是閃電網絡了,在擴展性、安全性以及隱私等方面可以說是非常優秀的選擇,不過目前來看進展相對緩慢。
因此,鑑於當前的市場熱度與趨勢,或許我們這裡可以將當前的比特幣 L2 陣營暫歸納為兩類:
● EVM 陣營:如當前質押空投火熱的梅林,B²
● UTXO 陣營:以 UTXO模型為基礎進行衍生的一派,如提出 RGB++ 的 CKB
對於 EVM 陣營,其實更多地是採用側鏈技術,即在比特幣網絡之外搭建一條側鏈,通過跨鏈橋將 BTC 以及 EVM 鏈上的資產跨到 L2 上,在性能上能有較大改進,但無法達到 BTC 主網的安全性。同時借助質押空投的運營和用戶對 EVM 以及相關 L2 技術的熟悉,比較容易捕獲用戶心智與市場份額。
對於 UTXO 陣營,則屬於比較原生的技術流派,如本文重點剖析的主角 CKB 便是該賽道的熱門選手,近期也提出了 RGB++擴展協議。不過雖說 UTXO 陣營可能在技術上是相對原生同構的,但是也正因如此,這種技術以及概念上的理解門檻,讓很多人難以了解這類設計的優勢,本文便結合 CKB 這條 UTXO 公鏈以及其相關比特幣 L2 的技術路線,為大家講解這一類型的比特幣 L2 方案。
技術背景科普:UTXO 模型 \& RGB
UTXO 模型和賬戶模型
賬戶模型比較好理解,就如銀行賬戶一樣,賬戶裡的資金總量直觀顯示為一個整體餘額,系統只需要跟蹤用戶賬戶的餘額變化,這是目前大多數公鏈所採用的模型,如以太坊等。
而 UTXO 模型則更貼近現金鈔票交易的場景,如你目前手頭有很多不同面額的鈔票。每一張鈔票都可以看作是一個 UTXO,即一筆你可以使用的錢。類比到比特幣這樣的系統裡,當你收到別人轉賬的比特幣,這筆錢就像是錢包裡的一張新鈔票,你還沒用它來支付別的東西,所以它是「未花費的/Unspent Transaction Output」。當你進行交易時,如使用 100 元購買了 40 元的物品後,會找零 60 元。這類比到比特幣系統中,便是你使用了你當前未花費的 UTXO(100 元)創建為兩個新的 UTXO,一個支付給物品(40 元),一個找零給自己(60元)。ps:理解 UTXO 模型,是理解 RGB 以及後續內容的關鍵。
RGB
簡單來講,我們可以說 Ordinals序數是將本來同質化的比特幣最小的貨幣單位 Satoshi 聰給打上編號並進行追蹤,而 inscription 銘刻則是在此基礎上,將數據內容(可以是圖片、文字甚至代碼等)寫入見證隔離區,實現數據與聰的綁定,以此完成資產的發行和流轉。但隨著 Ordinals 協議的發展,人們逐漸意識到這種將所有數據都存放在比特幣主網上的方式,存在諸多弊端,不僅帶來高昂的手續費,也導致比特幣網絡更加擁堵,並且本質上也無法為比特幣網絡帶來可編程的智能合約系統。
而早在多年以前,就有開發者提出了"只把數據最重要的部分上鏈"的思路,這便是 RGB 的理念:僅在必要的時候才使用比特幣區塊鏈,代幣轉移的驗證工作都從全鏈共識層中移除,放在鏈下,僅由接收支付的一方的客戶端來驗證,但是利用比特幣的去中心化網絡來防止雙花以及抗審查。
或許通過將 Ordinals 與 RGB 進行對比差異,能更加方便讀者理解:
● RGB 將相關資產與 UTXO 綁定,而 Ordinals 則更細化到與最小單位聰綁定;
● RGB 只將相關資產的交易承諾(即一個哈希值)寫入比特幣主鏈,具體的驗證過程放在鏈下,而 Ordinals 所有數據以及驗證邏輯都依賴於比特幣主網。
有了上述內容的鋪墊,我們便可以引出 RGB 的兩大核心技術:
一次性封條:即上文提及的與 UTXO 的綁定
通過 RGB 協議下發行的資產代幣並不存在一條具體的公鏈作為載體(目前的 Ordinals/Atomicals 等這類協議資產也一樣),每一個 RGB 的相關資產代幣必須指定比特幣網絡上某個特定的 UTXO 與之對應。某人擁有了比特幣網絡中的某個 UTXO,也就擁有了該 RGB 具體協議中所記錄的該 UTXO 對應的 RGB 相關資產代幣。如果想完成對 RGB 相關資產的轉移,持有人就需要花費掉該 UTXO 。由於 UTXO 的一次性,一旦花費就沒有了,在 RGB 協議中對應的就是花費掉了這筆 RGB 資產。這一花費 UTXO 的過程便是將一次性封條打開的過程。這種設計的優勢主要是當我們需要驗證某一個合約的某一個狀態,我們就不需要獲得全部區塊的數據了,每一個合約的每一個狀態,都必須附身於某個比特幣 UTXO,而一旦要變更這個狀態,就必須花費這個 UTXO、讓花費它的交易得到區塊鏈的確認。並且通過 UTXO 中附帶的相關交易信息,能讓我們上溯到這個合約的初始狀態,使我們能夠辨認這個狀態的實質。當然,這裡面的 RGB 交易不是像比特幣交易一樣在比特幣節點間完成驗證,RGB 的方案是客戶端驗證,即讓用戶在鏈下自行驗證。
客戶端驗證
不同於比特幣主網對交易數據的廣播以及全網節點對交易的驗證紀錄同步,RGB 協議將這一過程放在了鏈下,交易信息僅在發送者和接收者間傳輸,接收者對該筆交易進行驗證後,只需記載和該筆交易相關的數據,已達到上鏈驗證的需求即可。
RGB 所面臨的挑戰和困難
儘管 RGB 協議在設計上十分優秀,但目前依舊面臨眾多難題:
● DA 問題:上文提到交易信息僅在發送者和接收者間傳輸,這其中所需要用到的信息(如該 UTXO 的歷史分支)普通用戶難以獲取生成。而且各個客戶端存儲的數據相互獨立,導致數據孤島問題,也無法查看合約的全局狀態。
● P2P 網絡問題:RGB 交易作為 Bitcoin 的擴展交易,需要依賴一個 P2P 網絡進行傳播。用戶之間在進行轉賬交易時,也需要進行交互式操作,接收方需要提供收條。這些都依賴一個獨立於 Bitcoin 網絡的 P2P 網絡。
● 虛擬機與合約語言:RGB 協議的虛擬機目前主要是採用了 AluVM,作為新的虛擬機,目前缺乏完善的開發工具和實踐代碼。
● 無主合約問題:RGB 協議目前尚無完善的無主合約(公共合約)的交互方案。這導致多方交互難以實現。
CKB 攜 RGB++ 入局 BTC L2
CKB 轉型 BTC L2
CKB 於 2019 年 11 月上線主網,採用了 PoW 共識機制並改進了 UTXO 模型。CKB 對 UTXO 模型進行了一般化處理,並取名為 Cell 模型。跟 UTXO 一樣,Cell 也是交易輸出,只不過 Cell 把 UTXO 中的 amount 進行了一般化處理,對應出了 capacity 和 data 兩項內容,這樣就把原本的一個存放整數的空間變成一個可以存放任意數據的空間。
在比特幣生態起勢的大背景下,CKB 制定了 BTCKB「BTC+CKB」 計劃,期望通過 CKB 的 "PoW+UTXO" 等特點,轉型為首個與 BTC 完全同構(基於 PoW+UTXO)的比特幣 Layer2。
RGB++:基於 CKB 的 RGB 擴展協議
2 月 13 日,CKB 官方發布了 RGB++ 輕皮書。
RGB++ 是一個基於 RGB 原理的擴展協議,它利用了 RGB 的核心點 "UTXO" 和 CKB 的底層架構同源的特點,將 RGB 協議中的兩個關鍵點與 CKB 的架構做了結合:
● 同構綁定:作為 RGB 容器的 UTXO 可以和 CKB 的 Cell 進行綁定映射
● RGB 的鏈下客戶端驗證可以轉變成 CKB 的鏈上公開驗證,驗證的數據和狀態可以對應上 Cell 裡的 data 和 type
在 RGB 協議中,最重要的兩個組件是用來做所有權認定的 UTXO 和用來做狀態管理與一次性封條的 commitment。RGB++ 的同構綁定將其中的 Bitcoin UTXO 一一映射到 CKB 的 Cell 上、使用 bitcoin lock 來實現所有權同步,並使用 cell 的 data 和 type 來實現狀態的維護。
這樣不僅解決了上述中 RGB 面臨的難題,還賦予了 RGB 更多的可能性:
● CKB 區塊鏈將作為增強版的驗證客戶端:所有的 RGB++ 交易都會在 BTC 和 CKB 鏈上同步各出現一筆交易。前者與 RGB 協議的交易兼容,後者則取代了客戶端驗證的流程,用戶只需要檢查 CKB 上的相關交易即可驗證這筆 RGB++ 交易的狀態計算是否正確。不再有上述的 DA 問題以及數據孤島問題等。
● 交易折疊:Bitcoin UTXO 與 CKB Cell 進行同構綁定,實現了 CKB Cell 驗證支持的圖靈完備 Bitcoin UTXO 交易。如果我們進一步利用 CKB Cell 的可編程能力,那麼我們可以將多筆 CKB 交易與一筆 Bitcoin RGB++ 交易對應,這樣就可以將低速低吞吐量的 Bitcoin 鏈使用高性能的 CKB 鏈進行擴容。
● 非交互式轉賬:原始 RGB 協議的一個問題是需要收款方必須在線才能完成一筆普通的交易,增加了用戶理解難度和產品複雜度。RGB++ 可以利用圖靈完備環境的優勢,將交互行為放置在 CKB 環境裡面,採用發送-領取兩步操作來實現非交互式轉賬邏輯。
總的來說,RGB++ 繼承了 RGB 協議的核心思想,採用了不同的虛擬機和驗證方案,用戶無須獨立的 RGB++ 客戶端,只需要訪問 Bitcoin 和 CKB 輕節點即可獨立完成所有的驗證。RGB++ 還能為 Bitcoin 帶來了圖靈完備的合約擴展和數十倍的性能擴展。它沒有使用任何跨鏈橋,而是使用了原生的客戶端驗證方案,確保了安全性和抗審查性。
BTC L2 競爭中,CKB 有何優勢?未來有何安排?
陣營比較
上文我們已經提及根據當前的市場熱度與趨勢,可以大致將比特幣 L2 劃分為 "EVM 陣營" 和 "UTXO 陣營" 。
● 以梅林、B² 為首的 " EVM 陣營" 正在展開火熱的質押 TVL 比拼,試圖抓住比特幣生態的開始時間窗口,以獲得先發優勢搶佔市場份額。
● 而以 CKB 為首的 "UTXO 陣營" 憑藉著與 BTC 完全同構(基於 PoW+UTXO)的技術積累以及比特幣社區較為認可的 RGB 等擴展協議,則佔領著技術優勢的高地,能夠為比特幣帶來無須跨鏈、不損失安全性的圖靈完備合約擴展和性能擴展。只不過可能在初期的推進和生態資產的吸引上,沒有質押空投誘惑這種運營方式來得立竿見影。
路線安排
CKB 的第一個產品 RGB++ 預計將於 4 月初上線,屆時便可在比特幣主網發行 RGB++ 資產,或許能夠再度掀起當初 Ordinals/Atomicals/Runes 等協議的資產發行潮。因此屆時或可以關注相關的資產發行工具,或許有像銘文那樣的機會存在。
為了推進 BTCKB 計劃,CKB 還成立了一家 CELL Studio 公司,為了方便理解,大家可以把 CELL Studio 類比為以太坊生態裡的 ConsenSys,專注與打通 BTC、CKB 生態。
在市場運營方面,CKB 將會舉辦兩場比特幣大會:
● 3 月份在新加坡舉辦的是 Bitcoin Singapore,大概 100 人左右,主要面向那些對比特幣生態非常關注、對比特幣技術也有一定了解、對最新的一些進展不是那麼熟悉的夥伴。
● 4 月初的萬向區塊鏈峰會,會和 Bitcoin Magazine 合辦比特幣專場,規模會更大,更大眾化一點。
從長期的角度,CKB 聯合創始人 Cipher 曾表示,希望在年底能夠把 RGB++ 和閃電網絡打通。閃電網絡將是 CKB 長期發力的主戰場,屆時相關的 RGB++ 資產還可以通過閃電網絡在比特幣生態中流通起來,而無需跨鏈橋。
結語
此前 CKB 可能在大多數人眼裡是一種"異類",在以太坊都選擇轉向 PoS 的背景下,CKB 竟然還選擇比特幣公鏈技術路線:PoW+UTXO,因此在新公鏈以及 Rollup L2 的敘事背景下,CKB 依舊不溫不火。現在市場引燃了比特幣 L2 生態的敘事,CKB 也及時地抓住了這波東風,憑藉與比特幣完全同構的特點並推出其創新的 RGB++ 協議,迅速成為目前比特幣 L2 賽道的技術流頭部選手,並且不再只是埋頭做技術,也著手進行市場運營和品牌推廣,創立了生態主導公司 CELL Studio。儘管 CKB 可能不會是當前市場起步最快的 BTC L2,但憑藉其技術優勢,其依舊有望成為比特幣生態中的重要一環,畢竟目前來看比特幣 L2 敘事並不會是單周期內昙花一現的泡沫,而是比特幣網絡生態擴展的開始。