隨著比特幣擴容敘事不斷發酵,近期湧現出了眾多比特幣 Layer2 項目,不過不同於以太坊 Layer2 網路,BTC Layer2 逐漸在以技術導向的區塊鏈擴容路線演變成一個模糊的營銷標籤。
(前情提要: 比特幣 Layer 2 支付方案近況盤點:閃電網路(Lightning) 一年成長7倍正式突破 10000 個節點)
(背景補充: 為什麼說比特幣L2生態「無法復刻」以太坊多樣玩法?)
談起 Layer 2 大多數人會想到以太坊的一眾二層專案,比如 Arbitrum、Zksync、Optimism、StarkWare 等,也有人會說 Layer2 概念本就起源於比特幣閃電網路,後來才被 Vtalik 應用到了以太坊之上發揚光大。這些都是事實,只不過視角不同罷了。
Layer 2 的概念並非比特幣或以太坊獨有,而是區塊鏈技術中的一個擴容技術的大方向。
Layer 2 是指建立在主網之上的一套鏈外解決方案,目的是在不犧牲去中心化或安全性(敲黑板!!)的情況下提高交易吞吐量。
而隨著 BTC 擴容敘事不斷髮酵,湧現出了五花八門的 BTC Layer 2 專案。Layer 2 逐漸從以技術為導向的區塊鏈擴容路線變成一個模糊的行銷標籤。
本文將針對此貼著 BTC Layer 2 標籤的專案做一個簡單的技術梳理。要注意,在這個由熱度主導的市場上,技術對行情的影響往往是次要的。同時由於筆者自身侷限,有些技術觀點可能會和外界有所出入。歡迎大家討論。
繞不開的老話題 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,卻可以實現反超,搶先 BTC 做出了 Layer 2 了。
延伸閱讀:以太坊 Layer2 | Matic今年暴漲100倍!為何 DeFi 項目都要移駕側鏈Polygon?
BTC Layer 2 的技術難點 —— 驗證
想要弄清 BTC Layer 2 的技術難點,要先了解為 BTC Layer 2 創造可能性的 BTC Taproot 升級。
Taproot 由 Bitcoin Core 貢獻者 Gregory Maxwell 於 2018 年首次提出。Taproot 是一項比特幣協議的改進,初衷是提高比特幣交易的隱私性和效率。
Taproot 的核心思想是讓多種條件下的交易看起來像普通的單籤交易,從而減少鏈上資料的佔用和洩露,讓複雜交易(多籤、時間鎖)像單個比特幣交易那樣執行。
Taproot 升級引入了 2 個重要的技術,用來為未來的 BTC Layer 2 創造可能。
1)MAST(Merklized Abstract Syntax Tree 默克爾抽象語法樹)
2)Schnorr 簽名
MAST 是一種將複雜的指令碼分解為多個子指令碼,並將它們組織成一個默克爾樹的結構,只有在滿足某個子指令碼的條件時,才需要公開該子指令碼的 hash 值和內容。這樣可以節省空間,提高靈活性,增加隱私。
Schnorr 簽名是一種數位簽名演算法,可以實現多個簽名者合並成一個簽名者,並生成一個單一的簽名。這樣可以簡化多籤交易,降低費用,提高安全性,增加隱私。
MAST(默克爾抽象語法樹)
MAST 的意義在於,在 Taproot 升級前,我們要想實現複雜指令碼條件,只能通過使用 P2SH 地址,並且必須生成具有相同 hash 值的贖回指令碼並將其包含到交易中。
而對於 P2SH 的複雜條件,交易體積會變得格外龐大。P2SH 地址裡的 BTC,你必須生成具有相同 hash 值的贖回指令碼並將其包含到交易中。如果指令碼中規定的花費條件太多,交易體積會變得格外龐大。
MAST 可以很好的解決上述問題,也正因如此才有了 BTC Layer 2 發展的可能。
MAST 是將默克爾樹和抽象語法樹相結合的一種機制。它類似於 P2SH,也就是給指定 hash 值的指令碼付款,不同的是 MAST 是給指定默克爾根的 hash 值付款。
MAST 將一個大的條件集合組裝成一棵 hash 樹,也就是所謂的默克爾樹。在這棵樹中,每個節點都是由其子節點計算出來的 hash 值。
樹根是一個 hash 值,代表了所有條件的集合。這樣在交易中就只需要包含這個根 hash,而不需要把所有條件都列出來,起到縮小交易大小的作用。
首先分別對所有指令碼(條件)做 hash 計算;然後將計算得到的 hash 值與相鄰 hash 值組合起來進行 hash 計算,生成一組新的 hash 值。不斷重複這個兩兩 hash 計算的過程,直到計算出最後一個 hash 值為止。
這個 hash 值就是默克爾根。
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 簽名可為所有 n-n 多簽名合約提供隱私保護。其中,最典型的應用就是閃電網路支付通道,因為它本質上是一個 2-2 的多籤合約。
而對於通用的 m-n (m
以 2-3 多籤為例,等效於 A、B 解鎖或 B、C 解鎖或 A、C 解鎖三種情況。這可視為一個多條件指令碼,每個條件是一個 2-2 多籤,所以也可以用聚合公鑰而不是明確多籤來定義。
這點便是目前 STX,BEVM 等專案所採用的跨鏈技術基礎:通過建立由幾百個二層節點控制 BTC 地址來實現跨鏈。
總結: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 主網上難度很高。目前傳統的比特幣跨鏈技術,如hash / 時間鎖、鉤子、交換和多重簽名,無法提供足夠的信任保證。
在比特幣 2021 年的 Taproot 升級中引入的 MAST 合約和 Schnorr 簽名的組合為去中心化的比特幣跨鏈帶來希望,是實現的 BTC Layer 2 的主要突破點。
相較於 Rollups 的鏈上驗證,目前在開發中 BTC Layer 2 團隊需要主要深耕的方向是盡最大可能地提升跨鏈橋簽名的安全性。
至於實現完美的 Layer 2,只有比特幣能升級 BIP 層,礦工更新底層程式碼,支援 OP/ZKP 驗證和比特幣礦工的計算執行,才能實現類似 ETH Rollup 的二層解決方案。要知道的是,這需要非常漫長的時間,也或者永遠不會被礦工採納。
📍相關報導📍
比特幣第一個預言機Alex Labs問世, 推開BTC的DeFi大門