本文專訪了Rooch Network的創辦人Jolestar,討論了比特幣Layer2的定義、框架和看法。他指出,比特幣Layer2應該不僅考慮安全問題,還應該考慮功能拓展性和對比特幣貨幣屬性的賦能。針對如何從技術或DA角度定義Layer2,Jolestar指出,Layer2並不創造新的區塊空間,而是利用Layer1來實現DA和安全。從生態和功能拓展角度看待Layer2,他們討論了如何利用Layer1提供的能力來賦能比特幣的資產屬性,以及如何構建安全的去信任的橋,並提到Bitcoin上的擴展套件協議將帶來新的挑戰。此外,他們也討論了比特幣生態中對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,也需要有上規模的中間層填補這個溝壑。
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感興趣的開發者和使用者來體驗,以及嘗試開發應用。