來源: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 籤名可爲所有 n-n 多籤名合約提供隱私保護。其中,最典型的應用就是閃電網絡支付通道,因爲它本質上是一個 2-2 的多籤合約。
而對於通用的 m-n (m<n) 多籤合約,可以在 n-n 的情形上拓展,我們可以利用 MAST 將所有可能的解鎖條件折疊成分支結構。
以 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 的二層解決方案。要知道的是,這需要非常漫長的時間,也或者永遠不會被礦工採納。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。