Celer cBridge 是一個跨鏈資產轉移方案,cBridge 同時支持了 L1 與 L2、以及 L1 與 L1 之間的資產橋接。我們可以從 cBridge 的 Web App 上看見他們已經支持了許多知名的 L1 與 L2 項目。
cBridge 支持的鏈種
本篇文章會側重在 cBridge 背后的技術實現,包含運作原理、合約實踐以及節點運維的介紹。
運作原理
cBridge 主要使用了 HTLCs 技術來實現跨鏈的資產轉移,對于 HTLCs 不熟的讀者,可以先參考這篇文章了解其原理以及應用場景:https://bcoin.io/guides/swaps.html
運作流程
cBridge 在其合約 GitHub 的文件里描述了 cBridge 的運作流程,以下為節選部分:
發送方在源鏈上發起 transferOut 交易
cBridge 節點通過使用發送方設定的 hashlock,在目的地鏈上發起 transferIn 交易
發送方在源鏈上確認交易
cBridge 節點在目的地鏈上確認交易
為了幫助理解,我將步驟畫成如下的流程圖:
Polygon上線Layer2 Rollup解決方案Nightfall主網Beta版:金色財經消息,Polygon宣布上線Layer2 Rollup解決方案Polygon Nightfall主網Beta版,并表示,將在主網正式啟動前消除網絡限制,之后還計劃將Nightfall轉換為Polygon DAO,以實現最大程度的去中心化。Polygon Nightfall結合了Optimistic Rollup和零知識(ZK)密碼學的概念,可為希望采用以太坊的公司提供可訪問性和隱私性。(polygon.technology)[2022/5/17 3:23:04]
cBridge 運作流程圖
以下會針對四個關鍵步驟依序進行細節說明:
第一步:?發送方發起 transferOut 交易
整個 cBridge 跨鏈的資產轉移流程會由源鏈的發送方(即使用 cBridge 進行轉帳的使用者)發起。發送方會負責產生 hash lock,設定轉帳的時限,并與轉帳的信息(token 地址、token 數量、目的地鏈代號、收款人地址)一同向部署在源鏈的 cBridge 合約發起 transfer out 請求。
合約接收到請求后會先將要轉帳的 token 數量,從發送方身上移轉到合約身上,唯有提供 hash lock 的解答,或是轉帳時限到期后,才能將 token 取出。
第二步:?cBridge 節點發起 transferIn 交易
在鏈下的 cBridge 節點會持續監控各個鏈上 cBridge 合約的動作,當它發現源鏈上有一筆新的 transfer out 請求,它會在鏈上取得這筆 transfer out 的細節,主動對部署在目的地鏈上的 cBridge 合約發起 transfer in 請求。
Boss Beauties將在聯合國舉辦Boss Beauty Role Models NFT展覽:2月11日消息,Boss Beauties近日宣布將在聯合國舉辦一項活動,展示其限量版1/1 NFT藝術收藏品Boss Beauty Role Models。該收藏品是在聯合國展出的第一批NFT藝術藏品。Role Models系列是與元宇宙教母Cathy Hackl合作創作。
通過與5th Element Group的合作,該活動將于2022年3月8日舉行。5th Element Group是一家全球影響力咨詢公司,它直接與聯合國伙伴關系辦公室合作,將公共組織、私營組織和非營利組織聯系起來,以共同實現聯合國的17個可持續發展目標。現場直播活動將包括Boss Beauty Role Models系列的完整展覽,以及來自知名品牌、公司和影響者的主題演講和小組討論。
據悉,Boss Beauties是一項由女性領導的全球倡議,旨在通過前沿合作為女孩和婦女創造機會。限量版1/1 Historic Boss Beauty Role Models將于3月7日通過慈善拍賣出售。募集的資金將通過非營利組織My Social Canvas用于支持Boss Beauties婦女和女孩獎學金基金。(PRNewswire)[2022/2/11 9:45:40]
其中收款方為 transfer out 指定的收款人地址,并使用與 transfer out 相同的 hash lock,以及較短的取款時限(約為源鏈上設定時限的 2/3),并將 transfer out 指定的 token 數量扣掉 cBridge 節點轉發的成本和手續費后,從 cBridge 節點身上轉移至目的地鏈上的 cBridge 合約。
Gemini贊助比特幣核心開發者Dhruv Mehta和Jarol Rodriguez:加密貨幣交易所Gemini宣布通過GeminiOpportunityFund基金贊助比特幣核心開發者DhruvMehta和JarolRodriguez,贊助將用來提高比特幣網絡的可擴展性、安全性和可持續性。其中,Gemini與SquareCrypto和人權基金會共同對DhruvMehta進行了贊助,后者將提高比特幣網絡節點安全性;對JarolRodriguez的贊助是直接通過GeminiOpportunityFund進行的。JarolRodriguez最近加入了ChaincodeLabs研究小組,將改進比特幣網絡的圖形用戶界面。[2021/6/8 23:20:47]
此時 cBridge 節點并不知道 hash lock 的答案,要等到發送方在第三步完成源鏈上 transfer out 的撥款,并揭露 hash lock 的答案后,cBridge 節點才有能力執行目的地鏈上 transfer in 的撥款。
第三步:發送方確認交易
發送方確認 cBridge 節點有在目的地鏈上提交相應的 transfer in 請求后,就可以進入源鏈上 transfer out 的撥款階段。發送方首先要對源鏈的 cBridge 合約提交 transfer out 的 hash lock 答案,合約驗證答案無誤后,會將 transfer out 指定的 token 數量轉移給 cBridge 節點,完成源鏈上 transfer out 的撥款。
第四步:cBridge 節點確認交易
在鏈下的 cBridge 節點監控到發送方已經在源鏈上完成 transfer out 撥款后,隨即拿著發送方撥款時揭露的 hash lock 答案,到目的地鏈上的 cBridge 合約提交 hash lock 答案,完成 transfer in 的撥款,此時目的地鏈的收款人就會收到來自源鏈發送方的款項,完成跨鏈的資產轉移。
ZKSwap開發負責人 Alex Lee:構建支持通用 EVM 的 rollup 擴容解決方案 ZKSwap在路上:據官方消息,2021年04月12日晚,由Gate.io主辦的直播專訪節目《酒局幣赴》邀請到ZKSwap開發負責人 Alex Lee直播分享近期最新發展。直播期間Alex與Gate.io合伙人酒兒就面對市場競爭格局產生變化后,ZKS將如何把握機遇與挑戰進行了探討與交流。
Alex 表示,目前,Layer2賽道已經是一片繁榮了,技術上不斷創新,各種產品也層出不窮。ZKSwap推出的 Zkspeed 擴容方案兼顧了 ZK-Rollup、Validium 和 Optimistic rollup 方案的特點。即實現所有與 Layer1 交互的交易數據全部上鏈(ZK-Rollup),把單純 Layer2 的交易數據存放在鏈下(Validium),交易 hash 數據上鏈,同時 ZKSpeed 也會提供一個完全上鏈的版本,這樣可以實現更高的安全性,并提供零知識證明保證狀態轉換的有效性。雖然目前 ZKSwap 的方案還不兼容 EVM,但ZKSwap 團隊的愿景正是構建一個支持通用 EVM 的 rollup 擴容解決方案,使得其他應用無需重新編寫智能合約就能實現快速遷移,目前 ZKSwap 團隊已經投入研究,并取得了一些進展。[2021/4/12 20:12:00]
細節步驟雖然看起來有點繁瑣,但對于 cBridge App 的用戶來說只要進行兩次簽名操作(第一步發送 transfer out 交易,第三步對 transfer out 撥款),并等待一些時間(3~5 分鐘),過程中完全不需要切換錢包的網絡,使用起來的體驗是非常簡單順暢的。
動態 | Etheroll成交量排名升至第一位:據DappRadar數據,當前ETH Dapp共有1270個;EOS Dapp共有197個;Tron Dapp共有19個。
過去24小時成交量排名前三的ETH Dapp分別為:Etheroll(,成交量5930.17個ETH,用戶32個);IDEX(交易所,成交量2518.71個ETH,用戶701個);Ethfinex Trustless(交易所,成交量2294.57個ETH,用戶9個)。
過去24小時成交量排名前三的EOS Dapp分別為:BetDice(,成交量18767263個EOS,用戶2884個);Royal Online Vegas(,成交量1695656個EOS,用戶1000個);Newdex(交易所,成交量1305885個EOS,用戶1330個)。[2018/12/10]
退款機制
不管是 transfer out 或是 transfer in 都會設定一個有效時限,當有任何一方沒有履行義務時,在設定的時限之后,雙方都有能力可以直接要求 cBridge 合約退回事先放進去用來轉帳的 token,不需要提供 hash lock 的答案。退款機制能夠保護雙方的資產,不會因為對手方不作為而導致資產被永久鎖在 cBridge 合約上。
另外值得注意的是,目的地鏈的 transfer in 會比源鏈的 transfer out 更早過期,有可能 cBridge 節點已經對 transfer in 進行退款,使用者才對 transfer out 進行確認撥款,此時也會對使用者造成損失。
目前 cBridge Web App 設定的 transfer out 過期時限為 12 小時,其對應的 transfer in 約為 12 * 2/3 = 8 小時,時間相對充足,一般正常的轉帳只需要數分鐘,如果過程中有出現非預期的狀況,還可以有足夠的反應時間處理。
簡單的操作體驗背后的成本
眼尖的讀者可能已經發現,cBridge 運作步驟中的第三與第四步,與典型的 HTLCs 不同。典型的 HTLCs 是發送方先到目的地鏈揭露 hash lock 的解答,確認收款人能夠收到撥款,cBridge 節點才能到源鏈取回它在目的地鏈預先墊付給收款人的款項。
Celer 官方說明這是為了提升使用者體驗,如果走典型的 HTLCs 流程,使用者在確認 transfer out 撥款的步驟中,必須要切換錢包的網絡至目的地鏈,還需要事先在目的地鏈上的錢包里準備足夠的 gas token 來支付撥款所需的交易手續費,對使用者來說非常不方便。
因此 cBridge 調整了最后兩個步驟的順序,讓使用者只需要在源鏈進行操作,來大幅提升使用者的體驗。但這樣的調整并非沒有成本,它會為使用者帶來額外的風險。
試想一個情境:當使用者在源鏈上完成 transfer out 撥款,cBridge 節點收到使用者的款項后,卻沒有在目的地鏈上將 transfer in 撥款給收款人(可能是惡意、gas token 不足或是當機),等到目的地鏈上的 transfer in 過期,cBridge 節點甚至有能力對 transfer in 進行退款的操作,cBridge 節點有機會可以無償得到使用者轉帳的 token。
這部分必須仰賴使用者自己采取行動去降低風險,當使用者發現在 transfer in 有效區間內等了足夠久的時間,收款人都還沒有收到款項,使用者必須要自己主動到目的地鏈提供 hash lock 答案,完成 transfer in 撥款的動作,以防止資產被惡意取走。
安全分析
總結以上,我們針對發送方和 cBridge 節點在 cBridge 四個操作步驟中可能產生的安全問題,進行分析與整理:
如果發送方執行了第一步但 cBridge 節點沒有往下執行,此時發送方的資產會單方面地被扣押在源鏈的 cBridge 合約中,必須要等待 12 小時之后,才能進行退款。
如果 cBridge 節點執行了第二步但發送方沒有往下執行,此時發送方和 cBridge 節點的資產分別會被扣押在源鏈和目的地鏈的 cBridge 合約中,必須等到轉帳過期后,才能各自進行退款。值得注意的是,cBridge 節點在目的地鏈上的 transfer in 有更短的過期時間 (8 小時),能夠比發送方更早完成退款。
如果發送方執行了第三步但 cBridge 節點沒有往下執行,此時發送方已將資產轉給 cBridge 節點,但目的地鏈上的收款人還沒有收到對應的款項。如果這個狀態一直持續到目的地鏈上的 transfer in 過期后,cBridge 節點甚至有能力進行退款取回 transfer in 的資金,而造成發送方單方面的損失。這個狀況會給發送方帶來安全疑慮,發送方需要在 transfer in 過期前(8 小時內),自行(或委托他人)到目的地鏈上完成 transfer in 的撥款。正常 cBridge 的轉帳流程能在十分鐘以內完成,如果發送方撥款給 cBridge 節點后,收款人卻遲遲沒有收到款項,這時候就需要提高警覺了。
如果 cBridge 節點執行完第四步但交易一直沒有成功(例如 gas 不足),此時發送方仍然有資金損失的風險。因此建議發送方在完成撥款之后,要隨時留意轉帳的狀態與經過的時間,以保護自己的資金安全。
合約實踐
cBridge 合約實踐很簡單,提供了 transferOut、transferIn、確認以及退款的功能,不多不少,都是 cBridge 運作流程中的核心動作,而且這些方法都是公開可以讓任何人去使用的。因此當節點在轉帳過程中出現問題時,使用者能夠直接對合約進行操作,保護自己的資產。
cBridge 合約方法界面
特別要注意的是合約方法 transferOut 的第一個參數 address _bridge。這個參數要填入能夠服務這次跨鏈轉帳需求(例如支持 1,000 USDT 從以太坊轉賬至 Polygon)的 cBridge 節點地址,換句話說,使用者在進行跨鏈轉帳之前,必須先決定好要找哪個 cBridge 節點來服務。
Celer 官方提供了一個網關服務,負責 cBridge 節點的路由,使用者只要將轉帳的信息丟給該服務,它會選出符合使用者轉帳需求,且當下狀態最好的 cBridge 節點(例如成功率高、手續費低等等),使用者就能在進行 transferOut 時填入 Celer 網關推薦的 cBridge 節點。
由于 Celer 官方并未提供網關的相關信息,有技術背景的讀者可以試著去操作 cBridge Web App,了解其背后的實踐細節。
此外,合約里也有一些大家可以去關注的重要事件:
LogNewTransferOut 事件:transferOut 完成時會發出的事件,會紀錄這筆 transfer out 的 transferId。
LogNewTransferIn 事件:transferIn 完成時會發出的事件,會紀錄這筆 transfer in 的 transferId 以及其對應的 transfer out 的 transferId(srcTransferId)。
在 cBridge 合約上不管是要進行確認或是退款,都需要提供 transferId,因此 transferId 在 cBridge 的應用中是至關重要的信息。除此之外,透過這兩個事件的觀察,能夠幫助我們將跨鏈的 transfer out 與 transfer in 關聯起來,有利于持續追蹤轉帳的狀態,并在意外發生時有應對的能力。
cBridge 合約事件界面
節點運維
Celer 官方開源了 cBridge 節點的實踐,任何人雖然都可以跑起自己的節點,但 cBridge 現階段有白名單機制,想擔任 cBridge 節點來服務使用者必須要先跟官方接洽。
擔任節點的好處在于可以從每一筆跨鏈轉帳中賺取一定比例的手續費,但也要考量到運維節點的成本,Celer 官方很貼心地在 cBridge 節點 GitHub 文件里詳細列出了運維節點需要注意的事項,包含機器建議配備,支持的幣種和最少需要提供的流動性,各條鏈的建議配置,運維節點的最佳操作等等,節點甚至還有內建統計數據的 API ,讓運維者能夠隨時監控節點的交易狀況。
從 GitHub 文件的詳細程度以及考量了運維節點的各個面向,可以感受到 Celer 官方對社群的用心。對于運維 cBridge 節點有興趣的讀者,建議一定要好好將 GitHub 文件過一遍。
結語
以上是對于 cBridge 背后技術實現的介紹,如果有任何想法想要分享,或是想要了解更多,都可以在留言區一起討論 ?
- THE END -
Tags:BRIIDGBRIDGEDGEbrise幣未來價格squidgrow幣能買嗎Hash Bridge OracleLedgerium
多年前決定開源時,我們挺興奮的:作為典型碼農,“用”開源是日常,而全力投入“做”開源,對我們絕大部分人都是頭一遭.
1900/1/1 0:00:00DfinityBase發掘Dfinity生態優質項目NFT Studio開發跨鏈建設項目的目標是實現區塊鏈之間的互操作性,以便在它們之間傳輸 NFT.
1900/1/1 0:00:00大家好,我是佩佩,這幾天市場的狀態趨弱,我到不覺得是什么消息面的因素,能傳到咱耳邊的小道消息,就像那些能讓新手小白都看得非常清晰的賺錢機會一樣,emmm,懂的吧,哈哈.
1900/1/1 0:00:00近日,一個允許任何人鑄造一組 8 個冒險家主題裝備物品的 NFT 項目——Loot火了。 據 OpenSea 數據顯示,「公平鑄造(fair mint)」NFT 項目 Loot NFT過去一周成.
1900/1/1 0:00:008月4日,鏈必安-區塊鏈安全態勢感知平臺(Beosin-Eagle Eye)輿情監測顯示,跨鏈收益率提升平臺Popsicle Finance下Sorbetto Fragola產品遭到攻擊.
1900/1/1 0:00:00Coinhub錢包下載:https://www.coinhub.org/downloadCoinhub錢包使用指南:https://www.yuque.
1900/1/1 0:00:00