深度解析比特幣Layer2
BlockBeats 律動財經 2024-01-05 16:00
談起 Layer 2 大多數人會想到以太坊的一眾二層項目,比如 Arbitrum、Zksync、Optimism、StarkWare 等,也有人會說 Layer2 概念本起源於比特幣閃電網路,後來才被 Vtalik 應用到了以太坊之上發揚光大。這些都是事實,只不過視角不同。
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 可在比特幣上實現類似智能合約的功能。」是不準確的的。
目前 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
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零開始學合約系列講座熱烈報名中
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇