對話Celer董沫博士:如何構建更好用的跨鏈橋

BlockBeats
2021-11-28 18:22:45
收藏
Connext 是一種互操作性協議,可在兼容 EVM 的區塊鏈之間實現快速、非托管的跨鏈傳輸和合約調用。

來源:律動研究院


隨著今年各個新公鏈生態的逐漸崛起,公鏈間跨鏈互動的需求突然開始爆發式增長。然而當前各種官方橋的使用體驗一言難盡,除了支持的跨鏈對象單一,跨鏈流程複雜、轉帳時間慢等各種問題依然困擾著許多用戶。

律動 BlockBeats 專訪了當前第三方跨鏈最主流平台之一 Celer cBridge 的負責人董沫博士,讓我們聽聽他對當前跨鏈市場的看法,以及 cBridge 在進行了 2.0 升級後,為用戶帶來的最新功能。


cBridge2.0 如何保證資金安全


律動 BlockBeats:我們看到在剛剛上線的 cBridge 2.0 中已經針對普通用戶開放了流動性提供界面,而對於一個想要成為流動性提供者(LP)的普通用戶來說,最關心的還是資金安全問題。那麼在 cBridge2.0 中,都有哪些機制可以保證流動性池的資金安全?

董沫博士:我們需要從兩個維度去談這個問題。第一個維度是從整個系統架構上來看,就是這些資金池是由誰來管,用什麼樣的方式來管。第二個維度更多是從工程細節上來講,我們在整體的安全上做了哪些工作。

我先說第一點。從目前 cBridge 2.0 的整體架構來說,共享流動性池是由狀態守衛者網絡(State Guardian Network, 簡稱 SGN)控制的。這個狀態守衛者網絡本身是一個特殊的 PoS 鏈,其安全性本身是靠 CELR 質押所決定的。這個和 Polygon 或者任何一個其他 PoS 鏈是沒有本質區別,都是靠這種經濟安全性來保證整個網絡中的資產和系統安全。

比如說在整個 PoS 鏈中,只要 2/3 以上的節點沒有作惡的話,那麼整個系統就能正常運行;如果在 1/3~2/3 之間,系統會出現停頓;如果大於 2/3 的節點作惡,整個系統便會出現風險,這就是整體的系統安全性。這種安全性本質上來說和通過 n 分之 x 多簽錢包保證資金安全在概念上是類似的,他們之間的主要區別有點類似於區塊鏈當中的 PoA 和 PoS 的區別。

相較於一些使用簡單多簽解決方案的跨鏈橋(即每一個節點都有一個私鑰,只要控制了足夠多的節點,就會有巨大的安全問題),我們的 cBridge 系統是有較高的經濟穩定性和經濟安全性的,即使有一些小的作惡節點,系統也會立刻把這些出了問題的節點排除出去,並且把他們質押的 CELR 沒收掉。在這個過程中,通過 CELR 質押以及罰沒機制,會很快剔除掉問題節點。

因此從架構上面來說,cBridge 和其他解決方案很不一樣的一點,就是我們非常接近一個公鏈的安全性,比其他 PoA 或者簡單多簽的方案有很大的安全優勢。

第二點,從工程細節上來說,首先我們整體在安全方面做了許多工作,我們的整個合約層一共進行了三次獨立審計,並且沒有發現任何可以導致資金損失的漏洞。

我們在上線之前對整個工程團隊進行了交叉審閱,基本上每一個核心關鍵代碼至少都有兩個不同的團隊互相進行互查和審閱。在互查審閱的過程中沒有發現任何會導致資金損失的重大問題。

更重要的是,我們在上線的機制中,採用了分階段推出的計劃。可以看到我們雖然於 11 月 18 日上線了 cBridge2.0,但是流動性主要還是通過 1.0 的一些 LP 遷移過來的。我們並沒有直接開啟流動性挖礦等活動。我們希望給系統一兩週的時間,讓它有一段磨合期。當我們確定在磨合期中沒有出現意外後,我們才會開啟流動性挖礦等用戶激勵活動。

此外,在整個系統中我們也做了一些比較創新的解決方案以保證資金安全。比如我們在一開始逐步上線的時候會有一些流量控制,比如對每半小時跨鏈資金進行一定限制。同時我們有一套完全獨立的監控系統,去實時監控整個系統的流量,然後去審查這個系統中是否有任何的「不變量」被違反。

這裡所謂的「不變量」,就比如說有一筆資金要從鏈上發出去,它必然得先從一個地方進來。通過對鏈上狀態的整體監控,我們可以實時監控整個系統的情況。一旦發現有問題出現,我們系統會迅速通過治理模式暫停所有鏈上合約,保證整個系統的安全性。

最後,我們認為整個跨鏈是一個比較高危的領域,因為過去被攻擊的跨鏈項目實在太多了,有的跨鏈橋還被攻擊不止 1 次,多則 2~3 次。

但是你會發現所有這些解決方案,在事前都是沒有漏洞獎勵計劃的。這其實非常不好,因為很多的區塊鏈研究者也好,或者是白帽也好,他願意去幫你去看整個系統的安全性,但是會希望有一些額外的獎勵。

這個也是我們為什麼在 cBridge2.0 上線時跟 Immunefi 一起發布了 200 萬美金漏洞獎勵計劃的原因。如果一個黑客能從我們這個系統當中偷錢的話,我們就獎勵 200 萬美元。我們希望能把這個事情做在事前,而不是說事後我們再去跟黑客協商,讓他把錢還給我們。

律動 BlockBeats:我們看到今年也出現了很多跨線橋的安全事故,那麼 cBridge 相比於這些已經出過安全問題的跨鏈解決方案,在安全上有什麼本質不同?比如 cBridge2.0 靠一條 PoS 公鏈來保障它的安全,這是不是 cBridge2.0 一個最大的優勢?

董沫博士:是的,你說的沒錯。我們的經濟安全性是內置的,這是一個很大的優勢。

第二個優勢是我們在鏈上的邏輯做到了極簡,我們不像很多跨鏈解決方案依賴於 AMM 池,做一個所謂的結算 token,和跨鏈 token 之間進行轉換結算等等,這些非常複雜的組合都是不存在的。

cBridge2.0 中有一個類似於公鏈的 PoS 鏈(即 SGN),區別於單純依賴簡單簽名或多簽的其他項目,我們把大多數複雜的邏輯都放在了這條 PoS 鏈當中去運行,不需要過多的在兩邊公鏈上設計複雜的智能合約,盡可能地降低系統複雜度。實際上我們整個系統的設計要比其他系統設計更加簡潔,而簡潔往往能帶來更高的安全性。

律動 BlockBeats:我們知道 cBridge 不光可以跨鏈,還可以幫助用戶在諸如 Arbitrum 與以太坊主網之間進行跨層資產遷移。用戶之前如果使用 Arbitrum 官方橋向主網提取資金,需要鎖定大約 7 天的時間以便系統完成欺詐證明。而如果通過 cBridge 提取資金卻可以做到即時到帳,那麼如果這筆資金在 7 天後被證明存在欺詐等問題,相關的風險是否會變成由 cBridge 中的 LP 來承擔?

董沫博士:這個問題問得非常好,對於像 Arbitrum 這類 OP-Rollup,特點是任何人都可以觀察上面發生的事情是否正確,他的結果我們並不是盲信的。

我們整個 SGN 作為一個以鏈的形式存在的監控系統,會觀察 OP-Rollup 在主鏈上所寫下的數據(calldata),並且會通過 OP-Rollup 的 SGN 節點運行 OP-Rollup 的輕客戶端,然後重新驗證這些交易,以確保不會發生安全問題,然後我們才會去處理這個交易。

律動 BlockBeats:就是說我們在接受這筆資金的時候已經提前確認了,這筆資金肯定是沒問題的,所以我們才會接受他的跨鏈申請?

董沫博士:你說的沒錯,我們在接受這筆資金的時候,一定是在以太坊主網已經出現了一個 Arbitrum 的狀態根,而且這個狀態根本身是沒有錯誤的,這時候才會接受跨鏈申請。當然時間上肯定不用 7 天了,一般就是一兩分鐘的事情。


cBridge 的跨鏈方案


律動 BlockBeats:目前市場上的各類跨鏈解決方案基本可以分為三種:哈希時間鎖、見證人跨鏈(Notary)、輕節點。cBridge 應該是基於第一種哈希時間鎖,那麼您怎麼看待這三種方案未來的發展趨勢,三種模式的跨鏈橋是會並存發展,各取所長,還是會向其中某一種解決方案演進?

董沫博士:首先我要稍微糾正一下,cBridge 在 1.0 的時候確實使用了哈希時間鎖的方案,但在 cBridge 2.0 中,雖然我們還沒有上線全部的功能,目前上線的共享流動性模式中,我們更類似於一個見證人和輕節點側鏈類型的跨鏈解決方案。

在 cBridge2.0 中我們會驗證 Arbitrum 中交易的有效性,然後整個 PoS 鏈(SGN)會統一做一個權重簽名,有了權重簽名之後,再從一個鏈跨鏈到另外一個鏈控制共享流動性池。也就是說共享流動性池是靠 PoS 鏈來控制的,因此 PoS 鏈本身就類似於見證人。

關於哈希時間鎖和見證人這兩個模式,其實在 cBridge2.0 的整個架構裡是包含了這兩種不同的方案的。後者的運行場景在於如果你不想去運行一個節點,只想做一個流動性提供者(LP),那你就把流動性鎖在流動性池裡面,這個流動性池由 SGN 作為見證人來進管理。

但是有些 LP 說我就是不願意讓別人控制我的流動性,我就是想要運行一個自己的節點。在這種 LP 獨立運行節點情況下,SGN 就不會控制他的流動性,而是去分配跨鏈任務,這就是基於哈希時間鎖完全無需信任的模式,不需要增加任何第三方。

我們在整個 2.0 架構設計上是同時支持這兩種模式的,但是對於未來到底哪種模式更有優勢,在哪種環境下可能會更加流行,需要一些時間檢驗。但從 cBridge 的角度來說,我們是支持所有跨鏈模式的。

律動 BlockBeats:我們看到在 cBridge1.0 中大概支持了 8 種 Token,而在 2.0 中目前只有 3 種 Token。那麼 cBridge 後續是否會繼續增加支持資產的數量,新增資產是有某種特定的流程,還是會實現最終無準入支持所有 ERC20 Token 的跨鏈?

董沫博士:我們在產品剛上線的時候還是會優先考慮穩定性,以免發生問題,後續支持資產的數量一定是會增加的。

而增加資產支持種類的過程與無準入並不衝突,具體來說,當大家想要新增資產種類的時候,可以通過 Celer 的治理機制投票。投票通過後會先向大家開放提供流動性,一段時間之後跨鏈功能才會正式開啟。

律動 BlockBeats:在看過 cBridge 2.0 的官方文檔後一直有個疑問,因為之前一直認為在 cBridge 的跨鏈架構中是不包括 AMM 機制的。但是在 cBridge 2.0 的介紹裡,我們發現作為流動性提供者,可能還要承擔一定的無償損失風險。所以 cBridge 是否在 2.0 裡邊引入了 AMM 機制?

董沫博士:事實上,AMM 這個概念已經被大家用爛了,所謂的 AMM 機制其實更多的是指一個價格曲線。我們在 2.0 當中確實使用了價格曲線的模式,但這個價格曲線我們並沒有做在 cBridge 桥接的兩條鏈上,而是做到了 SGN 裡面,可以非常容易地進行調整優化。

律動 BlockBeats:能透露一下我們採用的是哪種做市函數嗎?

董沫博士:是跟 Curve 很類似的 stablecoin 的做市函數,不是 x*y=k 這種恆定乘積函數,而是相對比較複雜的 stablecoin 做市函數。

律動 BlockBeats:也就是說我們如果在兩邊流動性大致相等的情況下,用戶在跨鏈的時候是不用承擔比較高的滑點?

董沫博士:是這樣的,即便在兩邊流動性沒有大致相等,只要沒有相差得太多比如 1:10 或者 1:20 的情況下,都不會產生很大的滑點。

對於流動性提供者來說,因為都是同質 token 互換,這個過程確實會有無常損失,但是他的無常損失跟 stablecoin 兌換平台中 LP 的無常損失的大小是類似的。

律動 BlockBeats:也就是說雖然會有一定的風險,但是在絕大多數情況下,LP 依然不用太考慮無償損失的問題?

董沫博士:對,損失會很快的通過手續費賺回來。

律動 BlockBeats:之前在使用 cBridge 1.0 產品的時候,用戶有時候會遇到一邊的流動性枯竭,導致跨不了鏈。那麼在 2.0 裡是不是理論上就不會出現流動性枯竭的情況?可能會把價格拉的比較高,然後來讓市場去自動平衡雙方的流動性,可以這麼理解嗎?

董沫博士:你說的太對了,流動性枯竭這個問題其實就是 cBridge1.0 裡面的一個缺陷。但其實我覺得 cBridge1.0 裡面更關鍵的一點是你要去自己運行跨鏈節點才能提供流動性,這個門檻比較高。

但是在 cBridge2.0 裡面,我們後續會上線流動性挖礦活動,將來當流動性足夠多的時候,這樣的問題也就自然不存在了。

律動 BlockBeats:可不可以這麼理解,就是現在的 cBridge 2.0 產品,其實很像一個跨鏈版的 Curve?

董沫博士:非常正確。

律動 BlockBeats:那麼 cBridge 在今後有沒有可能在跨鏈的過程中,甚至直接加入 stablecoin 兌換的功能,比如說我在這邊跨的是 USDC,跨過去之後就直接換成 USDT?

董沫博士:這個其實不限於 stablecoin 兌換,任何資產兌換都可以。我們其實也不用自己去做 Swap,而是直接在兩邊去整合一些現有的 Swap。

比如說將 Avalanche 上的 USBC 跨到 BSC 中的 BNB。那麼我會將 USDC 先跨到 BSC,然後在跨鏈的支付上面帶一個消息,告訴接收方需要將 USDC 兌換成 BNB,然後用戶在 BSC 上收到的就會直接是 BNB。

就是說,在我們的整個系統架構當中,不光能做簡單的資產跨鏈,更重要的是能夠進行更豐富的用例拓展。我們整體的 SGN 架構,不局限於溝通你這邊應該給那邊多少錢,SGN 實際上是一個非常泛化的消息層,可以從一個鏈把消息帶到另外一個鏈去,並且可以和相應的支付綁定起來,去執行相應操作。這在將來將是一套非常有用的東西,並且這部分將是我們未來的一個主要優勢。

律動 BlockBeats:我們看到目前 cBridge 支持的還都是 EVM 兼容鏈的跨鏈,那麼未來有沒有計劃繼續支持比如 Solana 等非 EVM 區塊鏈的跨鏈,或者與其 EVM 兼容層建立跨鏈的連接?

董沫博士:cBridge 與 EVM 層建立跨鏈聯繫是比較簡單的。至於非 EVM 兼容鏈,我們現在已經計劃去接入 Solana 和 Terra。這個在技術上是沒有問題的,後續隨著產品升級,我們會支持更多的非 EVM 兼容鏈。


跨鏈技術的發展趨勢


律動 BlockBeats:隨著當前市場上的跨鏈橋越來越多,最近也出現了一些主打聚合的跨鏈項目。您覺得聚合會是整個跨鏈市場未來的一個發展趨勢嗎?

董沫博士:我覺得聚合肯定是需要的,無非是由聚合器來做,還是跨鏈橋自己來做。其實聚合還是相對比較簡單的,但我覺得聚合器千萬不能做成網站自己的 APP,這是不 work 的。他應該做成 SDK 的模式,基本上能夠接入到每一個有跨鏈需求的 DApp 裡邊,這樣的 SDK 本身是非常有價值的。

這種模式也會給整個跨鏈橋的生態帶來更多好處,我們在這塊其實一直有佈局,實際上我們也在參與投資甚至孵化一些跨鏈橋的聚合器項目。

律動 BlockBeats:您覺得這些項目未來跟 cBridge 會是一個競爭關係嗎?還是說我們 cBridge 未來就可能自己會做這種聚合跨鏈的工作?

董沫博士:我們還是會更專注於底層一些,聚合跨鏈更多是上層應用層的概念。聚合跨鏈無論是進行資產的聚合,或是對一些 DEX 進行聚合,底層都是可以用 Celer 的 SDK,因此我們也希望盡量去多地接入各種各樣的聚合跨鏈應用。

律動 BlockBeats:所以您認為不同的聚合跨鏈可能會給 cBridge 帶來一些協同效應,而不是直接的競爭關係?

董沫博士:對,這些都會給 cBridge 帶來一些流量。

律動 BlockBeats:您有沒有考慮過團隊的盈利問題,或者說目前的 CELR 能否捕獲 cBridge 所帶來的商業價值?

董沫博士:這個問題問得很好,首先 CELR 在設計當中是直接捕獲整個跨鏈橋的價值的。cBridge 的經濟安全性實際上就是通過 CELR 在 PoS 鏈(SGN)當中的質押來保證的。在質押的過程中,因為給整個網絡提供了安全服務,所以不管是針對 cBridge 也好,還是 layer2.finance 也好,又或者一些我們之後將推出的其他產品,都会收取一部分的手續費,這跟各種公鏈的安全模型其實是比較像的。

律動 BlockBeats:現在看到越來越多的應用尤其是遊戲應用,受制於公鏈平台的性能以及交易成本,都逐漸開始構建自己的應用鏈,您認為這會是個大的發展趨勢嗎?

董沫博士:這個有可能,但應用鏈本身需要具體看是什麼模式。我仍然對整個 Rollup 賽道是比較看好的,Rollup 本身不管是 OP-Rollup 還是 ZK-Rollup,在未來都會有自己的位置,並不是說 ZK-Rollup 最後就一定會一統江湖,因為 ZK-Rollup 本身有證明成本的。如果你想去開發一些所謂的應用專有鏈的話,其實完全可以用 Rollup 的方案去獲取以太坊的安全性,同時又能夠極大的提升應用效率,我認為這是未來的一個必由之路。


鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界