作者:Faust & Nickqiao,極客web3

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

摘要:

· ZK橋在A鏈上部署智能合約,直接接收驗證B鏈區塊頭及相應零知識證明,確認跨鏈訊息的有效性,屬於安全級別最高的橋接方案;樂觀/OP橋通過欺詐證明對無效的跨鏈訊息進行鏈上挑戰,只需存在1個可靠的挑戰者,即可確保跨鏈橋資金池的安全;

·比特幣主網因為有技術上的限制,無法直接部署ZK橋,但可以透過BitVM和詐欺證明實現樂觀橋。 Bitlayer和Citrea等團隊採用了BitVM橋的方案,引入預簽名,結合了通道的思想,讓用戶在正式存款前,對存款執行後的處理流程進行限定,不給跨鏈橋官方挪用用戶存款的機會。

· BitVM橋本質基於「墊付-報銷」模式,有專門的Operator節點為提款用戶打錢,Operator可以定期向公共存款地址申請報銷。如果Operator存在不實的報銷申請,可以被任何人挑戰並Slash;

· BitVM橋在理論上不存在安全問題,但存在活性/可用性問題,且不能滿足特定使用者對資金獨立性和反洗錢的需求(本質還是資金池的模式)。 Bitlayer對此增設了名為OP-DLC的橋接方案,該方案類似於DLC.link,在通道和DLC的基礎上引入欺詐證明,防止DLC橋的預言機作惡。

· 由於BitVM和欺詐證明的落地難度大,DLC橋會率先落地並成暫時的替代物,只要解決預言機的信任風險,集成更為可靠成熟的第三方預言機,DLC橋可以在現階段成為比多簽橋更安全的提款驗證方案。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

導語:自去年的銘文熱潮以來,比特幣生態便以井噴之勢步入高速增長期,短短半年時間,打著BTC Layer2旗號的項目便已達到近100家,簡直成了一片亂象迭出、機會與騙局共存的新大陸。毫不誇張的說,現在的比特幣生態已經是以太坊、Cosmos與Celestia、CKB和比特幣native生態的“多民族大熔爐”,加之缺乏權威的聲音,比特幣生態體系簡直就像19世紀的美國一樣,成為了吸收各路勢力的新天地。這在為整個Web3敘事帶來繁榮與活力的同時,也引入了巨大的風險。

許多項目在連技術方案都沒發布的情況下,就開始肆意炒作,打著native layer2的名號,聲稱能完整繼承比特幣主網的安全性;更有甚者玩起了造概念的宣傳手法,發明一堆光怪陸離的名詞術語,作為宣揚自身優越性的台詞。雖然自吹自擂已然是比特幣生態的現狀,但還是有不少頂級KOL發出了客觀的呼聲。

前不久,區塊鏈瀏覽器Mempool創始人Monanaut公開批判了當下比特幣生態的問題,他犀利的指出,如果一個比特幣Layer2單純採用多簽形式的提款橋,無法以一種去信任的形式讓使用者把資產隨時撤出,這樣的專案就不是一個真正的Layer2。有趣的是,先前Vitalik也曾指出,Layer2在安全保障上至少應比單純依賴多籤的系統更安全。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

可以說,Monanaut和Vitalik直言不諱的指出了比特幣Layer2在技術上的問題:很多L2的提款橋本質都是多簽橋,要么是幾個知名機構各執一道密鑰,要么採用基於POS的去中心化簽名,但無論如何,其安全模型都基於多數誠實假設,即默認大多數多簽參與者不串謀作惡。

這種嚴重依賴信用背書的提款橋方案絕非長久之計,歷史已經告訴我們,多簽橋遲早會出各種各樣的問題,只有信任最小化或是趨於完全去信任的資產託管方式,才能經得起時間和駭客的考驗。但比特幣生態的現狀是,許多專案方連提款橋技術路線圖都沒有發布,對於橋該如何去信任或是信任最小化,壓根沒有成型的設計思路。

但這並非比特幣生態的全部。目前仍有一些項目方針對提款橋優化思路發表了意見。在本文中,我們將對Bitlayer以及Citrea的BitVM橋進行簡要解析,並介紹Bitlayer針對BitVM橋的不足而提出的OP-DLC橋,讓更多人理解跨鏈橋的風險與設計思路,​​這對於廣大比特幣生態參與者而言,至關重要。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

樂觀橋:基於詐欺證明的橋接驗證方案

其實,跨鏈橋的本質很簡單,就是向B鏈證明A鏈上的確發生了某事件。比如說,你從ETH往Polygon上跨資產,要讓跨鏈橋幫​​你證明,你確實向ETH鏈上的特定地址轉入了資產,然後你可以在Polygon鏈上接收等量資金。

傳統的跨鏈橋一般採用見證人多簽,他們會在鏈下指定幾個見證人,見證人要運行各條公鏈的節點,監測是否有人向跨鏈橋收款地址充入了資金。

這類跨鏈橋的安全模型和多簽錢包基本上一致,要按照多簽設定方式例如M/N來判定其信任模型,但最終基本都遵循誠實多數假設,就是默認多數公證人都是無惡意的,容錯率比較有限。先前發生過的多起大數額的跨鏈橋被盜案,基本上都發生在這類多簽橋身上,要​​么是監守自盜,要么是被黑客攻擊。

相比之下,基於欺詐證明協議的“樂觀橋”,和基於ZK的“ZK橋”,要安全的多。以ZK橋為例,它會在目標鏈上設定專用的驗證器合約,直接在鏈上驗證提款證明,免去對鏈下見證人的依賴。

比方說,一座橫跨ETH和Polygon的ZK橋,會在Polygon上部署一個驗證者合約,暫且記作Verifier。 ZK橋的Relayer節點會將最新的以太坊區塊頭,及證明有效性的ZK Proof轉發給Verifier,由後者驗證。這相當於讓Verifier合約在Polygon鏈上同步並驗證最新的以太坊區塊頭。區塊頭上記錄的merkle root與區塊內包含的交易集合有關聯性,可以用來驗證區塊中是否包含某筆交易。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

如果在區塊高度為101的以太坊區塊內,包含10筆從ETH到Polygon的跨鏈轉帳聲明,Relayer會產生與這10筆交易相關的Merkle Proof,向Polygon鏈上的Verifier合約提交證明:

101號以太坊區塊內包含10筆ETH到Polygon的跨鏈交易。當然,ZK橋可以把Merkle Proof進行ZK化,直接向Verifier合約提交ZK Proof。這整個流程中,使用者只需要信任跨鏈橋的智慧合約沒有漏洞,以及零知識證明技術本身安全可靠,不需要像傳統多簽橋那樣引入過多的信任假設。

而「樂觀橋/Optimistic Bridge」要略不同,一些樂觀橋保留了類似於見證人的設定,但是會引入欺詐證明和挑戰窗口期,見證人對跨鏈消息生成多簽後,雖然會提交至目標鏈上,但其有效性不會立刻被認可,要度過一個窗口期且無人提出質疑,才能被判定為有效。這其實和Optimistic Rollup(樂觀Rollup)的想法有些類似。當然,樂觀橋還有其他的產品模式,但歸根究底,安全性是靠詐欺證明協議來保障的。

M/N多簽橋的信任假設是N-(M-1)/N,你要假設網路中的惡意者數量最多只有M-1個,則誠實者數量至少為N-(M-1)。 ZK橋的信任假設可以忽略不計,而基於欺詐證明的樂觀橋,信任假設為1/N,N個見證人中只需要有一個誠實,願意對提交至目標鏈的無效跨鏈消息進行挑戰,便可保證橋的安全。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

目前,由於技術上的限制,只能實現比特幣向Layer2存款方向的ZK橋,而如果方向相反,從Layer2向比特幣鏈上提款,只支援多簽橋或樂觀橋,或是類似於通道的模式(下文要講述的OP-DLC橋更像是通道)。要在比特幣鏈上實現樂觀橋,就要引入詐欺證明,bitVM為這項技術的實現創造了良好條件。

在先前的文章《極簡解讀BitVM:如何在BTC鏈上驗證詐欺證明》,我們曾簡單介紹過,BitVM的詐欺證明,本質是把鏈下進行的複雜計算任務,拆解為大量的簡單步驟,再挑出某一步放在比特幣鏈上直接驗證。這種想法和Arbitrum、Optimism等以太坊樂觀Rollup比較類似。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

當然,上述說法還是比較晦澀,但相信大多數人早就對欺詐證明的含義有所了解。在今天的這篇文章中,受限於整體篇幅,我們不打算對BitVM和詐欺證明協議的技術實作細節進行解讀,因為這涉及一系列複雜的互動流程。

我們將從產品與機制設計的角度簡單介紹BitLayer與Citrea、BOB乃至於BitVM官方設計的原生BitVM橋,以及Bitlayer如何透過OP-DLC橋來緩解BitVM橋的瓶頸,向大家展示如何在比特幣鏈上設計出更優越的提款橋方案。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

Bitlayer和Citrea的BitVM橋原理簡析

下文中,我們以Bitlayer和Citrea、Bob已公佈的BitVM橋方案作為素材,來闡明BitVM橋的大體運作流程。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

在其官方文件和技術部落格中,上述專案方比較清晰的解釋了BitVM提款橋的產品設計想法(目前處於理論階段)。首先,當使用者透過BitVM橋提款時,需要藉助Layer2上的Bridge合約產生提款聲明,提款聲明中會指定以下關鍵參數:

  • 提款人需在L2銷毀的映射版BTC數量(如1個BTC);
  • 提款人打算支付的跨鏈手續費(假設為0.01個BTC);
  • 提款人在L1的收款地址:L1_receipt;
  • 提款人的收款金額(即1 — 0.01 = 0.99BTC)

之後,上述提款聲明會被納入Layer2的區塊。 BitVM橋的Relayer節點會同步Layer2區塊,監聽其中包含的提款聲明,並將其轉發給Operator節點,由後者為提款用戶打款。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

這裡要注意的是, Operator是先自掏腰包在比特幣鏈上為用戶打款,也就是替BitVM橋「墊付」資金,之後再向BitVM橋的資金池申請補償。

Operator在申請報銷時,需要提供自己在Bitcoin鏈上的墊付證明(就是證明自己在L1上向提款用戶指定的地址打款了,要把包含在比特幣區塊中的特定轉帳記錄抽出來) 。同時,Operator還要出具提款人在L2產生的提款聲明(透過Merkle Proof,證明出具的提款聲明來自於L2區塊中,而不是自己憑空捏造的)。之後,Operator需要證明以下事項:

Operator替BitVM橋墊付給提領人的資金,等於提款人在聲明中要求的收款金額;

Operator申請報銷時,報銷金額不多於提款人在Layer2銷毀的映射版BTC金額;

Operator的確把一段時間內的L2-L1提款聲明全部處理了,每一筆提款聲明都能匹配到比特幣鏈上的提款轉帳記錄;

這本質是對Operator謊報墊付金額,或是拒絕處理提款聲明的懲罰(可以解決提款橋的抗審查問題)。 Operator需要在鏈下對墊付證明和提款聲明的關鍵字段進行對比驗證,證明兩者涉及的BTC數額相等。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

而如果提款橋Operator謊報墊付金額,就是指Operator聲稱在L1上的payment proof,和L2提款人發出的Withdrawal Statement相匹配,但實際情況卻是兩者並不匹配。

這樣一來,證明Payment Proof = Withdrawal Statement 的ZKP一定是有錯的。只要這個ZKP被發佈出去,Challanger就可以指出其中哪一步有錯,並透過BitVM2的詐欺證明協議進行挑戰。

需要強調的是,Bitlayer和Citrea、BOB、ZKBase等都採取了最新的BitVM2路線,也就是新版的BitVM方案,這種方案會把鏈下的運算任務ZK化,也就是說,為鏈下進行的計算過程產生ZK Proof,然後對Proof進行驗證,之後把驗證ZKP的過程轉換成適合BitVM的形式,以便後續的挑戰。

同時,透過採用Lamport和預簽名,可以把原始BitVM的多輪互動式挑戰,優化為單輪非互動式挑戰,大幅降低了挑戰的難度。

BitVM的挑戰流程需要用到一種稱為「承諾」的東西,也就是Commitment。我們解釋下什麼是「承諾」。一般而言,在比特幣鏈上發布「承諾」的人會聲稱,某些存放在鏈下的數據/發生在鏈下的計算任務是準確無誤的,而發佈到鏈上的相關聲明就是「承諾」。

我們可以近似的把Commitment理解為一大批鏈下資料的hash。承諾Commitment本身的尺寸往往被壓縮的很小,但其可以透過Merkle Tree等方式,與大量的鏈下資料相綁定,而這些被關聯的鏈下資料無需上鍊。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

在BitVM2和Citrea、BitLayer的BitVM橋方案中,如果有人認為提款橋Operator在鏈上發布的承諾有問題,該承諾關聯了無效的ZKP驗證流程,就可以發起挑戰,而且挑戰權限是Permissionless的。 (裡面的互動流程比較複雜,在此不展開解釋)

由於Operator是替BitVM資金池墊付資金來給提款人打款,之後再向資金池申請報銷,在申請時,Operator要發布一個Commitment,證明自己在L1上給提款人轉的錢,等於提款人在L2上聲明要收到的錢。如果這個Commitment經過了詐欺證明窗口期仍然沒有被挑戰,Operator就可以取走自己需要的報銷金額。

這裡我們要解釋下BitVM橋的公共資金池是如何維護的,而這正是跨鏈橋最關鍵的部分。大家都知道,跨鏈橋能兌付給提款人的資金,來自存款人或是其他LP貢獻的資產,而Operator墊付出去的錢,最終都要從公共資金池抽走,所以單純看資金的轉移結果,BitVM橋吸收的存款人Deposit金額,應等於提款人Withdraw的金額。那麼如何保管Deposit的資金,就是一個很重要的問題。

在大多數比特幣Layer2的橋接方案中,往往透過多簽來管理公共資產,用戶的存款被匯總到一個多簽帳戶中,當需要給提款人打款時,就由這個多簽帳戶負責打款,這種方案顯然是存在巨大的信任風險的。

而Bitlayer和Citrea的BitVM橋,採用了類似閃電網路和通道的思想,用戶在存款前,會先和BitVM聯盟進行通訊,讓後者進行預簽名,以達成以下效果:

用戶向儲值地址轉入存款後,這些錢會直接鎖定在一個Taproot地址上,只能由橋的Operator來領取。而且,Operator只有向用戶墊付了提款資金後,透過申請報銷的方式,向上述存款的Taproot地址申領資金。挑戰期結束後,Operator才能把一定額度的用戶存款拿走。

在BitVM橋方案中,存在由N個成員組成的BitVM聯盟(BitVM Federation),由他們對使用者的存款進行調度。但這N個成員無法私自挪用用戶的存款,因為用戶在向指定地址打款前,會要求BitVM聯盟先進行預簽名,確保這些存款只能被Operator合法申領。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

高度概括,BitVM橋採用了類似於通道和閃電網絡的思想,讓用戶“verify by yourself”,通過預簽名的方式讓BitVM聯盟無法擅自操縱存款池,存款池的錢只能用於為Operator報銷資金。如果Operator謊報墊付金額,任何人都可以發布詐欺證明並進行挑戰。

如果上述方案可以落地,屆時BitVM橋將成為最安全的比特幣提款橋之一:這種橋不存在安全問題,僅存在可用性/活性問題。用戶在嘗試向BitVM存入資金時,可能遭到BitVM聯盟的審查或拒絕配合,導致無法順利存入資金,但這與安全無關而屬於活性/可用性問題。

但BitVM橋的落地難度比較大,而且也無法滿足一些對資金透明度要求比較高的大戶的需求:這些人可能涉及到反洗錢問題,不太希望把自己的資金與別人的資金混到一起,但BitVM橋會統一收納存款者的錢,某種程度上是個混雜很多錢的池子。

為了解決上述BitVM橋的活性問題,以及為有特定需求的人提供獨立乾淨的資金出入通道,BitLayer團隊額外增設了名為OP-DLC的跨鏈橋方案,在BitVM2的樂觀橋之外,採用了類似DLC.link的DLC橋,提供使用者BitVM橋和OP-DLC橋兩個出入口,以降低對BitVM橋乃至BitVM聯盟的依賴。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

DLC:謹慎日誌合約

DLC(Discreet Log Contracts)名為謹慎日誌合約,由MIT的Digital Currency Initiative提出,該技術最早用於在比特幣上實現一種輕量級的智能合約,不需要把合約的內容上鍊,就可以透過鏈下互動式通訊和預簽名等方法,在比特幣鏈上實現出保護隱私的智慧合約功能。下面我們透過一個賭球案例來說明DLC的工作原理。

假設Alice與Bob要對3天後舉行的皇家馬德里和巴薩的比賽結果打賭,兩人各出1個btc。如果皇馬勝出,則Alice可以獲得1.5 BTC,Bob只能收回0.5 BTC,這相當於Alice賺0.5個BTC,Bob虧損0.5 BTC;如果巴薩勝出,Alice只能收回0.5 BTC,Bob則可以拿走1.5 BTC。如果平局,兩人各自從拿回1個BTC。

如果我們要讓上述對賭過程去信任化,就要想辦法防止任何一方耍賴,如果單純用2/2多簽或是2/3多簽,顯然還不夠去信任。 DLC針對這一要點給出了自己的解決方案(要依賴第三方預言機)。其整個工作流程大致可分為四個部分。

以前面的Alice和Bob為例,首先,雙方在鏈下創建一筆fund交易,這可以把彼此的1枚BTC鎖在2/2多簽地址上,如果這筆fund交易生效,則該多簽地址裡的2枚BTC需要雙方都授權,才能被花費。

當然,這筆Fund交易先不上鍊,只留存在連結的Alice和Bob客戶端本地,他們都知道這筆交易生效後會有什麼後果。目前雙方只是在進行理論推演,然後根據推演的結果達成一連串協議。

在DLC創建的第一階段,我們可以確定的是,雙方將在未來把各自的1枚BTC鎖入多簽位址中。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

第二步,雙方繼續推演未來可能發生的事件和結果:例如,當球賽結果公佈後,可能是Alice贏Bob輸、Alice輸Bob贏、平局等多種可能,這會導致前述2/2多簽地址中的比特幣出現不同的分配結果。

不同的結果需要由不同的交易指令來觸發,這些「可能在未來上鍊的交易指令」稱為CET,即合約執行交易(Contract Execution Transaction)。 Alice和Bob要事先推演出所有的CET,產生包含全部CET的交易資料集。

例如,根據前述Alice和Bob對賭的幾種可能結果,Alice創建出以下幾種CET:

CET1:Alice可從多簽地址取得1.5枚BTC,Bob可獲得0.5枚BTC;

CET2:Alice可從多簽地址取得0.5枚BTC,Bob可獲得1.5枚BTC;

CET3:雙方各自可獲得1枚BTC。

我們以CET1為例(Alice拿1.5 BTC,Bob拿0.5 BTC):

這筆交易的意思是,把多簽地址中的1.5枚BTC,轉移到一個由Alice和預言機輸出結果共同觸發的Taproot地址,另外0.5枚BTC轉移給Bob的地址。此時對應的事件是:皇馬勝出,Alice贏0.5BTC,Bob輸0.5BTC。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

當然,要花費這1.5枚BTC,Alice必須拿到預言機發送的「皇馬勝出」結果簽名。換句話說,只有當預言機輸出「皇馬勝利」的訊息後,Alice才能夠把這1.5枚BTC轉走。至於CET2和CET3的內容,我們可以以此類推,在此不贅述。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

要注意的是,CET本質是一筆待上鍊待生效的交易,如果Alice提前把CET1廣播出去,或者在「巴薩勝出」的情況下,仍然把「皇馬勝出」後才能順利觸發的CET1上鏈,會發生什麼事?

前面的示意圖中,我們提到,CET1上鍊後,會把原始多簽地址中鎖定的2枚BTC轉走,0.5枚BTC轉給Bob,1.5枚BTC轉到一個Taproot地址中,預言機輸出“皇馬勝出」後,Alice方能解鎖Taproot位址鎖定的BTC。效果如下圖所示。

同時,這個Taproot位址受到時間鎖限制,如果在時間鎖規定的窗口期內,Alice無法成功提走1.5枚BTC,則Bob有權把這些錢直接拿走。

所以,只要預言機是誠實的,Alice就無法拿走這1.5枚BTC,等時間鎖期限耗盡,Bob可以把這1.5枚BTC拿走。再算上CET1上鍊時直接轉給Bob的那0.5枚BTC,最後所有的錢都會歸Bob所有。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

對Alice而言,無論自己最終是贏還是輸,最有利的做法都是把正確的CET上鍊,把無效的CET上鍊會讓自己輸更多錢。

其實上述CET在建構時,對Taproot的schnorr簽名做了改進,可以理解為利用預言機的公鑰+事件結果,針對不同結果建構出彼此獨立的位址。之後,等預言機公佈某個結果對應的簽名,才能花費該結果對應的地址上鎖定的BTC。

當然,這裡面存在著一種額外的可能性。假如Alice知道自己輸了,乾脆不把自己建構的CET1上鍊,這時候怎麼辦?這個很好解決,因為Bob可以針對「alice輸,Bob贏」一事構建出自定義的CET,這個CET達成的效果和Alice構建的CET基本一致,只是具體細節不一樣,但結果是一樣的。

上面講述的就是最關鍵的CET建置流程。而DLC的第三步,是Alice和Bob雙方進行通訊,檢查對方構建的CET交易,帶上自己對該CET的簽名,檢查無誤後,可以信任彼此,便各自出資1枚BTC,鎖入最開始提到的那個Alice和Bob的2/2多簽地址,然後等待某個CET被上鍊,觸發後續的流程。

最後,等預言機公佈結果,拿到預言機對結果的簽名後,任一方可以把正確的CET上鍊,讓多簽地址中鎖定的2枚BTC被再分配,如果輸家搶先把錯誤的CET上鏈,會讓自己損失所有的錢,如果把正確的CET上鍊,輸家還可以拿回0.5BTC。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

或許有人會問, DLC與普通的2/3多簽有何不同?首先,2/3多簽下,任兩方串謀即可盜走全部資產,而DLC透過事先建構CET集合的方式,讓對手方之間把全部的場景都限制住了,就算預言機參與串謀,造成的損失往往也有限。

其次,多簽需要各方針對具體的待上鍊交易進行簽名,而在DLC的設定下,預言機只需要對特定事件的結果進行簽名,不需要知道CET/待上鍊交易的內容,甚至完全不需要知道有Alice和Bob這兩個人,只需要像普通的預言機那樣和用戶進行正常的互動即可。

我們可以認為,DLC本質是把對多簽參與者的信任轉變成了對預言機的信任,只要預言機不參與作惡,就可以保證DLC的協議設計足夠去信任。理論上來說,DLC可以採用較成熟、完善的第三方預言機,來避免作惡。而DLC.link和BitLayer利用了DLC的這種特性,把橋的信任問題轉嫁給了第三方預言機。

此外,Bitlayer的DLC橋也支援自建的預言機節點,在此之上加上了一層詐欺證明,當自建的預言機把無效的CET上鍊時,允許任何人對其進行挑戰。關於其OP-DLC橋的原理,我們將在下面展開簡述。

OP-DLC橋:DLC頻道+詐欺證明

我們從存取款的完整流程來解釋OP-DLC橋的運作原理。假設現在Alice透過OP-DLC橋向L2存款1枚BTC,根據兩步驟交易機制,ALice先生成一個pre-fund交易,如下圖:

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

這其實是先把1枚BTC轉移到Alice和BitVM聯盟成員共同控制的Taproot位址中,然後開啟創建CET的一系列流程。如果BitVM橋聯盟成員拒絕配合Alice的存款要求,Alice可以等時間鎖結束後,把錢立刻抽回去。

如果BitVM聯盟成員願意配合Alice,雙方便通過鏈下通訊的方式,先生成正式的Fund存款交易(先不上鍊),以及提款場景下全部的CET,待CET生成和檢驗結束後,雙方才把Fund交易提交上鍊。

在Fund交易的Witness/簽名數據裡,Alice會指定自己在Layer2的收款地址;Fund交易上鍊後,Alice可以向Layer2上的橋合約提交上述fund交易數據,證明自己在比特幣鏈上完成了存款動作,有資格讓L2橋合約向指定的收款地址釋放Token。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

Fund交易觸發後,存款實際上還是被鎖定在Alice和BitVM聯盟成員共同控制的Taproot多簽地址中。但要注意,該多簽只能透過CET來解鎖該位址鎖定的BTC,BitVM聯盟不能平白無故把錢轉走。

接下來我們來解析Alice和BitVM聯盟事先建構好的CET。這些CET用來滿足未來提款時的潛在場景,例如Alice可能存入了1枚BTC,但她初次提款時只提走0.3枚BTC,剩下的0.7枚BTC交由BitVM聯盟的公共資金池來支配,但要再提款就只能透過前文講過的BitVM橋;

或者乾脆用這0.7枚BTC發起一次新的pre-fund存款,當做是一筆新充入DLC橋的資產,可以重複前面提過的fund交易和CET構建流程。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

上述流程不難理解,其實就是讓存款人Alice和bitVM聯盟互相充當對手方,為不同金額的提款事件創建CET,然後讓預言機讀取Alice在Layer2發起的提款聲明,判斷Alice想觸發哪一個CET(想提多少錢)。

這裡面的風險在於,預言機可能和BitVM聯盟串謀,例如Alice聲明要提款0.5枚BTC,預言機卻偽造了提款聲明,最終使得「Alice收回0.1BTC,BitVM聯盟收到0.9BTC」的錯誤CET上鍊。

對此的解決方法有好幾種,首先就是可以採用在設計上比較完善的第三方預言機,防止此類串謀行為(此時BitVM聯盟要和預言機串謀的拉攏難度極高),或者讓預言機進行質押,預言機需要定期在比特幣鏈上發布Commitment,聲明自己誠實的處理了提款人的提款請求。任何人都可以透過BitVM的詐欺證明協議對Commitment進行挑戰,如果挑戰成功,就Slash作惡的預言機。

技術詳解BitVM橋與OP-DLC:新一代比特幣Layer2跨鏈橋的設計思路

在OP-DLC橋的設計下,用戶可以始終對自己的資產“參一手”,防止資產被BitVM聯盟挪用,而且這種類似於通道的設計方案,為用戶帶來了更多的自主權,也不需要讓自己的資金和其他人的資金混在一起,更像P2P點對點的存取款方案。

此外,考慮到BitVM方案要過一段時間才能落地,在其落地前,相較於單純的多簽方案,DLC橋都是更可靠的橋接處理模型。這個方案也可以作為與BitVM橋並行使用的兩大訪問款出入口,其中一個出了故障後,用戶可以走另一個出入口,也不失為一種好的容錯方法。

總結

BitLayer和Citrea的BitVM橋方案,本質是「墊付-報銷」模式,有專門的Operator節點為提款用戶付錢,Operator可以定期向公共存款地址申請報銷。如果Operator存在不實的報銷申請,可以被任何人挑戰並Slash。

BitVM2的方案引入預簽名,結合了通道的思想,讓用戶在正式存款前,對存款執行後的處理流程進行限定,不給跨鏈橋官方挪用用戶存款的機會。

這種橋在理論上不存在安全問題,但存在活性/可用性問題,而且不能滿足特定用戶對資金獨立性和反洗錢的需求(本質還是資金池的模式),落地難度也很大。

為此,Bitlayer增設了名為OP-DLC的橋接方案,該方案類似於DLC.link,在通道和DLC的基礎上引入欺詐證明,防止DLC橋的預言機作惡。

但由於BitVM的落地難度太大,DLC橋會率先落地並成暫時的替代物,只要解決預言機的信任風險,整合更為可靠成熟的第三方預言機,DLC橋可以在現階段成為比多簽橋更安全的提款驗證方案。