本文將對 Bitlayer 以及 Citrea 的 BitVM 橋進行簡要解析,並介紹 Bitlayer 針對 BitVM 橋的不足而提出的 OP-DLC 結構,讓更多人理解新跨鏈橋的風險與設計思路。
(前情提要:比特幣「又實現」圖靈完備了?BitVM 論文講了什麼? )
(背景補充:一覽比特幣生態新趨勢:Ordinal、Atomical、bitVM、閃電網路 )
摘要
- 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 橋可以在現階段成為比多籤橋更安全的提款驗證方案。
導語
自去年的銘文熱潮以來,比特幣生態便以井噴之勢步入高速增長期, 短短半年時間,打著 BTC Layer2 旗號的專案便已達到近 100 家, 簡直成了一片亂象迭出、機會與騙局共存的新大陸。毫不誇張的說,現在的比特幣生態已經是以太坊、Cosmos 與 Celestia、CKB 和比特幣 native 生態的 「多民族大熔爐」,加之缺乏權威的聲音,比特幣生態體系簡直就像 19 世紀的美國一樣,成為了吸納各路勢力的新天地。這在為整個 Web3 敘事帶來繁榮與活力的同時,也引入了巨大的風險。
許多專案在連技術方案都沒釋出的情況下,就開始肆意炒作,打著 native layer2 的名號,聲稱能完整繼承比特幣主網的安全性;更有甚者玩起了造概念的宣傳手法,發明一堆光怪陸離的名詞術語,作為宣揚自身優越性的臺詞。雖然自吹自擂已然是比特幣生態的現狀,但還是有不少頂級 KOL 發出了客觀的呼聲。
前不久, 區塊鏈瀏覽器 Mempool 創辦人 Monanaut 公開批判了當下比特幣生態的問題, 他犀利的指出,如果一個比特幣 Layer2 單純採用多籤形式的提款橋,無法以一種去信任的形式讓使用者把資產隨時撤出,這樣的專案就不是一個真正的 Layer2。有趣的是, 此前 Vitalik 也曾指出,Layer2 在安全保障上至少應比單純依賴於多籤的系統更安全。
可以說,Monanaut 和 Vitalik 直言不諱的指出了比特幣 Layer2 在技術上的問題: 很多 L2 的提款橋本質都是多籤橋, 要麼是幾個知名機構各執一道金鑰,要麼採用基於 POS 的去中心化簽名,但無論如何,其安全模型都基於多數誠實假設,即預設大多數多籤參與者不串謀作惡。
延伸閱讀:以太坊的正統Layer2,唯有Rollup擴容方案?
這種嚴重依賴於信用背書的提款橋方案絕非長久之計,歷史已經告訴我們,多籤橋遲早會出各種各樣的問題,只有信任最小化或是趨於完全去信任的資產託管方式,才能經受住時間和駭客的考驗。但比特幣生態的現狀是, 很多專案方連提款橋技術路線圖都沒有釋出,對於橋該如何去信任或是信任最小化,壓根沒有成型的設計思路。
但這並非比特幣生態的全部。目前仍然有一些專案方針對提款橋優化思路發表了意見。在本文中, 我們將對 Bitlayer 以及 Citrea 的 BitVM 橋進行簡要解析,並介紹 Bitlayer 針對 BitVM 橋的不足而提出的 OP-DLC 橋,讓更多人理解跨鏈橋的風險與設計思路, 這對於廣大比特幣生態參與者而言,至關重要。
樂觀橋:基於欺詐證明的橋接驗證方案
其實,跨鏈橋的本質很簡單,就是向 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 與區塊內包含的交易集合有關聯性,可以用於驗證區塊中是否包含某筆交易。
如果在區塊高度為 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 個見證人中只需要有一個誠實,願意對提交至目標鏈的無效跨鏈訊息進行挑戰,便可保證橋的安全。
目前, 由於技術上的限制,只能實現比特幣向 Layer2 存款方向的 ZK 橋,而如果方向相反,從 Layer2 向比特幣鏈上提款,只支援多籤橋或樂觀橋,或是類似於通道的模式(下文要講述的 OP-DLC 橋更像是通道)。要在比特幣鏈上實現樂觀橋,就要引入欺詐證明,bitVM 為這一技術的實現創造了良好條件。
在此前的文章 《極簡解讀 BitVM:如何在 BTC 鏈上驗證欺詐證明》,我們曾簡單介紹過, BitVM 的欺詐證明,本質是把鏈下進行的複雜計算任務,拆解為大量的簡單步驟,再挑出某一步放在比特幣鏈上直接驗證 。這種思路和 Arbitrum、Optimism 等以太坊樂觀 Rollup 比較類似。
當然,上述說法還是比較晦澀,但相信大多數人早就對欺詐證明的含義有所瞭解。在今天的這篇文章中,受限於整體篇幅,我們不打算對 BitVM 和欺詐證明協議的技術實現細節進行解讀,因為這涉及到一系列複雜的互動流程。
我們將從產品與機制設計的角度簡要介紹 BitLayer 和 Citrea、BOB 乃至於 BitVM 官方設計的原生 BitVM 橋,以及 Bitlayer 如何通過 OP-DLC 橋來緩解 BitVM 橋的瓶頸 ,向大家展示如何在比特幣鏈上設計出更優越的提款橋方案。
Bitlayer 和 Citrea 的 BitVM 橋原理簡析
下文中,我們以 Bitlayer 和 Citrea、Bob 已公佈的 BitVM 橋方案作為素材,來闡明 BitVM 橋的大體運作流程。
在其官方文件和技術部落格中,上述專案方比較清晰的解釋了 BitVM 提款橋的產品設計思路(目前處於理論階段)。首先,當用戶通過 BitVM 橋提款時,需要藉助 Layer2 上的 Bridge 合約生成提款宣告, 提款宣告中會指定以下關鍵引數:
- 提款人需在 L2 銷燬的反射版 BTC 數量(如 1 個 BTC);
- 提款人打算支付的跨鏈手續費(假設為 0.01 個 BTC);
- 提款人在 L1 的收款地址:L1_receipt;
- 提款人的收款金額(即 1 — 0.01 = 0.99BTC)
之後, 上述提款宣告會被包含進 Layer2 的區塊中 。BitVM 橋的 Relayer 節點會同步 Layer2 區塊,監聽其中包含的提款宣告,並將其轉發給 Operator 節點,由後者為提款使用者打款。
這裡需要注意的是, Operator 是先自掏腰包在比特幣鏈上為使用者打款,也就是替 BitVM 橋 「墊付」 資金,之後再向 BitVM 橋的資金池申請補償。
Operator 在申請報銷時,需要提供自己在 Bitcoin 鏈上的墊付證明(就是證明自己在 L1 上向提款使用者指定的地址打款了,要把包含在比特幣區塊中的特定轉帳記錄抽出來)。同時,Operator 還要出具提款人在 L2 生成的提款宣告(通過 Merkle Proof,證明出具的提款宣告來自於 L2 區塊中,而不是自己憑空捏造的)。之後, Operator 需要證明如下事項:
- Operator 替 BitVM 橋墊付給提款人的資金,等於提款人在宣告中要求的收款金額;
- Operator 申請報銷時,報銷金額不多於提款人在 Layer2 銷燬的反射版 BTC 金額;
- Operator 的確把一段時間內的 L2-L1 提款宣告全部處理了,每一筆提款宣告都能匹配到比特幣鏈上的提款轉帳記錄;
這本質是對 Operator 謊報墊付金額,或是拒絕處理提款宣告的懲罰(可以解決提款橋的抗審查問題)。Operator 需要在鏈下對墊付證明和提款宣告的關鍵欄位進行對比驗證,證明兩者涉及的 BTC 數額相等。
而如果提款橋 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 等方式,與大量的鏈下資料相繫結,而這些被關聯的鏈下資料無需上鏈。
在 BitVM2 和 Citrea、BitLayer 的 BitVM 橋方案中, 如果有人認為提款橋 Operator 在鏈上釋出的承諾有問題,該承諾關聯了無效的 ZKP 驗證流程,就可以發起挑戰,而且挑戰許可權是 Permissionless 的 。(裡面的互動流程比較複雜,在此不展開解釋)
由於 Operator 是替 BitVM 資金池墊付資金來給提款人打款,之後再向資金池申請報銷,在申請時,Operator 要釋出一個 Commitment,證明自己在 L1 上給提款人轉的錢,等於提款人在 L2 上宣告要收到的錢。如果這個 Commitment 經過了欺詐證明視窗期仍然沒有被挑戰,Operator 就可以取走自己需要的報銷金額。
這裡我們要解釋下 BitVM 橋的公共資金池是如何維護的,而這恰恰是跨鏈橋最關鍵的部分。 大家都知道,跨鏈橋能兌付給提款人的資金,來源於存款人或是其他 LP 貢獻的資產,而 Operator 墊付出去的錢,最終都要從公共資金池抽走,所以單純看資金的轉移結果,BitVM 橋吸收的存款人 Deposit 金額,應等於提款人 Withdraw 的金額。那麼如何保管 Deposit 的資金,就是一個很重要的問題。
在大多數比特幣 Layer2 的橋接方案中,往往通過多籤來管理公共資產,使用者的存款被彙總到一個多籤帳戶中,當需要給提款人打款時,就由這個多籤帳戶負責打款,這種方案顯然是存在巨大的信任風險的。
延伸閱讀:BTC Layer2百花齊放,真是行業未來還是炒作泡沫?
而 Bitlayer 和 Citrea 的 BitVM 橋,採用了類似於閃電網路和通道的思想, 使用者在存款前,會先和 BitVM 聯盟進行通訊,讓後者進行預簽名,以達成以下效果:
使用者向入金地址轉入存款後,這些錢會直接鎖定在一個 Taproot 地址上,只能由橋的 Operator 來領取。 而且,Operator 只有向用戶墊付了提款資金後,通過申請報銷的方式,向上述存款的 Taproot 地址申領資金。挑戰期結束後,Operator 才能把一定額度的使用者存款取走。
在 BitVM 橋方案中,存在由 N 個成員組建的 BitVM 聯盟(BitVM Federation),由他們對使用者的存款進行排程。 但這 N 個成員無法私自挪用使用者的存款,因為使用者在向指定地址打款前,會要求 BitVM 聯盟先進行預簽名,確保這些存款只能被 Operator 合法申領。
高度概括,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 聯盟的依賴。
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 鎖入一個多籤地址中。
第二步,雙方繼續推演未來可能發生的事件和結果: 比如,當球賽結果公佈後,可能是 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。
當然, 要花費這 1.5 枚 BTC,Alice 必須拿到預言機發送的 「皇馬勝出」 結果簽名 。換句話說,只有當預言機輸出 「皇馬勝利」 的訊息後,Alice 才能夠把這 1.5 枚 BTC 轉走。至於 CET2 和 CET3 的內容,我們可以以此類推,在此不贅述。
需要注意的是,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 所有。
對於 Alice 而言,無論自己最終是贏還是輸,最有利的做法都是把正確的 CET 上鏈,把無效的 CET 上鏈會讓自己輸更多錢。
其實上述 CET 在構建時,對 Taproot 的 schnorr 簽名做了改進,可以理解為利用預言機的公鑰 + 事件結果,針對不同結果構造出彼此獨立的地址。之後,等預言機公佈某個結果對應的簽名,才能花費該結果對應的地址上鎖定的 BTC。
延伸閱讀:比特幣完成重大更新|0.21.0版:支持洋蔥路由v3,Schnorr簽名/ Taproot技術升級
當然,這裡面存在一種額外的可能。假如 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。
可能有人會問, 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 交易 ,如下圖:
這其實是 先把 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。
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 構建流程。
上述流程不難理解,其實就是讓存款人 Alice 和 bitVM 聯盟互相充當對手方,為不同金額的提款事件建立 CET,然後讓預言機讀取 Alice 在 Layer2 發起的提款宣告,判斷 Alice 想觸發哪一個 CET(想提多少錢)。
這裡面的風險在於,預言機可能和 BitVM 聯盟串謀,比如 Alice 宣告要提款 0.5 枚 BTC,預言機卻偽造了提款宣告,最終使得 「Alice 收回 0.1BTC,BitVM 聯盟收到 0.9BTC」 的錯誤 CET 上鏈。
對此的解決方法有好幾種,首先就是可以採用在設計上比較完善的第三方預言機, 防止此類串謀行為(此時 BitVM 聯盟要和預言機串謀的拉攏難度極高), 或者讓預言機進行質押, 預言機需要定期在比特幣鏈上釋出 Commitment,宣告自己誠實的處理了提款人的提款請求。 任何人都可以通過 BitVM 的欺詐證明協議對 Commitment 進行挑戰,如果挑戰成功,就 Slash 作惡的預言機。
在 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 橋可以在現階段成為比多籤橋更安全的提款驗證方案。