menu-icon
anue logo
鉅樂部鉅亨號鉅亨買幣
search icon
區塊鏈

Opside推出NCRC協議,允許無需信任的原生跨Rollup通信

BlockBeats 律動財經 2023-08-22 10:00

cover image of news article
律動財經圖片

TL; DR

Opside 的 NCRC(Native Cross Rollup Communication)協議提供了一種無需信任的 Rollup 互操作性解決方案。NCRC 協議並不是在各個 Rollup 上額外添加一個第三方橋,而是在系統層面改造了 ZK-Rollup 自帶的 bridge(native bridge),從而直接使用各個 ZK-Rollup 的 native bridge 來實現跨 Rollup 通信。這樣的做法更加簡潔和徹底,既繼承了 native bridge 絕對的安全性,也避免了第三方橋所帶來的系統複雜度和信任成本。

為什麼我們需要無需信任的跨 Rollup 通信?

Rollup 能夠顯著提高區塊鏈網路的可擴展性、降低交易成本並提高整體效率,它們受到越來越多的關注和使用。Opside 為 Web3 應用提供 ZK-RaaS 服務,任何開發者都可以通過 Opside Rollup Launchbase 創建自己的 Rollup。在這個多 Rollup 的時代里,我們預計會有越來越多的 Rollup 共存,因此不同的 Layer 2 之間的無縫互操作性變得至關重要。目前,Rollup 之間運作相對孤立,缺乏實時的跨鏈通信和資產互通。這種隔離導致了碎片化的格局,其中資產在特定的 Rollup 內被隔離,限制了它們在不同網路之間的自由流動和利用。

缺乏高效的跨 Rollup 通信不僅限制了各個 Rollup 的潛力,還影響了整體用戶體驗。用戶在嘗試在 Rollup 之間轉移資產或執行跨鏈交易時面臨繁瑣而耗時的流程。這種次優的體驗削弱了 Rollup 的吸引力,並在一定程度上阻礙了二層擴展方案的廣泛採用。

目前的跨 Rollup 橋接方案大部分是在 Rollup 鏈上部署新的一套跨鏈合約,然後通過多鏈流動性激勵機制來提供資產的跨鏈。這些方案並不是通用的消息跨鏈,同時帶來了中心化和信任的風險。

為了釋放多 Rollup 時代的全部潛力,迫切需要一種無需信任的通用的跨 Rollup 通信協議。

Opside 的解決方案: Native Cross Rollup Communication

實際上,每一個 ZK-Rollup 都自帶一個 L1L2 的 bridge,我們稱之為 Native bridge。與第三方 bridge 採用流動性方案不同,Native bridge 是唯一的「mint-burn」跨鏈機制。它由零知識證明來保證安全性,同時也是無需信任的。一個 Rollup 上所有的資產,都來自 native bridge 的 deposit 交易,同時也都由 native bridge 來提供最終的安全性背書。

我們堅信奧卡姆剃刀原理,「如無必要,勿增實體(Entities are not to be multiplied beyond necessity.)」。第三方橋擁有更加便宜和快捷的跨鏈體驗,但也帶來了更多的信任成本和安全風險。前不久的 Multichain 事件,就是一個案例。因此,在一開始,Opside 的跨 rollup 通信的靈感就簡單得出奇:直接使用 native bridge 來實現多 rollup 互操作性,而不是新增一個第三方的橋。這就有了現在的 NCRC(Native Cross Rollup Communication)協議。

NCRC 的前提條件

多個 Rollup 之間實現 NCRC 需要滿足以下 2 個前提條件:

· 這些 Rollup 屬於 ZK-Rollup 類型

· 這些 Rollup 在相同的 L1 上

滿足以上 2 個條件的 ZK-Rollups,在理論上,擁有和 L1 一樣的安全性。同樣地,這些 Rollup 之間的 native bridge 的安全等級是一樣的,且無需信任對方。所有的 NCRC 交易都是被 validity proof 所驗證的,這也是 NCRC 的安全性保證的根本來源。

Rollup Recognition Contract(RRC)

截至 2023 年 8 月,已經有多個 ZK-Rollups 主網上線了,包括 Polygon zkEVM、zkSync Era、Linea 等。然而,這些 ZK-Rollups 之間是獨立不相關的,用戶的資產也因此碎片化。造成這種問題的根本原因在於,它們在 L1(以太坊主網)上的合約是不相關的。它們感受不到對方的存在,更無法實現原生 Rollup bridge 的直接通信。

因此,我們要做的第一步,是在 L1 上部署一個特殊的合約,來讓 Rollup 互相發現和識別。我們稱之為 RRC(Rollup Recognition Contract)。RRC 負責管理所有參與 NCRC 的 ZK-Rollups,包括 Rollup 的新增、暫停、退出等。RRC 中的每個 Rollup,都會有一個專屬的 Rollup ID,L1 的 ID 則固定為 0。

Rollup 上的地址在 native bridge 發起跨 Rollup 交易時,可以指定目標的 Rollup ID:

· 如果 Rollup ID 為 0,則表示把消息跨到 L1,例如 withdrawal

· 如果 Rollup ID 不為 0,則表示要把消息跨到其他 Rollup

Opside 將在每一個 L1 層都部署了一個 RRC 合約,並允許對應的 ZK-Rollup 無需許可地加入或者退出。這個 RRC 合約將用於維護各個 Rollup ID 對應的 Rollup 資訊,包括 L1 上的 bridge 合約地址等。值得一提的是,RRC 合約只是負責提供數據檢索服務,不會跟跨鏈資產產生直接聯繫。

兼容 native bridge 的 smart contract 與 service

一般來說,一個 Rollup 的 native bridge 分成 3 個模塊:L1 上的 bridge 合約、L2 上的 bridge 合約,以及一個 bridge service 負責傳遞資訊。NCRC 協議在底層復用了這些模塊,並在其基礎上做了更高級的封裝。主要的改動如下:

· L2 上的 bridge 合約:在保留原有方法的基礎上,添加了新的 bridgeAsset 方法,允許用戶在 destinationNetwork 參數中指定目標 Rollup 的 ID

· L1 上的 bridge 合約:封裝一個新方法來處理新 bridgeAsset 方法的跨鏈消息。bridge 合約會在 RRC 合約中根據 Rollup ID 尋找到目標 Rollup 的資訊,並將跨鏈資產轉移到目標 Rollup 的 bridge 合約中。跨鏈資產在那裡被 deposit 到目標 Rollup

· bridge service:負責傳遞資訊,並向用戶收取跨 Rollup 交易的手續費

當一個 Rollup 完成以上 NCRC 相關的兼容適配之後,就可以將該 Rollup 註冊到 RRC,從而加入原生跨 Rollup 通信網路。

原生跨 Rollup 交易的流程

對於用戶來說,NCRC 的操作方式和 rollup 的 native bridge 是完全一致的。用戶在 Rollup1 上發起到 Rollup2 的跨鏈交易,整個流程將自動完成,包括以下步驟:

首先,跨 Rollup 交易發起者 User1 在 Rollup1 上調用 native bridge 的 bridgeAsset 方法,發起跨鏈交易。該交易中的 destinationNetwork 參數被設置為 Rollup2 的 Rollup ID。這個 Rollup ID 將被用於檢索對應的 L1 層橋合約地址。若 Rollup ID 為 0,則代表目標網路為 L1。

接着,這筆交易被 Rollup1 的 sequencer1 打包。跨 rollup 交易的費用,由交易發起者 User1 承擔,並支付給所在的 Rollup1 的 sequencer1。Rollup1 的 Bridge service 將跨鏈資產先轉移到在 L1 中的 Rollup1 橋合約。此時 Rollup1 和 L1 分別完成了資產的 burn 操作與 release 操作。

為了完成資產的跨 Rollup 轉移,Rollup1 的 Bridge 服務調用 RRC 合約來查詢參數 destinationNetwork 對應的目標 Rollup2 資訊,從而獲取到 Rollup2 在 L1 層的橋合約地址。然後,Rollup2 的橋合約將直接接管這些資產,並通過 bridgeAsset 方法將資產映射到 Rollup2 中。

最終,這筆交易在成功打包並生成證明後,會被 Rollup2 的 Bridge 服務執行 claimAsset 操作。最終,Rollup1 發出的跨鏈資產安全地到達 Rollup2 指定的地址。

值得一提的是,在整個跨鏈過程中,用戶的資產流經:Rollup1 -> Rollup1 在 L1 的橋合約-> Rollup2 在 L1 的橋合約-> Rollup2。也就是說,用戶的資產沒有經過任何第三方協議,而是復用了 Rollup 自帶的 native bridge,整個流程都是安全且無需信任的。

當用戶在 Rollup1 上執行跨鏈操作,選擇 Rollup2 作為目標,技術流程實際上涉及 Rollup1、L1 以及 Rollup2 這三者。然而,用戶在此過程中並不需要感知 L1 的存在,他們的體驗只是從 Rollup1 直接跨到了 Rollup2。背後的實際情況是 跨鏈資產在 L1 中進行了 2 次橋接操作,使得用戶感受到的是 Rollup1 到 Rollup2 的無縫連接。在這個過程中,L1 上的操作將自動處理,用戶不需要有其他的操作。對用戶而言,他們所在的當前 Rollup 可以實現向 L1 和任意其他 Rollup 進行跨鏈操作。這種設計使得用戶體驗更加流暢,同時隱藏了底層複雜性。

NCRC 已經在 Opside 測試網上線

Opside 目前已經在測試網上實現了原生跨 Rollup 通信。現在任何人都可以在官網體驗。我們也歡迎用戶、開發者來幫助我們發現可能存在的 bug 和安全性風險,也歡迎提任何有價值的建議。

我們相信,一個無需信任的原生跨 Rollup 通信,不僅能安全地共享所有 Rollup 的流動性,也將提供更加強大的多 Rollup 互操作性,從而為去中心化應用和 DeFi 協議開闢新的可能性。

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠






Empty