訪談者:霧月,極客web3
受訪者:Jolestar,Rooch Network 創辦人& Faust,極客web3 創辦人
針對Bitcoin Magazine 先前頗具意識形態色彩的「比特幣Layer2 三定律」,Rooch Network 的Jolestar 老師在推特上發表了自己對比特幣Layer2 的看法。
此情此景,恰似先前Nervos 公鏈聯創Jan,在推特上稱「比特幣Layer2 不應該只考慮安全問題,還應該考慮功能拓展性,以及對BTC 貨幣屬性的賦能」。這些言論格外引人深思。
抱著對比特幣Layer2 相關理論進行「刨根問底」的態度,極客web3 特別邀請到Jolestar 老師,與Faust 在不同價值觀的角度,共同探討比特幣Layer2 的定義框架,旨在揭示一種從DA 與功能拓展角度,對比特幣Layer2 進行多角度定義的路徑。雖然目前大家對於比特幣Layer2 該如何定義尚未形成共識,但相關的討論過程仍具有重要參考價值。
如何從技術或DA 角度定義Layer2
霧月:關於如何定義Layer2 的問題,其實在以太坊社群也有類似的百家爭鳴。根據Jolestar 老師在推特的說法,Layer2 可以分為「技術或DA 角度的定義」,與「功能拓展角度的定義」。那我想先問問Jolestar 老師,你對於從「DA」角度定義的Layer2 怎麼看?
Jolestar:其實,關鍵是要讓大家明顯感受到Layer2 和Layer1,以及中心化方案的差異。我認為核心有兩點:
Layer2 並未創造新的區塊空間。創建新區塊空間的技術解決方案本質上都是Layer1。
Layer2 要利用Layer1 來實現DA 以及安全。
霧月:Jolestar 老師在這裡解釋下,什麼叫「創造新的區塊空間」?
Jolestar:這是個好問題。這裡所說的區塊空間,指的是透過區塊鏈共識機制創造出的「資料儲存空間」。區塊鏈創造出的區塊空間具備許多特性,例如:完全開放、不可篡改、永久儲存/ 長期存儲,蘊含著巨大價值。
Bitcoin 作為最去中心化的一個區塊鏈網絡,它的區塊空間的價值並沒有完全發揮出來。而這波Ordinals 銘文熱,可以理解成對Bitcoin 作為資料可用性層(DA)的價值發現。
Ordinals 協定定義具有擴充性的資料格式標準,讓解析、展示、交換Bitcoin 上銘刻的資料有了套統一的方案。而Bitcoin 上的擴展協議以及Layer2,該如何充分有效的利用Bitcoin 的區塊空間,是一個重要的探索方向。
霧月:關於您之前說的「Layer2 要利用Layer1 來實現DA 以及安全」,我這裡想問,怎樣才算是利用Layer1 實現DA?
例如,有些以太坊Layer2(如Redstone),只把DA commiment(datahash)送到鏈上,commitment 關聯著鏈下資料。雖然DA 資料沒有被完整發佈到Layer1 上,但它允許任何人對Commitment 發起挑戰,要求排序器把完整資料On Chain。這樣做算不算創造Layer1 以外的區塊空間?也就是說,不直接把完整的DA 資料發佈到Layer1,算不算Layer2?
Jolestar:這裡我談到的「實現DA」的含義,其實非常寬容,並不是說DA 數據的發布就要完全依賴於Layer1,就算DA 數據不是完全on chain 的,只要Layer2 的資產安全能夠和Layer1 產生關聯,就行。
不同的Layer2 方案,針對的應用場景不同,會有不同的DA 實作路徑,例如上面霧月提到的DA 實作方式就很值得探索。再例如,CEX 把儲備證明提交到鏈上,就已經往這個方向靠近了一步。所以說,我這裡提及的「利用Layer1 實現DA」,要比以太坊基金會所說的那種方式,更廣泛。
Faust:其實,把DA 數據完全on chain,是為了讓任何人或節點,都能夠去信任的獲取到新增數據,更進一步說是為了資產安全。 DA 資料若不完全on chain,也未必不安全,例如在RGB 協定中,只把data Commitment 發佈到比特幣鏈上,關聯著的交易資料都存放在鏈下,這種方案仍能保證資產安全,因為使用者會親自驗證與自身相關的交易行為,如果驗證不通過,就不允許這樣的交易生效。顯然這是十分安全的。
所以在RGB 協議的場景下,即便DA 數據沒有發佈到比特幣鏈上,用戶的資產仍然安全,如果不考慮用戶把數據搞丟了的場景,我會認為這種客戶端親自驗證的方式,比直接把資產託付給任何公鏈都要可靠。即便是把資產直接託管給以太坊網路或Bitcoin 主網,也沒有自己運行客戶端驗證來的安全,因為以太幣和Bitcoin 都是第三方平台。
所以說,DA 是否On Chain/On Layer1,不是Layer2 的必要條件,但是應該有對應的機制設計,保障DA 數據的發布是可靠的,至少不該“嚴重威脅”到用戶資產安全。
從生態和功能拓展角度看待Layer2
Jolestar:從生態和功能拓展角度定義L2 時,我們關注的是L2 如何利用或繼承L1 提供的能力。以Bitcoin 為例,所有的Layer2 都在講如何賦能BTC 的資產屬性,如何讓萬億級規模的BTC 的資產,產生額外的使用場景,無論是交易,還是質押,都有非常大的想像空間。
而讓一個區塊鏈系統的資產到另一個系統中交易,都需要一座橋,而這裡的關鍵問題是如何讓用戶信任這座橋,並確保資產的安全。從這個角度,所有透過橋樑給BTC 資產創造使用場景的方案,都可以理解成廣泛的Bitcoin L2。甚至BTC ETF 也可以理解成Bitcoin 的L2,它是一個完全中心化的託管的橋,透過法律監管保證安全。
所以大家糾結的不是去中心化問題,而是信任問題。去中心化的方案可以降低使用者的信任成本,為新的專案帶來機會,但Bitcoin 上如何建構安全的去信任的橋,是一個關鍵難題,L2 能不能利用Bitcoin 的其他特性來提高這個橋的安全性。另外,隨著Bitcoin 上的擴展協議發展,無論是Ordinals,以及Ordinals 之上的擴展協議(BRC20 等),Atomicals,還是RGB,Taprootassets 等,Bitcoin 上的新型資產會越來越多,如何讓這座橋具有擴展性,可以快速的支援新的資產類型,是一個巨大的挑戰。
Faust:Jolestar 老師可能更看好那種寬廣的Layer2 定義方案。但按照我個人的看法,Layer2 乃至於模組化區塊鏈,是在以太坊社群火熱起來的,西方人那邊更多還是站在以太坊式的Layer2 定義標準,來評判如今的比特幣生態,這在許多西方KOL 身上可見一斑。
例如Oridnals 交易平台Bioniq 的CEO @BobBodily,就曾指出比特幣生態需要L2BEAT 那樣的組織來評斷Layer2;Citrea 的聯創更是直接引用L2BEAT 發明的一些技術名詞,如Optimium 等,來概括某些特殊的比特幣Layer2 方案。 Bitcoin Magazine 的CEO,更是揚言要直接聘請L2BEAT 的人來評審比特幣Layer2。[注:Optimium 就是指,不在 Layer1 上发布完整 DA 数据的 OP Rollup]
如果從以太坊/Celestia 的角度來看很多「比特幣Layer2」,會發現目前BTC 生態有一個點很重要,就是很多專案方並沒有很精確的找準自己的定位,Self Position 往往有問題。例如,Celestia 這種東西,你覺得算是以太坊Layer2 嗎?當然不算,但他是Layer2 生態版圖裡的重要DA 層模組,是影響力最大的一個。
類似的道理,很多專案不是Layer2 本身,而是Layer2 所依賴的基礎設施或模組,本質就是Jolestar 說的那種功能拓展層。這就好比,B^2 Network 與B^Hub 網路的關係一樣,前者是典型的Layer2 方案,而後者是Layer2 方案所依賴的設施。
現在比特幣生態裡很多專案的定位有點混亂,為了降低溝通成本,好讓大家理解,就直接把自己定位成Layer2。但事實上,有不少項目是類似Celestia 和Avail 的,Layer2 組件堆疊中的核心模組,而不是完整的Layer2 本身。
具體該怎麼分門別類,西方社群尤其是模組化區塊鏈相關社群裡的人,肯定一清二楚。相信西方的OG 會把「哪些是Layer2 本身,哪些是Layer2 所依賴的功能拓展層」,給徹底區分開,到時候大家才能更清晰的看清整個Layer2 生態體系,不至於像現在這麼亂。
Jolestar:這裡我有一些與Faust 不同的看法。如果我們拋開具體的實現方式,抽象的理解Layer2 和其他鏈下拓展方案,會發現它是一個連續光譜,從最左端的CEX,到最右端的Layer1,中間地帶的解決方案都可以囊括到這個光譜範圍內。
這個光譜的兩端也代表著兩種不同的成長模式。 CEX 基本上是完全產品和使用者導向的成長方式,而L1 建置週期比較長,則是敘事和藍圖優先,而L2 則在中間,會是一種混合的成長模式。
採取包容性視角,我們無需過度糾結於何為「真正的Layer2」。業界創造的各種技術和方案,Validium、Plasma、主權rollup、OP/ZkRollup,模組化執行層、去中心化計算、側鏈、L2/L3 等,都應被視為這一光譜的一部分,產業透過各種排列組合方式探索新的應用所需的基礎設施。
而不同的項目對新應用的假設不同,也決定了它的組合方式和成長模式,它可能是Layer1 向左一點,或者CEX 向右一點。未來是不確定的,這個階段很難斷言哪種模式會成長起來,但有一點是確定的,行業經過這麼多年的摸索,有了上規模Layer1,有了上規模的CEX,也需要有上規模的中間層填補這個溝壑。
可以用怎樣的方式拓展Bitcoin 網絡
Jolestar:關於這個主題,我想先簡單談談Bitcoin 腳本的可程式能力。
BitcoinScript 的程式設計能力有限,它對資產的程式設計能力主要表現為三種鎖:時間鎖,Hash 鎖,私鑰鎖。而Taproot 讓BitcoinScript 的複雜度可以上一個量級,這為bitvm 這類方案創造了可能。但更關鍵的問題在於,Bitcoin Script 是無狀態的,作為一種鏈上執行的程式語言,它無法讀取Bitcoin 的狀態,例如時間戳、過往區塊的nonce、以及UTXO 上附加的寄生資產信息等。
比特幣script 只能依賴交易輸入附帶的信息,我們能否利用Bitcoin 腳本對鏈下惡意行為實現仲裁,依然是一個待探索的方向。
另外一個角度是密碼學上的創新,包括基於密鑰交換來建構博弈機制來確保安全的協議,例如閃電網絡,“可提取的一次性簽名”等。
這裡我想講一個叫做StackableL2(堆疊式L2)的概念。如果我們透過智能合約來實現Bitcoin 的擴展協議的Indexer,在Indexer 中解析Bitcoin 上的所有UTXO 以及附加的狀態,允許開發者透過智能合約部署應用到Indexer 中,相當於給Bitcoin 提供了一種新的智慧合約層,這就是我們Rooch Network 的方案。
之前我把這種模式叫做智能Indexer,但Indexer 的概念給人的感覺就是只讀的,所以用了一個新詞“Stackable L2”,指所有在L2 中包含L1 全狀態的擴展方案,它完全繼承了L1 的所有狀態。在這種情況下,L2 的應用即可以讀取L1 上的所有狀態,同時也可以創建新的狀態,L1 和L2 的資產可以透過堆疊組合來形成新的資產。而L2 的安全,可以透過模組化的方案來確保。
霧月:能否舉例說明L1 和L2 的資產可以透過堆疊組合來形成新的資產?
Jolestar:例如在Bitcoin 上有一個銘文來表達一塊地。然後L2 可以在上面堆疊一個房子,他們整體形成了一種資產,它的價值就高於原始的地塊。然後有人再把這棟房子打造成一個展覽館,然後價值又不一樣了。其實這個模式和現實世界中的資產增值模式是類似的。現實世界中的資產也是透過合成,組合,堆疊方式來實現增值的。
霧月:堆疊式的L2 這個概念有點意思,這個想法是怎麼產生的,現在有其他類似的專案在做這類事情嗎?
Jolestar:我們是從如何繼承Bitcoin 上的已有狀態,無論是UTXO 還是銘文來思考的。開始想用一種Merkle 證明的方式,Layer2 節點只保存Bitcoin 的區塊頭,不保存比特幣網路的「全量狀態」。但實現的時候發現,這種方案使用者和開發者體驗比較差,不能很好的支援銘文等新型資產。所以後面演化到了保存「全量狀態」的形式。
我們看到市場上有類似構思的項目,Ethereum 社區有一種叫做Booster Rollup 的方案,有個叫Taiko 的項目,就是在Layer2 保存了Layer1 的全量狀態,L2 中的智能合約可以直接讀取到L1 的所有狀態。當然具體實現上我們還是有差異的,例如它是EVM 虛擬機,Rooch 是Move 智能合約,DA 以及安全機制上也有不同。
霧月:在上面的場景裡,Rooch 的Move 語言有什麼優勢嗎?
Jolestar:Move 中的資產都表達成資源或Object,而Bitcoin 的UTXO 以及銘文(Inscription),都可以直接對應為Move 中的Object。它們屬於使用者Owner 的Object。 Bitcoin 上程式設計能力受限的一個關鍵原因是很難表達共享狀態,而Move 有Shared Object 的概念,在Layer2 配合起來可以提供不錯的程式設計體驗。
CKB 團隊提出的RGB++ 協定與同構映射,是這類思想的先驅,只不過他們的Cell 是比Move 語言中的Object,更徹底、更純粹的UTXO,但核心理念其實差不多。
Move 的另一個優點是它的組合能力,可以在一種資產中嵌套另外一種資產。例如前面那個例子,房子必須是嵌套在地塊中的,否則很難實現地塊和房子的原子化轉移。
Faust:這裡面Jolestar 提到了RGB++,的確RGB++ 就是典型的從功能角度去拓展比特幣UTXO 的方案。 RGB++ 也不只是適用於CKB 自身,也適用於Cardano、Fuel 或Sui 等和UTXO 或類似狀態儲存模型沾邊的公鏈。
從這個角度來看,CKB、Cardano、Sui、Rooch 都可以作為比特幣的功能拓展層,這點無可厚非。現在西方社群過度糾結於「安全性」,而忽視了比特幣UTXO 功能的拓展,是我們該重視的。
霧月:Rooch Network 現在是一個什麼狀態了?上面的方案技術上有哪些挑戰?
Jolestar: 我們正在準備RoochBTC 先行網的啟動,以及啟動後的營運活動。 RoochBTC 先行網會包含Bitcoin 上的全量UTXO 狀態以及銘文,正在做最後的資料校驗以及升級機制方面的改進。
Bitcoin 上的全量資料大約有數百G,如果把UTXO 以及銘文全量解析出來用Move 語言來表達,資料量會再增加幾倍。現在各種銘文協議比較多,銘文協議的標準化實現也不完備,很難一次性全部支持,我們需要提供一種動態支持新銘文協議的機制,然後根據社區的反饋逐步增加新協議的支持。
現在測試網已經上線了,歡迎對Bitcoin 以及Move 有興趣的開發者和使用者來體驗,並嘗試開發應用程式。