和一些以中心化託管機構信用背書的BTC跨鏈解決方案不太一樣,以「模組化B² Hub」、「BitVM挑戰者模式」等為核心構建的BSquare似乎傾向於更Technical的方式。 B² Buzz目前也累積了超6億美元BTC資產。那麼@BSquaredNetwork 如何基於zkBridge實現資產跨BTC到layer2的雙向安全橋接?基於技術理解剖析下:

通常情況下,要實現兩條鏈之間的資產安全跨鏈,最簡單就是中心化託管機構撮合併統一管帳,但若要執著一種Technical的方案,就需要根據鏈原生特性做一些特別的設計:

-同構鏈跨鏈橋

「同構鏈」指稱雙邊都支援智慧合約的鏈,例如B² 和其他EVM- Compatible鏈之間的跨鏈,雙邊鏈可以基於統一的可交互操作通訊標準,由智能合約控制資金的雙向流動。有兩種資金管理模式:

1)智能合約管理流動性資金:可在鏈A和鏈B之上都建立一個開放透明的流動性池,兩邊池保持Mirro鏡像管理模式,假定A鏈上有用戶存入資產,資產會被鎖在A鏈流動性池內,而B鏈上的流動性池則立即向使用者釋放鏡像流動性資產。兩邊流動性池始終保持總量一致,有個中心化的伺服器會監聽兩條鏈上的資金進出情況,並即時進行資產調度管理。

此種方案,需要雙邊鏈都存在一個跨鏈流動性池,這樣才能確保資金的正常流動,如果A鏈流動性不足則該鏈上的用戶就會停止跨鏈。缺點是需要設計有效管理機制來防止雙花和惡意攻擊。

例如用戶在A鍊和B鏈都有資產,且同時在A、B鏈都發起交易請求,萬一監聽出錯,A、B鏈的資產池沒做到狀態同步,就有可能讓兩筆交易同時發生,使用者等於多花費了池子內的非所屬資產。

2)基於ZK技術底層管理智能合約狀態:在A鍊和B鏈分別部署智能合約,再搞一條zkBridge跨鏈橋來負責跨鏈通訊管理,當A鏈用戶向B鏈發送交易時,A鏈智能合約會Burn掉一筆資產,然後產生ZK Proof證明傳遞給B鏈合約,B鏈合約在驗證過資訊無誤後,在B鏈新Mint一筆資產。透過ZK技術在跨鏈環境下的信任機制來實現資產的跨鏈流通。

剛以10億估值融資的@PolyhedraZK 採用​​的就是此種方案,依靠智能合約和ZK技術,實現了多zkBridge主體的去中心化跨鏈解決方案。但此類方案僅適用於同構EVM鏈之間,若遇到BTC這種無法支援智能合約的鏈環境,就無法有效實施。

-異構跨鏈橋(BTC和EVM- Compatible鏈)

異構鏈通常又有BTC和EVM- Compatible鏈,以及EVM和非EVM鏈之間(SUI、Aptos等支援智能合約但標準和資料結構不統一的鏈),非EVM但支援智能合約的鏈,在此就不贅述了。困難是如何把zkBridge應用在和BTC主網的跨鏈橋上。 B² 在處理資產流入和流出雙向Channel跨鏈問題時,正面臨這樣的技術挑戰;

1)從Bitcoin到B2資產流入時,B² 採用了Ployhedra提供的zkBridge跨鏈橋方案,具體而言:B² 公開了一個MPC+TSS可信安全多錢地址用來存入BTC資產,當zkOracle節點監控並記錄到該資產的流入後,會將存入狀態產生ZK Proof證明,例如交易金額、收款地址等信息,該證明會傳遞給部署在B² 上的AA智能合約,經合約校驗ZK證明訊息無誤後,釋放資產給用戶在B² 鏈的地址Mint。

2)從B² 向Bitcoin 流出Withdraw資產時,B² 則聯合Polyhedra特別客製了跨鏈橋。簡單來說,當用戶在B² 發起資產Withdraw請求時,合約會先把用戶的交易請求在B² Hub中發起一個Proposal,經由其他Validators驗證是否准予通過。

先前我在文章中分析了,B² Hub的Validators其實是二層鏈的共識管理者,當大多數選擇了Approve投票等同於該資產提現請求是合法的,然後該投票結果會以ZK Proof形式傳遞到在MPC+TSS多簽地址上,由該地址直接向用戶釋出資產。

若用戶提出了提幣請求,還被Validator非法拒絕了,該怎麼辦?由於B² Hub的節點之間都受BitVM挑戰機制的約束,用戶可以向B² Hub發起挑戰,證明自己是一筆合法提幣請求,此時驗證節點會因執行了錯誤的決策而遭到懲罰。所謂特別定制,其實就是在zkBridge的基礎上加上了B² 特有的BitVM挑戰者機制,以此來確保資產流入非智能合約平台時的狀態處理安全。

以上

不難看出,模組化設計+特有的BitVM挑戰者機制給了B² 諸多技術實踐落地的可能性,對BTC layer2後續開發者處理類似資金跨鏈方面也有較大的參考意義。