CelercBridge是一個跨鏈資產轉移方案,cBridge同時支持了L1與L2、以及L1與L1之間的資產橋接。我們可以從cBridge的WebApp上看見他們已經支持了許多知名的L1與L2項目。
cBridge支持的鏈種
本篇文章會側重在cBridge背后的技術實現,包含運作原理、合約實踐以及節點運維的介紹。
運作原理
cBridge主要使用了HTLCs技術來實現跨鏈的資產轉移,對于HTLCs不熟的讀者,可以先參考這篇文章了解其原理以及應用場景:https://bcoin.io/guides/swaps.html?
運作流程
cBridge在其合約GitHub的文件里描述了cBridge的運作流程,以下為節選部分:
發送方在源鏈上發起transferOut交易cBridge節點通過使用發送方設定的hashlock,在目的地鏈上發起transferIn交易發送方在源鏈上確認交易cBridge節點在目的地鏈上確認交易為了幫助理解,我將步驟畫成如下的流程圖:
cBridge運作流程圖
以下會針對四個關鍵步驟依序進行細節說明:
第一步:?發送方發起transferOut交易
整個cBridge跨鏈的資產轉移流程會由源鏈的發送方發起。發送方會負責產生hashlock,設定轉帳的時限,并與轉帳的信息一同向部署在源鏈的cBridge合約發起transferout請求。
區塊鏈開發平臺Alchemy啟動對ZK Rollup StarkNet的支持:金色財經報道,區塊鏈開發平臺 Alchemy 啟動對 ZK Rollup StarkNet 的支持,Starknet 現已在 Alchemy 上公開發布,通過向公眾開放,Alchemy 正在為 Starknet 的開發者社區提供基礎設施和工具,構建者可以創建功能豐富、突破性的 dapp,starknet 用戶可以在本地使用智能合約賬戶,而無需將他們的錢包重新編程為智能合約。雖然新產品僅代表 Alchemy 支持的 39 個區塊鏈之一,但該公司表示,StarkNet集成是關鍵,因為它的“快速發展的開發者社區”和該項目的“零知識rollups的開創性方法”。[2023/5/5 14:43:29]
合約接收到請求后會先將要轉帳的token數量,從發送方身上移轉到合約身上,唯有提供hashlock的解答,或是轉帳時限到期后,才能將token取出。
第二步:?cBridge節點發起transferIn交易
在鏈下的cBridge節點會持續監控各個鏈上cBridge合約的動作,當它發現源鏈上有一筆新的transferout請求,它會在鏈上取得這筆transferout的細節,主動對部署在目的地鏈上的cBridge合約發起transferin請求。
其中收款方為transferout指定的收款人地址,并使用與transferout相同的hashlock,以及較短的取款時限,并將transferout指定的token數量扣掉cBridge節點轉發的成本和手續費后,從cBridge節點身上轉移至目的地鏈上的cBridge合約。
Reddio上線StarkEx提供支持的zkRollups API主網:9月29日消息,區塊鏈基礎設施服務商Reddio宣布,上線由StarkWare擴容引擎StarkEx提供支持的zkRollup API主網。Reddio表示,開發人員可以使用Reddio在zkRollup上構建應用內和游戲內NFT市場、擴展應用和游戲資產交易、使用Javascript SDK和Unity SDK以0 Gas費鑄造NFT等,具有低Gas費用和即時確認等特點。[2022/9/29 6:01:45]
此時cBridge節點并不知道hashlock的答案,要等到發送方在第三步完成源鏈上transferout的撥款,并揭露hashlock的答案后,cBridge節點才有能力執行目的地鏈上transferin的撥款。
第三步:發送方確認交易
發送方確認cBridge節點有在目的地鏈上提交相應的transferin請求后,就可以進入源鏈上transferout的撥款階段。發送方首先要對源鏈的cBridge合約提交transferout的hashlock答案,合約驗證答案無誤后,會將transferout指定的token數量轉移給cBridge節點,完成源鏈上transferout的撥款。
第四步:cBridge節點確認交易
在鏈下的cBridge節點監控到發送方已經在源鏈上完成transferout撥款后,隨即拿著發送方撥款時揭露的hashlock答案,到目的地鏈上的cBridge合約提交hashlock答案,完成transferin的撥款,此時目的地鏈的收款人就會收到來自源鏈發送方的款項,完成跨鏈的資產轉移。
Compound將于今年第二季度上線Aztec旗下隱私Rollup網絡zk.money:2月28日消息,去中心化借貸市場 Compound 將于今年第二季度在以太坊Layer2 隱私協議 Aztec 旗下隱私 Rollup 網絡 zk.money 主網上線,用戶可以通過使用 Aztec Connect 在 Compound 中存款和借款,與主網相比節省 95% 以上的 gas,并且默認情況下具有隱私性。具體而言,用戶可以將 ERC20 代幣存入 Aztec,并通過 zk.money 發起 Compound 存款或借款請求。Aztec 的 zkrollup 將跨用戶批量交易,并通過橋接合約與 Compound 的 L1 合約進行交互。用戶將在 Aztec 上收到一個 cToken 或他們借用的任何資產,可以在 Aztec 上的其他 DeFi 協議中使用。目前,Aztec 在compound治理論壇發起提案,申請 10 萬美元的贈款來補貼用戶在 Compound 的存款和借款相關gas費,以啟動此集成的網絡效應。
另據 DeFi Liama 數據顯示,Compound 目前總鎖倉量為 67.2 億美元,僅支持以太坊主網。[2022/3/1 13:28:32]
細節步驟雖然看起來有點繁瑣,但對于cBridgeApp的用戶來說只要進行兩次簽名操作,并等待一些時間,過程中完全不需要切換錢包的網絡,使用起來的體驗是非常簡單順暢的。
V神:phase1后以太坊已有擴展性,rollup就是一種計算分片:對于此前“以太坊2.0或將暫且擱置階段二”一事,V神回應稱,因為我們有rollup,phase1(數據分片)后以太坊已經有擴展性,可以處理每秒10萬交易,所以加內置的計算分配沒有什么用。最好的理解是,rollup就是一種計算分片。Phase 1也并不需要等很長時間,我們已經有個開發者在做測試客戶端。
對于問題“如果走這樣的技術路線,是否意味著phase1即可實現質押金的取回?現在已經質押的ETH,是否可以提早取出?做驗證人的鎖倉期不需要2年了?”V神回復稱,按照最新的路線圖,合并以太坊1.0和2.0甚至不需要分片,所以如果分片居然需要很長的時間這個不會影響合并的時間,合并(和取款)可能會分片之前發生。分片和合并是并行研發的。[2020/11/16 20:58:19]
退款機制
不管是transferout或是transferin都會設定一個有效時限,當有任何一方沒有履行義務時,在設定的時限之后,雙方都有能力可以直接要求cBridge合約退回事先放進去用來轉帳的token,不需要提供hashlock的答案。退款機制能夠保護雙方的資產,不會因為對手方不作為而導致資產被永久鎖在cBridge合約上。
另外值得注意的是,目的地鏈的transferin會比源鏈的transferout更早過期,有可能cBridge節點已經對transferin進行退款,使用者才對transferout進行確認撥款,此時也會對使用者造成損失。
饒舌歌手JaRule與社交貨幣協議Roll達成合作:近日,說唱歌手JaRule和社交代幣初創公司Roll進行了新的整合,白金唱片即將進入加密貨幣領域。《公告牌》百強單曲榜歌手JaRule與Roll簽署了協議,這是一個基于以太坊的協議,允許內容創建者將作品代幣化并通過此方式來獲取收益。據了解,Roll成立于2019年,是一個基于以太坊區塊鏈開發的社區貨幣層協議,允許社區、內容創造者或品牌方輕松實現鑄造自己的粉絲貨幣,讓自給自足的粉絲經濟體成為可能。Roll本周在由BitMEX首席執行官亞瑟·海耶斯(ArthurHayes)牽頭、TechstarsVentures、HustleFund和加里·維納查克(GaryVaynerchuk)牽頭的170萬美元種子輪的支持下開始進行了內部測試。該平臺提供了API基礎設施,作為構建在ERC-20代幣標準上的內容網關。(Coindesk)[2020/6/24]
目前cBridgeWebApp設定的transferout過期時限為12小時,其對應的transferin約為12*2/3=8小時,時間相對充足,一般正常的轉帳只需要數分鐘,如果過程中有出現非預期的狀況,還可以有足夠的反應時間處理。
簡單的操作體驗背后的成本
眼尖的讀者可能已經發現,cBridge運作步驟中的第三與第四步,與典型的HTLCs不同。典型的HTLCs是發送方先到目的地鏈揭露hashlock的解答,確認收款人能夠收到撥款,cBridge節點才能到源鏈取回它在目的地鏈預先墊付給收款人的款項。
Celer官方說明這是為了提升使用者體驗,如果走典型的HTLCs流程,使用者在確認transferout撥款的步驟中,必須要切換錢包的網絡至目的地鏈,還需要事先在目的地鏈上的錢包里準備足夠的gastoken來支付撥款所需的交易手續費,對使用者來說非常不方便。
因此cBridge調整了最后兩個步驟的順序,讓使用者只需要在源鏈進行操作,來大幅提升使用者的體驗。但這樣的調整并非沒有成本,它會為使用者帶來額外的風險。
試想一個情境:當使用者在源鏈上完成transferout撥款,cBridge節點收到使用者的款項后,卻沒有在目的地鏈上將transferin撥款給收款人,等到目的地鏈上的transferin過期,cBridge節點甚至有能力對transferin進行退款的操作,cBridge節點有機會可以無償得到使用者轉帳的token。
這部分必須仰賴使用者自己采取行動去降低風險,當使用者發現在transferin有效區間內等了足夠久的時間,收款人都還沒有收到款項,使用者必須要自己主動到目的地鏈提供hashlock答案,完成transferin撥款的動作,以防止資產被惡意取走。
安全分析
總結以上,我們針對發送方和cBridge節點在cBridge四個操作步驟中可能產生的安全問題,進行分析與整理:
如果發送方執行了第一步但cBridge節點沒有往下執行,此時發送方的資產會單方面地被扣押在源鏈的cBridge合約中,必須要等待12小時之后,才能進行退款。如果cBridge節點執行了第二步但發送方沒有往下執行,此時發送方和cBridge節點的資產分別會被扣押在源鏈和目的地鏈的cBridge合約中,必須等到轉帳過期后,才能各自進行退款。值得注意的是,cBridge節點在目的地鏈上的transferin有更短的過期時間,能夠比發送方更早完成退款。如果發送方執行了第三步但cBridge節點沒有往下執行,此時發送方已將資產轉給cBridge節點,但目的地鏈上的收款人還沒有收到對應的款項。如果這個狀態一直持續到目的地鏈上的transferin過期后,cBridge節點甚至有能力進行退款取回transferin的資金,而造成發送方單方面的損失。這個狀況會給發送方帶來安全疑慮,發送方需要在transferin過期前,自行到目的地鏈上完成transferin的撥款。正常cBridge的轉帳流程能在十分鐘以內完成,如果發送方撥款給cBridge節點后,收款人卻遲遲沒有收到款項,這時候就需要提高警覺了。如果cBridge節點執行完第四步但交易一直沒有成功,此時發送方仍然有資金損失的風險。因此建議發送方在完成撥款之后,要隨時留意轉帳的狀態與經過的時間,以保護自己的資金安全。合約實踐
cBridge合約實踐很簡單,提供了transferOut、transferIn、確認以及退款的功能,不多不少,都是cBridge運作流程中的核心動作,而且這些方法都是公開可以讓任何人去使用的。因此當節點在轉帳過程中出現問題時,使用者能夠直接對合約進行操作,保護自己的資產。
cBridge合約方法界面
特別要注意的是合約方法transferOut的第一個參數address_bridge。這個參數要填入能夠服務這次跨鏈轉帳需求的cBridge節點地址,換句話說,使用者在進行跨鏈轉帳之前,必須先決定好要找哪個cBridge節點來服務。
Celer官方提供了一個網關服務,負責cBridge節點的路由,使用者只要將轉帳的信息丟給該服務,它會選出符合使用者轉帳需求,且當下狀態最好的cBridge節點,使用者就能在進行transferOut時填入Celer網關推薦的cBridge節點。
由于Celer官方并未提供網關的相關信息,有技術背景的讀者可以試著去操作cBridgeWebApp,了解其背后的實踐細節。
此外,合約里也有一些大家可以去關注的重要事件:
LogNewTransferOut事件:transferOut完成時會發出的事件,會紀錄這筆transferout的transferId。LogNewTransferIn事件:transferIn完成時會發出的事件,會紀錄這筆transferin的transferId以及其對應的transferout的transferId。在cBridge合約上不管是要進行確認或是退款,都需要提供transferId,因此transferId在cBridge的應用中是至關重要的信息。除此之外,透過這兩個事件的觀察,能夠幫助我們將跨鏈的transferout與transferin關聯起來,有利于持續追蹤轉帳的狀態,并在意外發生時有應對的能力。
cBridge合約事件界面
節點運維
Celer官方開源了cBridge節點的實踐,任何人雖然都可以跑起自己的節點,但cBridge現階段有白名單機制,想擔任cBridge節點來服務使用者必須要先跟官方接洽。
擔任節點的好處在于可以從每一筆跨鏈轉帳中賺取一定比例的手續費,但也要考量到運維節點的成本,Celer官方很貼心地在cBridge節點GitHub文件里詳細列出了運維節點需要注意的事項,包含機器建議配備,支持的幣種和最少需要提供的流動性,各條鏈的建議配置,運維節點的最佳操作等等,節點甚至還有內建統計數據的API,讓運維者能夠隨時監控節點的交易狀況。
從GitHub文件的詳細程度以及考量了運維節點的各個面向,可以感受到Celer官方對社群的用心。對于運維cBridge節點有興趣的讀者,建議一定要好好將GitHub文件過一遍。
結語
以上是對于cBridge背后技術實現的介紹,如果有任何想法想要分享,或是想要了解更多,都可以在留言區一起討論??
Tags:BRIDGEIDGBRIDGEBarnBridgesquidgrow幣總量BRIBE幣ledger錢包官網多少錢
親愛的幣在·BitZ用戶:為了提高產品性能,給您帶來更優質的交易體驗,幣在·BitZ將于2021年08月26日0:00-08:00進行幣幣交易系統升級,升級時長預計8小時.
1900/1/1 0:00:00據CoinDesk9月22日,ConsenSysVentures前負責人KavitaGupta推出Delta區塊鏈基金,目標規模為5000萬美元-1億美元.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線PORT,并開啟PORT/USDT交易對。具體上線時間如下:交易:2021年9月23日17:00?; PORT 項目簡介:PortFinance旨在提供一整套.
1900/1/1 0:00:00為期一周的“Gate.io秋季合約交易周,贏$10,000超值獎勵”活動已圓滿結束。感謝大家的熱情參與!根據活動規則,我們已為以下獲獎用戶發放不等數額的點卡、合約體驗金作為獎勵,用戶可進入“錢包.
1900/1/1 0:00:00尊敬的中幣用戶: ????中幣現已開啟CELR、AGLD、GALA的余幣理財業務以及CELR/USDT、GALA/USDT、AGLD/QC交易對的3倍杠桿交易和YGG/QC交易對的5倍杠桿交易.
1900/1/1 0:00:009月15日,MantaNetwork?先行網CalamariNetwork以218,247KSM鎖倉投票贏得Kusama第7個平行鏈插槽競拍,已接入Kusama網絡成為平行鏈出塊.
1900/1/1 0:00:00