來源:Biteye
談起Layer 2 大多數人會想到以太坊的一眾二層項目,例如Arbitrum、Zksync、Optimism、StarkWare 等,也有人會說Layer2 概念本起源於比特幣閃電網絡,後來才被Vtalik 應用到了以太坊之上發揚光大。這些都是事實,只不過視角不同。
Layer 2 的概念並非比特幣或以太坊獨有,而是區塊鏈技術中的一個擴容技術的大方向。
Layer 2 是指建立在主網之上的一套鏈外解決方案,目的是在不犧牲去中心化或安全性(敲黑板!!)的情況下提高交易吞吐量。
而隨著BTC 擴容敘事不斷發酵,湧現了五花八門的BTC Layer 2 計畫。 Layer 2 逐漸從以技術為導向的區塊鏈擴容路線變成一個模糊的行銷標籤。
本文將針對此貼著BTC Layer 2 標籤的專案做一個簡單的技術梳理。要注意,在這個由熱度主導的市場上,科技對行情的影響往往是次要的。同時由於筆者本身局限,有些技術觀點可能會和外界有所出入。歡迎大家加群討論。
全文不構成任何投資建議。
01 繞不開的老話題Layer 2 與側鏈的差別?
上文提到了Layer 2 技術的目的是在不犧牲去中心化或安全性的前提下為主網擴容,因此在狹義上也並不是一個單一的技術概念,而是包含了多種不同的方案和實現。
目前,最常見的Layer 2 技術有兩類:狀態通道(State Channel)和Rollups。
狀態通道是指在主網上建立一個雙方或多方之間的通道,然後在通道內進行多次交易,只有在通道開啟或關閉時才需要在主網上廣播交易。
BTC 的閃電網路正式採用的這種方案,通俗的講,閃電網路的通道可以理解成一個多簽位址,Bob 和Alice 在主網路上分別向這個頻道(位址)存入BTC 後,雙方透過閃電網路開展日常交易。
這些日常交易並不上主網,因此節省了昂貴的Gas,待有一天,雙方認為不再會進行交易時,雙方可以向主網發起提款命令,這個命令的簽名可以向BTC 主網證明雙方在主網以外一系列交易帳本的真實性。
在此刻主網的安全共識會介入為Bob 和Alice 結算並放款,因此發生在閃電網絡之上的交易也就具備了BTC 主網的安全水平。目前,這種方案沒有實現智能合約的先例。
Rollup 大家可能更為熟悉,以太坊上的Optimistic Rollups 和Zero-Knowledge Rollups 都是以太坊的Layer 2 擴展解決方案,旨在將複雜的執行和狀態存儲過程移至Layer 2 來提高吞吐量。
通俗的講,主網會驗證Layer 2 定期提交到主網上的Proof 以保證Layer 2 帳本的真實性(這個驗證過程尤其重要)。
如此,主網就可以「即時」掌控L2 帳本,待L2 資金跨回主網時,ETH 主網的安全共識將會介入,主網的Layer 2 放款合約可以在不依賴第三方資訊來源的情況下,僅憑經過主網共識產生的數據來核實是否可以放款。
讀到這裡,相信不少讀者可以意識到傳統的Layer 2 的本質是一個安全性與主網相同的跨鏈橋。有了這個意識,我們就能很好的鑑別側鏈了。
側鏈是指在主網之外建立一個獨立的區塊鏈網路(如BSC),主網的共識無法辨別側臉跨鏈行為的合法性。
通往側鏈的跨鏈橋把主網上資產鎖定並映射到側鏈上,隨後在側鏈映射出的資產可以實現交易轉帳等功能,而在側鏈回到主網時,主網的跨鏈橋合約只會核實側鏈跨鏈發出的放款的消息本身的真實性,而不會驗證側鏈的帳本。
換句話說如果跨鏈橋專案方作惡,惡意簽名,或是側鏈直接製造假帳本,主網路端的資金都會受到損失。
不難看出,如果依照傳統的L2 定義,觀察主網是否可以驗證主網以外的帳本就能判斷一條鏈是否是Layer 2 的關鍵。
有了這個觀念,就不難解釋為什麼ETH 上線晚於BTC,卻可以實現反超,搶先異步做出了Layer 2 了。
02 BTC Layer 2 的技術困難-驗證
想要弄清楚BTC Layer 2 的技術困難,要先了解為BTC Layer 2 創造可能性的BTC Taproot 升級。
Taproot 由Bitcoin Core 貢獻者Gregory Maxwell 於2018 年首次提出。 Taproot 是一項比特幣協議的改進,初衷是提高比特幣交易的隱私性和效率。
Taproot 的核心思想是讓多種條件下的交易看起來像普通的單簽交易,從而減少鏈上資料的佔用和洩露,讓複雜交易(多簽、時間鎖)像單一比特幣交易那樣執行。
Taproot 可以Taproot 升級引進了2 個重要的技術,用來為未來的BTC Layer 2 創造可能。
1)MAST(Merklized Abstract Syntax Tree 梅克爾抽象語法樹);
2)Schnorr 簽名;
MAST 是一種將複雜的腳本分解為多個子腳本,並將它們組織成一個默克爾樹的結構,只有在滿足某個子腳本的條件時,才需要公開該子腳本的雜湊值和內容。這樣可以節省空間,提高靈活性,增加隱私。
Schnorr 簽章是一種數位簽章演算法,可以實作多個簽章者合併成一個簽章者,並產生一個單一的簽章。這樣可以簡化多簽交易,降低費用,提高安全性,增加隱私。
MAST(梅克爾抽象語法樹)
MAST 的意義在於,在Taproot 升級之前,我們要實現複雜腳本條件,只能透過使用P2SH 位址,並且必須產生具有相同雜湊值的贖回腳本並將其包含到交易中。
而對於P2SH 的複雜條件,交易體積會變得格外龐大。 P2SH 位址裡的BTC,你必須產生具有相同雜湊值的贖回腳本並將其包含到交易中。如果腳本中規定的花費條件太多,交易體積會變得格外龐大。
MAST 可以很好的解決上述問題,也因為如此才有了BTC Layer 2 發展的可能。
MAST 是一種將梅克爾樹和抽象語法樹結合的機制。它類似於P2SH,也就是給指定哈希值的腳本付款,不同的是MAST 是給指定默克爾根的哈希值付款。
MAST 將一個大的條件集合組裝成一棵哈希樹,也就是所謂的梅克爾樹。在這棵樹中,每個節點都是由其子節點計算出來的雜湊。
樹根是一個哈希值,代表了所有條件的集合。這樣在交易中就只需要包含這個根哈希,而不需要把所有條件都列出來,起到縮小交易大小的作用。
首先分別對所有腳本(條件)做哈希計算;然後將計算得到的雜湊值與相鄰雜湊值組合起來進行雜湊計算,產生一組新的雜湊值。不斷重複這個兩兩個哈希計算的過程,直到計算出最後一個雜湊值。
這個哈希值就是默克爾根。
MAST 可以將比特幣交易與一棵默克爾樹相關聯,這棵樹上的每個葉子節點代表一個解鎖比特幣的條件。
要花費這些被鎖定的比特幣,需要建構一個符合默克爾樹上某條路徑所對應的條件的解鎖腳本。
網路只需要驗證這個腳本所對應的條件是否屬於默克爾樹的原始條件集合,也就是驗證這個條件是否存在於默克爾樹之上。
一旦網路確認這個腳本(以及對應的條件) 屬於默克爾根,就知道這個腳本符合鎖定比特幣的要求,然後繼續驗證這個解鎖腳本。這樣我們就不需要把完整的腳本包含在交易中,從而減少了比特幣交易的大小。
需要說的是,雖然MAST 極大減小交易腳本佔用的空間,也提供了複雜的鏈上操作提供可能性,但語法樹這種結構所能實現的邏輯相對來說還是比較有局限性的,因此有些聲稱「MAST 可在比特幣上實現類似智能合約的功能。」是不準確的。
目前BTC 主網還不支援實現像以太坊Layer 2 那樣的帳本驗證功能,也就意味著,BTC Layer 2 無法完全照搬ETH Layer 2 的技術架構,要想要確保跨鏈橋安全,需要另闢蹊徑。
如果Schnorr 簽章與MAST 二者結合,可以為BTC 主網到Layer 2 的跨鏈橋提供一種新思路,這種技術也是目前市面上BTC Layer 2 專案的主流技術方案。
Schnorr 簽名
Schnorr 簽名是Claus Schnorr 提出的數位簽章方案,以其簡潔且有效率而聞名。它的優點在於可以將多個簽名聚合成單一簽名,從而優化多簽場景下的驗證和認證流程。
舉例來說,在一個需要12 個簽章的多簽交易中,每個簽章可能需要佔用20 位元組的儲存空間,那麼總共需要240 位元組來儲存這12 個簽章。
而Schnorr 簽名可以將這12 個簽名合併成一個統一的Schnorr 簽名,該簽名只需要大約60 個位元組的空間。這樣就節省了許多儲存空間,可以用來容納更多的交易腳本資訊。
Schnorr 簽名可為所有nn 多重簽名合約提供隱私保護。其中,最典型的應用是閃電網路支付通道,因為它本質上是一個2-2 的多簽合約。
而對於通用的mn (m 以2-3 多簽為例,等效於A、B 解鎖或B、C 解鎖或A、C 解鎖三種情況。這可視為一個多條件腳本,每個條件是一個2-2 多簽,所以也可以用聚合公鑰而不是明確多簽來定義。 這點便是目前STX,BEVM 等專案所採用的跨鏈技術基礎:透過創建由幾百個二層節點控制BTC 位址來實現跨鏈。
03 總結:BTC Layer 2 可行發展道路
基於前面的比較,BTC Layer 2 解決方案顯然不能簡單地複製以太坊第二層的設計,因為兩者之間存在固有的差異。
為了規劃正確的前進道路,BTC Layer 2 解決方案應專注於安全的核心本質,同時考慮到比特幣的獨特屬性。
比特幣基礎層採用了簡單的UTXO 模型與有限的區塊空間。
上文提到了即使有MAST 的存在,BTC 主網依然無法實現過於複雜的OP/ZKP 驗證邏輯。
這就注定了,BTC 與以太坊Rollup 不同,比特幣第二層解決方案不能定期提交鏈上的責任記錄進行驗證。在比特幣區塊鏈上儲存資料只能作為可用性檢查點,而不能實際驗證。
這一點是目前比較令市場擔憂的,對BTC 信仰者來講,沒有BTC 共識參與的驗證,就失去了BTC Layer 2 的敘事;對ETH 老用戶來講,安全性弱於ETH Rollup 的技術方案也並不會有太大吸引力。
去中心化跨鏈能力問題。
這是至關重要Layer 2 的定義,要實現安全等同於主網共識的跨鏈橋在BTC 主網上難度很高。目前傳統的比特幣跨鏈技術,如哈希/時間鎖、鉤子、交換和多重簽名,無法提供足夠的信任保證。
在比特幣2021 年的Taproot 升級中引入的MAST 合約和Schnorr 簽名的組合為去中心化的比特幣跨鏈帶來希望,是實現的BTC Layer 2 的主要突破點。
相較於Rollups 的鏈上驗證,目前在開發中BTC Layer 2 團隊需要主要深耕的方向是盡可能地提升跨鏈橋簽章的安全性。
至於實現完美的Layer 2,只有比特幣能升級BIP 層,礦工更新底層程式碼,支援OP/ZKP 驗證和比特幣礦工的計算執行,才能實現類似ETH Rollup 的二層解決方案。要知道的是,這需要非常漫長的時間,也或永遠不會被礦工採納。