Omnite:多鏈NFT通證解決方案

Omnite基金會
2022-04-25 22:29:17
收藏
Omnite允許NFT通證以完全去中心化的方式在區塊鏈之間移動,而不需要集中托管人。

作者:Omnite基金會

編譯:0xMeta

本文介紹了一個新的多鏈解決方案旨在徹底改變用戶製造、銷售和購買不可替代通證的方式,從根本上改變目前的NFT行業。這是通過利用相關的革命性跨鏈技術--LayerZero和Omnite協議智能合約實現的。

今天的NFT通證創作者被迫選擇一個特定區塊鏈平台來發布他們的通證,從而限制了潛在買家、可用市場和本土通證付款方式。Omnite通過引入多鏈NFT通證托收去除這些限制,而不必依靠集中的托管人和目前緩慢、昂貴和中心化的通證橋接機制。

本文從創作者、投資者和市場的角度概述了採用單個區塊鏈的所有缺點,以及它們可能從多鏈解決方案中獲利的方式。報告還描繪了平台如何降低過高的gas費用和NFTs交易過程的困難,同時也允許完整的去中心化實施程序的路徑。

一:介紹

Omnite是一種基於智能合約的協議,即允許NFT通證以完全去中心化的方式在區塊鏈之間移動,而不需要集中托管人。它打破了區塊鏈之間存在的邊界,通過革命性的去信任全鏈互操作協議LayerZero,實現NFTs輕鬆地跨鏈。

運行在LayerZero協議支持的所有網絡平台上,第一階段專注於基於EVM的區塊鏈網絡,如ETH、POLYGON、AVAX、FANTOM、BSC。旨在實現基於各種生態系統的網絡在Cosmos,TerraLuna,Solana等未來階段,成為LayerZero的開發結果。

該協議支持使用Omnite快速啟動版創建的通證(以下稱為"原生通證")以及自區塊鏈網絡成立以來的erc721標準中創建的所有其他NFT通證。Omnite協議解決影響互聯網之間傳輸NFT通證的平台或工具的四個主要問題:集中化、複雜的通證傳輸過程、過高的交易費用和等待時間長。Omnite在網絡之間傳輸通證的過程完全基於智能合約,從用戶的角度來看,它不需要任何額外的步驟,但在同一網絡內傳輸NFT通證時則不然。

二:協議設計

Omnite的核心是一個NFT傳輸協議,它允許通證NFT跨鏈流動,並保證在給定的托收中的任何給定時間點,在所有受支持的網絡上只有一個通證實例。該協議是去中心化智能合約托收,分布在我們的解決方案支持的所有網絡上。它們的功能和指揮是獨立的。

中心化的托管人已被革命性的通信協議------Layer Zero所取代,Layer Zero的節點用於以去集中化的方式在網絡之間傳輸加密數據。

由於系統使用多鏈(將來甚至是不同的區塊鏈類型),因此需要克服單鏈應用程序中並不存在的不同問題。

  • 訪問控制支持多錢包類型

image

最大的挑戰之一是證明來自其他鏈的合約可以調用我們的OmniteBridge,因為Solana或TerraLuna鏈上的智能合約橋處理有不同的處理結構,這在基於EVM的鏈上是不正確的(也不支持),因此,需要實現自定義解決方案,為不同類型的處理授予角色。

(b)同時升級多鏈上的代碼(Hotswaps)

image

圖一:使用OMNITE協議的NFT通證多鏈傳輸流

所有現代的EVM應用程序都使用Proxy代理模式,以便在出現新特性或安全修復時能夠更新智能合約代碼。OmniteHotSwaps引入了一種革命性的方式,以一種安全多鏈的方式一次升級同一合約的多個實例。Swaps由3個組件組成:Blueprints代表各種智能合約實現(如NFTs),UpgradeableBeacon跟蹤特定合約類型的最新可能實現(如ERC721的最新實現),以及BeaconProxy,對用戶可見的一個NFT合約,負責將請求委託給真正的實現。我們使用代理模式的方法減少了部署新的ERC721NFT托收75%以上的gas費用,並使Omnite用戶能夠在未來輕鬆地接收團隊和社區實現的新功能。

(c)DDOS和橋區塊保護

在鏈上不可能解決的問題是不同區塊鏈網絡上的gas估計,因為一個區塊鏈網絡不能訪問其他網絡的數據。LayerZero需要為處理操作所需的特定數量的gas付費,因此永遠無法確保前端應用程序提供的gas數量不是惡意的(或計算錯誤),並足以在目標網絡上正確執行交易。Omnite設置了橋接所能接受的最小gas值,並採取了交易不會在出現錯誤時恢復,而是生成錯誤事件的方法。這是通過在橋接的LayerZero回調進入階段使用複雜的低級請求實現的。

(d)ERC20通證

Omnite通證被設計為多鏈通證。通證本身也使用LayerZero基礎設施在不同區塊鏈之間轉移價值,允許實現去中心化的多鏈質押和歸屬。

三:協議構成

Omnite Bridges是多鏈通信的核心。它們可以直接訪問LayerZero端點,並作為Omnite和LayerZero之間的消息層工作。它們由橋接發送方和橋接接收方組成。這些合約負責對低級請求進行編碼和解碼,在不同的網絡上執行這些請求,並在另一端接收消息。它們在設計上是去信任的,例如,任何發送方都可以在一次交易中將多個合約部署到不同的網絡。

Contract Factory是一個持有通證藍圖的合約。它用於部署新的合約實例(例如,不同的ERC721實現),通過使用可升級的合約和信標代理的代理模式。它支持藍圖的版本控制和合約類型的部署,這允許節省gas費用:layer zero bridge不需要傳輸整個字節碼來橋接合約,它只需要一個藍圖名稱和構造函數參數去實例化一個代理合約存儲。

Collection Registry保存了所有Omnite的ERC721原生和非原生通證記錄。伺服器部署或橋接的每個ERC721都存儲在這個註冊中心中。每個記錄保存了托收的所有者、地址和托收名稱。CollectionRegistry提供驗證傳入和傳出橋接請求所需的數據。

Access Control List訪問控制列表(ACL)指定授予哪些合約對其他合約的訪問權,以及允許對給定的合約進行哪些操作。它基於OpenZeppelin的AccessControl庫,但進行了擴展,以支持非EVM網絡的處理結構。

System Context在Omnite系統中跟蹤智能合約,允許合約訂閱使用回調的處理變化。例如,使用回調記錄地址變化。例如,當設置了ContractFactory註冊表的新版本時,系統背景會通知所有相關方。

Native Tokens原生通證是直接從Omnite托收創建者那裡部署的合約。托收的所有者可以很容易地在平台上製造它們,然後將它們連接起來。在特定網絡上,每個通證的智能合約都有一個鑄幣範圍,這將鑄幣限制在特定的id上。原生通證被部署為可升級的合約。

Non-native Tokens非原生通證是部署在Omnite平台之外的合約,如Invisible Friends、Bored Apes等。他們必須實現ERC721 Metadata接口。要在網絡之間橋接這些通證,首先需要對它們進行包裝。不可能通過Omnite製造它們。

四:協議費用和利益

Omnite項目由於其多平台性質,配備了使用許多本地貨幣的支付機制。根據用戶請求服務的網絡(創建托收,鑄造通證,或發送通證到另一個網絡),支付將在原網絡幣。費用是在所有支持的網絡上部署的錢包合約上累積的。這些合約充當了資金積累的金庫,可以通過Stargate平台交換其他通證。收取的費用既是該項目的利潤,也是通過Stargate平台進行轉帳和兌換的費用。當閾值通過時,費用將被交換為OMNITE通證。該操作可以由任何實體發起。購買的OMTs將進入主要的利益合約:OmniteStaking。該合約使用OMT通證作為托收通證和獎勵通證。通過阻止合約上的通證,用戶可以將所持有的通證數量翻倍。通證按合約規定的比例線性支付給每個利益參與者。獎勵發布率定義為一段時間內通證數量的百分比:例如,每月獎勵流動資金池的10%。

五:案例研究:橋接非原生NFT

在本節中,我們將簡要描述如何實現Omnite平台的基本特性的細節,該特性將橋接現有托收並將用戶的通證發送到目標區塊鏈。當今大多數現有的托收依賴於一組Openzeppelin的庫和合約,它們遵循ERC721Metadata標準。此接口公開基本字段和函數,如名稱、符號和tokenURI。他們需要正確地管理Omnite生態系統中的托收。當一個用戶持有一個尚未帶到Omnite平台的托收的特定通證,首先,它需要被Omnite的ERC721包裝器包裝,該包裝器遵循平台使用的接口
形式的橋(ITokenBridgeable)。

Omnite平台上的所有可橋接通證都必須實現這個接口,因此包裝源合約是至關重要的。這個步驟與多鏈部署一起執行。該步驟包括:

  1. 在源網絡上部署包裝器
  2. 在目標網絡上部署Omnite的ERC721合約

兩個操作都是在一個交易中執行的。請求者需要提供原始合約地址、識別LayerZero生態系統中特定網絡的鏈ID,以及每個部署的gasAmount(gas量在單獨請求中計算)。被請求的函數是可支付的,因為目標網絡的gas成本是從用戶發送的價值中扣除的。剩餘的被送回給用戶。為了在目標網絡上部署合約,Omnite的橋將部署消息編碼到Data結構體中,其中包含部署操作類型、要部署的合約類型和托收ID,托收ID是通過編碼區塊時間戳和請求者地址生成的。接下來,它將消息發送給目標區塊鏈上的橋合約。消息通過LayerZero端點,並被轉發到接收Omnite橋。橋接器解包數據,並將部署請求轉發到ContractFactory。ContractFactory存儲部署和合約版本所需的所有數據。Omnite利用信標代理:每個新的ERC721實際上是一組遵循此模式的合約。它們都共享一個藍圖(通過信標),如果需要可以升級。在部署了帶有UpgradableBeacon和構造函數參數的BeaconProxy(用於初始化帶有ERC721字段的新托收)後,將新托收註冊到CollectionRegistry中,該registry負責存儲由Omnite智能合約部署或包裝的所有托收。

部署完成後,現在就可以橋接通證了。在一個包裝器需要它才能傳輸用戶的資產的批准交易之後,橋接就開始了。該交易包括:

  1. 鎖定源網絡上的通證------當資產被橋接回來時,它可以被解鎖。這是比銷毀通證安全得多的解決方案,因為資產將始終處於解鎖狀態。通證鎖定在其智能合約上,可以在橋接回通證時釋放。

2.請求橋接以在目標網絡上生成通證。move請求使用CallData操作類型和packedData字節進行打包。它包括鑄幣的函數選擇器,一個用於製造的通證ID,以及這個id的通證URI。還有gas數量值和消息值,類似於部署交易。在目標網絡上接收到消息後,網橋解包數據並在目標ERC721上執行製造功能。從CollectionRegistry檢索通證的地址。在整個過程的最後,源鏈上有一個未解鎖的通證,目標網絡上有一個新生成的通證。如果用戶決定返回他的通證,資產將再次被鎖定,原始的資產將被解鎖。進程可以永久執行。如果一個特定的目標網絡持有鎖定的資產,就不需要創建一個新的。

六:市場兼容性

Omnite智能合約旨在與領先的NFT市場完全兼容。通過遵循元數據標準,在Omnite平台上創建的每個托收都有一個元數據URI和一個所有權管理。在將通證橋接到目標網絡之後,用戶仍然是NFT的所有者,可以完全自由地管理它。
它可以在Opensesa、Rarible等上面被列出。在出售通證後,新所有者可以通過Omnite平台將其橋接回來。

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