2024年7月22日,極客Web3有幸邀請到CKB的聯創及RGB++提出者Cipher,就其眼中的RGB++與UTXO體系、CKB本身和比特幣生態進行了一系列交流,期間Cipher談到了自己的過往經驗、RGB++ Layer與UTXO模式對BTCFi的獨特意義、關於CKB與比特幣生態的一些問題與觀點。本次訪談涉及的具體問題包括:
1. Cipher個人經歷
2. UTXO Stack和RGB++ Layer的聯繫
3. 對比特幣二層和BTCFi的看法,尤其是EVM系二層
4. RGB++ Layer相較於EVM系的獨特場景與發展理念
5. 對CKB本身設計理念的解讀
6. 如何解決UTXO模型在Defi生態建構上的一些不足
7. CKB為何選用RISC-V以及相關的合約開發語言選擇
8. 對比特幣和以太坊生態在去中心化議題上的看法
以下為本次訪談的文字版記錄,歡迎大家仔細閱讀。
Faust:首先請Cipher來自我介紹一下?
Cipher:我最早接觸區塊鏈是在2013年,因為參與比特幣挖礦而入圈,那時候挖礦還沒那麼卷,結果我第一次買礦機就遇到了黑心廠商。到了14~15年時,因為比特幣價格波動很大,我寫了個自動炒幣的程序,賺了一點錢。 15年底熊市來了,我暫時離開了幣圈,當時我還沒有建立起信仰,只是投機。
到了2016年,我正式進入了區塊鏈產業,進了體制內的區塊鏈研究院,參與了央行的數位貨幣及聯盟鏈的開發,職位是產品負責人。期間我還寫了一些白皮書,以及業界早期的隱私保護文件,以及數位產權相關的專利。
18年的時候,我徹底意識到聯盟鏈是錯誤的方向:所有的聯盟都會有盟主,有盟主就沒必要去用區塊鏈,如果是國字頭下面的聯盟鏈就更沒意義了,只是盟主的一言堂。後面我的工作重心轉向無需准入許可的公鏈。機緣巧合下,我和幾個夥伴參與了CKB的早期建設,我當時負責產品和一部分研究工作。
大概到了2021年,我逐漸從CKB基金會獨立出來,成立了自己的公司,做CKB生態內的周邊項目,像是JoyID這種。目前JoyID有了超過50萬的用戶,可以說是業界最完善的Passkey錢包,雖然Passkey本身在設備相容性上存在一些限制,但我們的錢包還是很好用,可以直接免手機號郵箱和助記詞,在安全模型上是非託管型錢包。
到了2023年的銘文之夏,整個比特幣生態開始回暖,甚至文藝復興。今年2月中旬,我提出了一個概念,即RGB++,願景是為BTCFi創造原生的智慧合約環境,同時不喪失比特幣的安全性。對此我們迅速成立了專向小組,趕在今年4月比特幣減半前上線了RGB++協議,效果還不錯。同時CKB生態內的一些項目,包括DEX、Launch pad、穩定也都陸續上線了。整體來看,RGB++生態正處於蓬勃向上的階段。
在解決了對BTC的功能拓展問題後,我們又把目光聚焦在了擴容等方面。 4月我們專門成立了一家公司,去做啟動UTXO公鍊或比特幣二層的UTXO Stack。至於為什麼選擇UTXO模型,最核心的是比特幣本身就是UTXO模型,而且和以太坊差異甚大,如果在比特幣上做Layer2,狀態轉換證明、跨鏈、資產強制退出和DA等部分該怎麼實現?如果照搬以太坊的帳戶模型和Rollup那套思路,很難得到好結果。這也是我一直以來的觀點:複製以太坊的思路到比特幣上,很難有善終。
UTXO Stack目前完成了第一輪融資,第二輪融資也在進行,雖然近期比特幣生態的熱度有所下滑,但我們還是很有信心,願意把大旗扛起來,為BTCFi搭建近乎原生的功能拓展與可程式生態。目前我們做了更多關於市場和商務層面的工作,一些生態相關的活動也會接踵而至,大家可以期待這方面的進展。
霧月:UTXO Stack和RGB++Layer是什麼關係?兩者好像有從屬的關係?這方面可以好好介紹下?
Cipher:二者的關係可以分成兩個角度來介紹。從品牌角度來看,RGB++Layer是隸屬於在UTXO Stack大品牌下的產品;從技術角度來看,RGB++Layer利用同構綁定為BTCFi增加了智慧合約執行層。同構綁定不但適用於BTC和CKB,也適用於Cardano、Fuel和Sui等廣闊的公鏈生態,只要和UTXO沾邊即可。
至於UTXO Stack有點類似OP Stack,可以用來快速啟動BTC Layer2,它直接附帶同構綁定功能,可以將主網的BTCFi資產透過Leap的方式轉移到Layer2上去做交易。 OP Stack的智慧合約跑在以太坊上,UTXO Stack的智慧合約跑在RGB++ Layer上。
回到兩者最終的從屬關係和優先級,這涉及到一個邏輯問題:所有L2成立的前提,基本上都是L1已經足夠擁堵,或者是L1功能有限不能滿足用戶需求。
目前來說,比特幣+ RGB++layer構成的這樣一個智能合約層上,還沒湧現出那麼多資產和應用,所以我們希望把新的開發者和用戶先引導到RGB++Layer上,去做Defi應用程式、交易平台和資產發行,把BTCFi生態先發展起來再深入去做L2的工作。只要等到BTCFi本身有足夠的熱度,BTC擴充才能成為真正的需求,這時UTXO Stack的推出就水到渠成了。
Faust:這裡您提到BTC二層的事,近期我們從一些管道得到的消息也是認為,BTC Layer2到了階段性谷底,更多人或機構把注意力放到了BTCFi這塊。但很多BTCFi只是WBTC的模式,把比特幣橋接到其他公鍊或比特幣側鏈上去,根本就不會BTC Native。在您看來,BTCFi和WBTC這種東西的真正差異在哪裡?
Cipher:我一貫的觀點是, EVM系的BTC Layer2天花板很低,理由很簡單,用EVM的話就不是在為比特幣壯大其生態,而是把BTC引入到其他生態。我們知道,比特幣主網上很難實現智慧合約,TPS也高不了,那有個很簡單的辦法:把比特幣橋接到別的地方。這樣看著可以解決問題,但實際上卻避開了最核心的東西:
在這種方式下,比特幣自己的生態根本就沒有發展,比特幣礦工收入、鏈上數據之類的不會有任何變化,你做的只是最簡單的資產橋出,橋出之後你就能得到新故事新場景嗎?顯然不能。因為你做的所有事情,是WBTC和以太坊生態很早就做了的,沒有任何創新,只不過度創建了一種BTC橋接資產。那麼你存在的意義在哪裡?
同樣是EVM,難道你還能超越以太坊上已經存在的DeFi體系嗎? EVM系的比特幣二層短期內可能因為空投預期而創造出虛假的繁榮,但長期發展很容易受限。能夠長期影響並賦能比特幣生態的,一定是更原生、基於UTXO的Layer2。
而所謂原生BTC二層,其吸引人的點不在於什麼正統性,而是這種「原生」可以為比特幣生態帶來更有趣的場景。比方說,RGB++有一種技術叫無橋跨鏈Leap ,BTCFi資產可以在L1到L2或L2之間來回跳轉,這種方式可以不需要依賴傳統跨鏈橋的Lock-Mint範式,可以規避傳統跨鏈橋的許多風險,在跨鏈響應速度以及流動性聚合上也有很大優勢,可以為Defi生態帶來很大便利。 Leap功能從4月就開始上線了,許多用戶都在享受技術帶來的便利。這個就是比特幣原生方案帶來的創新之一。
另外還有一點,是否有BTC原生屬性也會影響受眾。例如,很多BTC持有者連Metamask都不怎麼喜歡用,更喜歡用BTC生態裡已有的主流錢包。雖然有一些所謂的AA方案,可以讓比特幣錢包在EVM應用層去做帳戶抽象,但這種方式有各種問題,會阻礙BTC持有者的進入。而像我們這種基於UTXO的二層方案,直接支援用比特幣錢包來交互,它的AA實現方式更貼近底層,用戶可能都感知不出來,這非常便捷,更簡單,更易用,更無縫。
此外我們知道, UTXO模型是“鏈下計算,鏈上驗證”,這種模式特別適合intent驅動的交易場景。所謂intent就是,我這筆交易只告訴系統,我願意付出什麼,需要得到什麼,但中間怎麼調用智能合約、怎麼設定函數參數等,我根本就不用操心,我把我想要的input和output結果放鏈上去驗證了即可。如果要在以太坊上做Intent場景,可能需要Operator、Aggregator等一系列組件,比較臃腫,但在UTXO世界就很簡單。這也是UTXO二層相較於EVM二層的特色。總之,我們比較看好UTXO能為Layer2催生出的新DeFi場景。
Faust:RGB++Layer和BTC的主要結合點都有什麼,哪些場景最重要?接下來RGB++和CKB最核心的生態佈局以及路線圖包含什麼?
Cipher:二者的結合主要還是在於各種應用場景。有一些場景剛才已經講到了,下面再舉一些例子。我們知道以太坊生態裡閃電貸很有存在感,它可以在一筆交易內連續調用一系列合約,得到交易結果並向借貸平台展示:我向你借出的資產和利息都能在瞬間返還給你。我們可以利用鏈上閃電貸快速進行各種金融活動,但在UTXO世界裡是沒有閃電貸的,但卻有其他東西。
例如, UTXO有合約腳本嵌套的機制,可以連續產生一系列交易,簡化用戶的交戶流程,上一筆交易的輸出結果,可以直接作為下一筆交易的輸入參數,透過這種方式我們可以快速產生一批首尾彼此銜接的交易指令。那我舉個例子,例如現在要做一個跨鏈DeFi,先把資產從A鏈跨到B鏈,再去DEX裡賣掉一半,之後與沒賣的那部分Token組成一個LP對,放到流動性池裡。這四步驟操作在RGB++Layer的智慧合約框架裡,可以用上面說的合約腳本嵌套方式來一鍵式的實作。這意味著上述一整套流程,使用者只需要操作一次,剩下可以由去中心化智慧合約自動操作完成。
還有一個明確的結合點,就是IB0,就是透過比特幣來融資。當然這也不是一件新鮮事了,以太坊就是走的這種融資方式,早期是一個比特幣可以換一萬還是兩萬以太坊。但過去IB0的問題就在於,雖然跟IC0同樣是融資,但資產融完卻並沒有什麼玩法。我舉個例子,像一些IC0,它有一個明確的價格曲線,比如前100-200個區塊往後,購買價格呈現階梯式的上升或下降,還有的是最開始買的人需要鎖一個月,最後一個買的人可能要鎖三個月。再例如多鎖一個月多給50%的幣,鎖一年多給100%,類似這樣有很多不同的方法。
先前,這類特殊規則在IB0身上無法實現,而我們可以透過RGB++ Layer來改變這一點。比特幣資產一大問題就是沒有可程式性,相當於只能發行Meme幣,而一旦可以和智能合約結合,就意味著可以賦予資產。這些東西打通了後才有專案方願意來比特幣生態建設。
對於BTCFi或任何Fi而言,前提是要有資產和對應的豐富場景,如果這個資產只局限於BTC本身的話,往往只能搞遠程質押、跨鍊等單一場景,若真想讓生態繁榮起來,需要發行各種資產來百花齊放。現在的以太坊世界,ERC-20資產和ETH本身市值應該是差不多的,甚至後者比前者還多,而比特幣生態的非BTC資產可能連BTC市值的1%都不到。所以怎麼在BTC生態把新的資產創造出來,才是發展關鍵。
所以我覺得RGB++ Layer和比特幣最大的結合點是,利用RGB++Layer的可編程能力,創造真正賦能比特幣的去中心化資產類別,以前這件事在比特幣身上從來沒有出現過,要嘛就是Memecoin要嘛就是中心化資產。總之,我們非常看好利用智慧合約層為比特幣生態創造新資產的可能性。
Faust:CKB在18~19年的時候,自我定位是“專為Layer2設計的Layer1”,在為Layer2做狀態結算等場景上做了很多配套的設計,可以說是為Rollup專門設計的去中心化驗證層。對此,您認為CKB相比於普通公鏈,其核心優勢是什麼?
Cipher:其實很難定義比特幣生態裡什麼叫一層什麼叫二層。我覺得CKB和RGB++Layer並不是立足於為某個二層去做驗證和結算。 CKB作為一個UXTO鏈,擅長的點本就偏向於驗證鏈下的計算結果,而不是直接跑鏈上去計算,這是CKB最初創立的時候,Jan作為首席架構師非常堅持的一個點,他認為區塊鏈的運算資源、儲存資源、頻寬資源都極為珍貴,不應該用它來做任何複雜的工作,而應該做最簡潔的事。
實際上,無論是對Layer2還是Layer1,都要就狀態變更一事做共識,而做共識只有兩種辦法,一是把執行狀態變更的合約拿過來,每個人都算一遍,得到同一個結果以達成一致,這就是帳戶模型的邏輯;二是你在鏈下完成狀態變更,你把證明其有效的Proof發給我,我驗算這個Proof就行,不用自己親自算一遍原始的內容,這其實就是現在Rollup的思路。
第二種辦法我們在2018年提出來的時候,大家還覺得怪怪的,計算一遍和驗證一遍似乎是同一件事,但Jan說其實是不一樣的。例如排序演算法,驗證結果的複雜度遠小於直接計算的複雜度。當時很多人覺得,普通的ERC-20資產轉移根本沒必要這麼做,但後來的故事大家都知道了,不論是ZK也好,還是Rollup也罷,都是鏈下計算鏈上驗證的範式。這時候你才會發現,第二種方法是更有效且有價值的。
UTXO模型對於平行運算也有很多好處。我們知道以太坊最近在提並行EVM的敘事,但透過一些管道我了解到,所謂的並行EVM,其投入實際使用後並行度很多時候連2都達不到。而UTXO天生就支援並行運算,有多少個CPU核心,就能並行多少個線程,這種效率不是基於EVM的東西能比的。
我們從5年前就在走UTXO這條路,在我們剛才描述的若干場景裡,UTXO天然就比帳戶模型有更多優勢。而且我們和比特幣都是UTXO,可以支援同構綁定,讓一些功能進一步簡化。所以我覺得,主要優勢還是架構上,採用UTXO這種架構去對接比特幣,我們一定更有效率。
Faust:有人認為UTXO不利於支援DeFi,例如不同的UTXO之間狀態沒有辦法互相調用,甚至於認為RGB++和CKB如果直接在一層上發展Defi生態會遇到阻力。對於這些觀點你怎麼看?以及你們推出了什麼方案來解決這些問題?
Cipher:首先這些看法存在一定的合理性,因為帳戶模型符合更直覺,和以前單機程式一樣,考慮一些攻擊場景就ok了。而UTXO模型不是,你在鏈上寫的合約是驗證器,還要在鏈下建立一個專門的計算器,我們通常稱之為Aggregator聚合者,或Gennerator生成者。 Gennerator負責在鏈下計算狀態將其生成,再丟到鏈上去驗證,這相對比較複雜。
如果是像UTXOSwap這種基於UTXO的DEX平台,你很難在發起交易時就知道結果,因為可能同時有100個人去提交操作,但UTXO的特殊屬性,會要求100個人裡,同一時間只能有1個人改寫其狀態,這時候就會出現爭用問題。如果不對這些彼此有衝突關係的交易請求做處理的話,最終可能100筆交易只有1筆成功,剩下99筆交易全部失敗。這個問題對產品設計來說是一個極大的挑戰,這也是為什麼大家說UTXO模型不利於DeFi。
但我們同時也看到,即使在近兩年,也有新的UTXO鏈湧現出來,例如Fuel。為什麼明明有各種麻煩,還有人去前赴後繼地用UTXO模型呢?因為它有很多優勢,之前我也都提到過。那回過頭來,這些問題要怎麼克服?我們經過5年的打磨,已經有了非常成熟的解決方案,可以在UTXO鏈上實現類似Uniswap的功能。生態裡的UTXOSwap也是不久前上網主網的,已經有很多人在加LP和交易對了。如果你真去體驗的話,你會發現它跟Uniswap幾乎沒有任何差別。
其實UTXOSwap的設計也很簡單,我們把每一筆交易分成了兩步,第一步是用戶把他的意圖提交上鍊,第二步由Aggregator去聚合所有人的意圖,合併後發起一筆交易和流動性池做互動。流動性池可以一次滿足這些意圖,針對結果產生一個最終的UTXO。
這裡可能有一個區塊延遲的問題,因為第一步中,用戶要先把自己單獨的意圖發上鏈,由聚合者/排序器打包處理後,在由後者鏈上進行下一步操作。不過在實際操作中,用戶可以直接在鏈下把交易意圖發給Aggregator,由後者批量處理,這樣就能解決響應延遲的問題,實際上和Rollup差不多。 UTXO的這些問題,我們已經有很成熟的解決方案了,CKB這邊也在做一些方案來實現上面提到的這類流程。
還有一個方面, UTXO很適合支援訂單簿模型。在以太坊上過去是有訂單簿模式DEX的,但後來銷聲匿跡了,這裡面原因很多,最核心的原因是訂單簿DEX不適合在帳戶模型上運行,因為每筆掛單和撤單哪怕沒成交都要付手續費,這個對PMF來說是不可承受的,所以後來出現了AMM模型。但在UTXO模型下就會有所不同,例如可以同時掛100個單,在UTXO世界裡一筆交易關聯到100個UTXO是很容易且低成本的事,你想的話還可以掛更多。所以UTXO模型下,訂單簿DEX會比較有用武之地。
更何況我們還有PSBT部分簽名技術,掛單交易甚至不需要提交上鍊,你發一個簡潔的簽名就行,由撮合者把多方簽名聚合後一起把交易上鍊,這樣一來訂單簿模式就更適配UTXO模型了。包括AMM也是,可以像UniswapV3一樣採用區間階梯價格,來提供虛擬流動性,在不同的價格上放不同的流動性份額,而不是一條平滑曲線。
這些都是UTXO環境下獨特的DeFi場景,都是相當高階的創新。而這種等級的創新,不太可能在一條EVM鏈上去做, EVM鏈上更多的是Copy類山寨項目,根本沒有創新想法。我們想真正吸引比特幣生態的原生開發者,或是熱愛UTXO模型的開發者,這些開發者往往有很強的能力和創新驅動力,我們也非常看好在這個模式下可以有新的BTCFi範式出來。
Faust:CKB用的是RISC-V指令集,能支援多種程式語言。然而有人認為,太多支援的程式語言也不是好事,會讓一條公鏈的開發者生態變得混亂割裂。對此,您認為目前在CKB上做開發首選的語言是什麼?
Cipher:目前來說,首選還是Rust,其次是C,這兩個都有比較完善的支援。 RISC-V目前已經是一個主流的CPU架構了,可以預見5到10年內即可超越ARM,它支援的編譯器也非常多。但目前CKB官方支援更多的還是Rust和C,同時也支援一些腳本語言。我們自己也做了一些Runtime,來支援LUA和javascript這種,但性能折損會很大,極限的話可能是30%到300%的降速。所以如果是演算法密集的業務,還是推薦用Rust或C去寫,而且也不會有太多的程式語言去割裂開發者生態。
我其實想講RISC-V本身的優勢, 18年剛做CKB時,我們是全球唯一一個選擇用RISC-V做公鏈虛擬機的,原因很簡單,RISC-V是適用於硬體設備的指令集,它的設計有兩個特點:精簡和謹慎。既然是針對硬體做的指令集,往往比較穩定,不會像EVM那樣每年增減指令,這種謹慎正是開源協定所需要的。
其次,對於智能合約平台或區塊鏈來講,我們認為最好就像比特幣一樣,其核心功能趨於固定,不然三天兩頭增減內容太容易出問題,可以說我們整個的思路就和以太坊不一樣。 EVM基本上每年都有操作碼的迭代,過去幾年都是如此,這對於程式的兼容性、穩定性都會產生影響,對此我們極力避免。所以我們基於這個思路,採用了RISC-V指令集,事實證明這非常有前瞻性。
而今ZK開始大行其道,你會發現很多專案方在底層用RISC-V做虛擬機,那我們作為基於RISC-V的公鏈,再去兼容新的ZK設施就非常容易,從指令層面就不需要任何翻譯,效率顯然比在EVM上跑RISC-V高太多。
Faust:站在CKB的視角,你們對比特幣生態怎麼看?例如你們認為現在比特幣生態裡,有沒有出現類似以太坊基金會那樣的中心化組織?之前有人認為BlockStream就有點獨斷專行,CKB對此有沒有自己的看法?
Cipher:我覺得比特幣生態和以太坊生態相比,結構完全不一樣。以太坊基金會有非常強的話語權,反觀比特幣世界,你可以說它背後的核心開發者是一個影響比較強的組織,但比特生態存在明顯的多方勢力製衡。礦池、開發者、比特幣大戶之間互有強勁的博弈關係,不是說開發者推行什麼我礦工就會無條件接受,如果提案過分的話,礦工和礦池都會直接反對。
這個點我覺得和以太坊不一樣,像以太坊POW轉POS、EIP-1159這些,當時都有很大爭議,但以太坊基金會或者說Vitalik本人很大程度上隻手遮天,這是有目共睹的。另一方面,以太坊生態現在非常龐大了,上面有非常多中心化發行的資產,像RWA、穩定幣等等,一旦產生真正意義上的分叉,真正決定未來走向的是這些中心化資產的發行方。
所以無論主觀或客觀上,以太坊生態裡以EF為首的中心化勢力都要比特幣生態裡各種組織的話語權強大許多。還有一點,就是比特幣生態裡沒有特別統一的價值觀,例如核心開發者更接近比特幣最大主義,抵制OP_CAT或是銘文這種東西,希望比特幣不要做太多改變;外圍一點的開發者可能傾向於支持OP_CAT的通過之類的。再往外一層,像閃電網路、RGB這些團隊,相較於前兩者更傾向於新事物。再就是像我們這種,不但更願意接受新鮮事物,還會主動求新求變。最後一層,則是把什麼多簽橋、EVM係二層全加進來了。
因為有了不同來歷的形形色色的人,比特幣生態的包容性非常好,不用擔心某一層或某一小搓人是錯的,它們的錯誤會把整個生態帶偏如何。這麼多群人,只要有一群最終是對的就好。而以太坊的模式雖然在表面上走得更快,但比特幣的模式走得更遠,不用擔心某一小搓人的錯誤決定將整個生態帶入深淵。所以從這個角度,我們非常看好比特幣生態,因為它就像一個大熔爐一樣具有強大的包容性和糾錯能力。
再拿BTC二層舉例,我看到你們的網站BTCEden上,匯總了各種各樣不同思路的方案,有閃電網絡、RGB這種客戶端驗證模式,還有側鏈甚至是橫跨以太坊和比特幣的二層,總之百花齊放各顯其能。而你再去看以太坊,Sharding沒人做了,狀態通道和Plasma也沒人做了,幾乎只有Rollup系的單一路線。所以我們當然更喜歡比特幣生態,他比較自由,更穩健。
CKB基金會也試著把決策變得更加去中心化。當然,我現在不在基金會裡面,沒有發言權,但是我可以看到更多的角色逐漸偏向社區化發展。 CKB體量整體還比較小,對去中心化決策的要求還沒那麼強烈,大家對CKB的期待可能還是更快一點。但據我了解,CKB的核心決策人員是非常開放的,不會把過大的權力攥到自己手裡,一定會找適合的時機完成去中心化。