深入探討比特幣二層概念:有可能實現,但也可能不被礦工採用

Biteye
分享
深入探討比特幣二層概念:有可能實現,但也可能不被礦工採用
  • 作者:Biteye 核心貢獻者 Fishery Isla
  • 編輯:Biteye 核心貢獻者 Crush
  • 社區:@BiteyeCN
  • 全文約 4000 字,預計閱讀時間為 8 分鐘

談起 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,卻可以實現反超,搶先異步做出了 Layer 2 了。

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 將一個大的條件集合組裝成一棵哈希樹,也就是所謂的默克爾樹。在這棵樹中,每個節點都是由其子節點計算出來的哈希值。

樹根是一個哈希值,代表了所有條件的集合。這樣在交易中就只需要包含這個根哈希,而不需要把所有條件都列出來,起到縮小交易大小的作用。

首先分別對所有腳本(條件)做哈希計算;然後將計算得到的哈希值與相鄰哈希值組合起來進行哈希計算,生成一組新的哈希值。不斷重復這個兩兩哈希計算的過程,直到計算出最後一個哈希值為止。

這個哈希值就是默克爾根。

merkle root

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 地址來實現跨鏈。

總結: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 的二層解決方案。要知道的是,這需要非常漫長的時間,也或者永遠不會被礦工採納。

關於我們

Biteye 是亞洲領先的 Web3 研究社區,通過社區和 AI 驅動的方式產生前瞻性的投研內容和工具,幫助社區成員探索 Web3 兔子洞。

微信群:添加小助手 @Biteye01 入群

Twitter:@BiteyeCN

Discord:Discord.gg/ME582FXR4F