Omnite:マルチチェーンNFTトークンソリューション

コレクション
Omniteは、NFTトークンが完全に分散化された方法でブロックチェーン間を移動できるようにし、集中管理者を必要としません。

著者:Omniteファウンデーション

編訳:0xMeta

この記事では、新しいマルチチェーンソリューションが、ユーザーが非代替トークンを製造、販売、購入する方法を根本的に変えることを目的としていることを紹介します。これは、関連する革命的なクロスチェーン技術であるLayerZeroとOmniteプロトコルのスマートコントラクトを利用することで実現されます。

今日のNFTトークンクリエイターは、特定のブロックチェーンプラットフォームを選択してトークンを発行することを余儀なくされており、その結果、潜在的なバイヤー、市場、ネイティブトークンの支払い方法が制限されています。Omniteは、集中型の管理者や現在の遅く、高価で中央集権的なトークンブリッジメカニズムに依存することなく、マルチチェーンNFTトークンの取り扱いを導入することで、これらの制限を取り除きます。

この記事では、クリエイター、投資家、市場の観点から、単一のブロックチェーンを採用することのすべての欠点を概説し、彼らがマルチチェーンソリューションからどのように利益を得ることができるかを示します。また、プラットフォームが過剰なガス料金やNFTの取引プロセスの困難をどのように軽減し、完全な分散型実装のための道を提供するかについても描写します。

1:はじめに

Omniteは、NFTトークンが完全に分散型の方法でブロックチェーン間を移動できるようにするスマートコントラクトベースのプロトコルです。これは、ブロックチェーン間の境界を打破し、革命的な信頼不要の全チェーン相互運用プロトコルLayerZeroを通じて、NFTを簡単にクロスチェーンで実現します。

LayerZeroプロトコルをサポートするすべてのネットワークプラットフォームで動作し、第一段階はETH、POLYGON、AVAX、FANTOM、BSCなどのEVMベースのブロックチェーンネットワークに焦点を当てています。将来的には、Cosmos、TerraLuna、Solanaなどのさまざまなエコシステムに基づくネットワークを実現し、LayerZeroの開発成果となることを目指しています。

このプロトコルは、Omniteのクイックスタート版で作成されたトークン(以下「ネイティブトークン」と呼ぶ)と、ブロックチェーンネットワーク設立以来のerc721標準で作成されたすべての他のNFTトークンをサポートします。Omniteプロトコルは、インターネット間でNFTトークンを転送するプラットフォームやツールに影響を与える4つの主要な問題を解決します:集中化、複雑なトークン転送プロセス、過剰な取引手数料、長い待機時間。Omniteは、ネットワーク間でトークンを転送するプロセスを完全にスマートコントラクトに基づいており、ユーザーの観点からは、追加のステップを必要とせず、同じネットワーク内でNFTトークンを転送する場合はそうではありません。

2:プロトコル設計

Omniteのコアは、トークンNFTがクロスチェーンで流動することを許可し、特定の取り扱いにおいて、すべてのサポートされているネットワーク上で唯一のトークンインスタンスが存在することを保証するNFT転送プロトコルです。このプロトコルは、私たちのソリューションがサポートするすべてのネットワークに分散された分散型スマートコントラクトの取り扱いです。それらの機能と指揮は独立しています。

集中型の管理者は、革命的な通信プロトコルであるLayer Zeroに置き換えられ、Layer Zeroのノードは、ネットワーク間で暗号データを分散型の方法で転送するために使用されます。

システムはマルチチェーンを使用しているため(将来的には異なるブロックチェーンタイプも含む)、単一チェーンアプリケーションには存在しないさまざまな問題を克服する必要があります。

  • アクセス制御は複数のウォレットタイプをサポート

image

最大の課題の1つは、他のチェーンからのコントラクトが私たちのOmniteBridgeを呼び出すことができることを証明することです。SolanaやTerraLunaチェーン上のスマートコントラクトブリッジは異なる処理構造を持っており、EVMベースのチェーンでは正しくない(またはサポートされていない)ため、異なるタイプの処理に役割を付与するカスタムソリューションを実装する必要があります。

(b)マルチチェーン上のコードを同時にアップグレード(ホットスワップ)

image

図1:OMNITEプロトコルを使用したNFTトークンのマルチチェーン転送フロー

すべての現代のEVMアプリケーションは、プロキシパターンを使用しており、新機能やセキュリティ修正が発生した場合にスマートコントラクトコードを更新できるようにしています。OmniteHotSwapsは、安全なマルチチェーンの方法で同じコントラクトの複数のインスタンスを一度にアップグレードする革命的な方法を導入します。スワップは3つのコンポーネントで構成されています:Blueprintsはさまざまなスマートコントラクトの実装(NFTなど)を表し、UpgradeableBeaconは特定のコントラクトタイプの最新の可能な実装(ERC721の最新実装など)を追跡し、BeaconProxyはユーザーに見えるNFTコントラクトで、リクエストを実際の実装に委任する役割を担います。私たちのプロキシパターンのアプローチは、新しいERC721NFTの取り扱いを75%以上削減し、Omniteユーザーが将来的にチームやコミュニティの実装による新機能を簡単に受け取ることを可能にします。

(c)DDOSおよびブリッジブロック保護

オンチェーンで解決できない問題は、異なるブロックチェーンネットワーク上のガス見積もりです。1つのブロックチェーンネットワークは他のネットワークのデータにアクセスできないためです。LayerZeroは、処理操作に必要な特定の量のガスを支払う必要があるため、フロントエンドアプリケーションが提供するガスの量が悪意のあるものでない(または計算ミス)ことを保証することはできず、ターゲットネットワーク上で取引を正しく実行するのに十分です。Omniteは、ブリッジが受け入れることができる最小ガス値を設定し、エラーが発生した場合に取引が復元されるのではなく、エラーイベントを生成する方法を採用しています。これは、ブリッジのLayerZeroコールバックが入る段階で複雑な低レベルリクエストを使用することで実現されています。

(d)ERC20トークン

Omniteトークンはマルチチェーントークンとして設計されています。トークン自体もLayerZeroインフラストラクチャを使用して異なるブロックチェーン間で価値を移転し、分散型のマルチチェーンステーキングと帰属を実現します。

3:プロトコル構成

Omnite Bridgesはマルチチェーン通信のコアです。これらはLayerZeroエンドポイントに直接アクセスでき、OmniteとLayerZero間のメッセージ層として機能します。これらはブリッジ送信者とブリッジ受信者で構成されています。これらのコントラクトは、低レベルリクエストをエンコードおよびデコードし、異なるネットワークでこれらのリクエストを実行し、もう一方の端でメッセージを受信します。設計上、信頼不要であり、任意の送信者が1回の取引で複数のコントラクトを異なるネットワークにデプロイできます。

Contract Factoryはトークンのブループリントを保持するコントラクトです。これは、新しいコントラクトインスタンス(たとえば、異なるERC721実装)をデプロイするために使用され、アップグレード可能なコントラクトとビーコンプ代理のプロキシパターンを使用します。これは、ブループリントのバージョン管理とコントラクトタイプのデプロイをサポートし、ガス費用を節約します:Layer Zeroブリッジは、ブリッジコントラクトをブリッジするために全体のバイトコードを転送する必要はなく、ブループリント名とコンストラクタパラメータを使用してプロキシコントラクトストレージをインスタンス化するだけで済みます。

Collection Registryは、すべてのOmniteのERC721ネイティブおよび非ネイティブトークンの記録を保存します。サーバーがデプロイまたはブリッジされた各ERC721は、このレジストリに保存されます。各記録は、取り扱いの所有者、アドレス、および取り扱い名を保存します。CollectionRegistryは、入出力ブリッジリクエストを検証するために必要なデータを提供します。

Access Control List(ACL)は、どのコントラクトに他のコントラクトへのアクセス権を付与するか、特定のコントラクトに対してどの操作を許可するかを指定します。これはOpenZeppelinのAccessControlライブラリに基づいていますが、非EVMネットワークの処理構造をサポートするために拡張されています。

System Contextは、Omniteシステム内でスマートコントラクトを追跡し、コントラクトがコールバックを使用して処理の変化をサブスクライブできるようにします。たとえば、コールバックを使用してアドレスの変化を記録します。たとえば、ContractFactoryレジストリの新しいバージョンが設定されたとき、システムコンテキストはすべての関係者に通知します。

Native Tokensネイティブトークンは、Omnite取り扱いの作成者から直接デプロイされたコントラクトです。取り扱いの所有者は、プラットフォーム上で簡単に製造し、それらを接続できます。特定のネットワーク上では、各トークンのスマートコントラクトにはミント範囲があり、特定のIDにミントを制限します。ネイティブトークンはアップグレード可能なコントラクトとしてデプロイされます。

Non-native Tokens非ネイティブトークンは、Invisible Friends、Bored Apesなど、Omniteプラットフォームの外部にデプロイされたコントラクトです。これらはERC721メタデータインターフェースを実装する必要があります。これらのトークンをネットワーク間でブリッジするには、まずそれらをラッピングする必要があります。Omniteでそれらを製造することは不可能です。

4:プロトコルの費用と利益

Omniteプロジェクトは、そのマルチプラットフォームの性質により、多くのローカル通貨を使用した支払いメカニズムを備えています。ユーザーがサービスをリクエストするネットワーク(取り扱いの作成、トークンのミント、または別のネットワークへのトークンの送信)に応じて、支払いは元のネットワーク通貨で行われます。手数料は、すべてのサポートされているネットワーク上にデプロイされたウォレットコントラクトに累積されます。これらのコントラクトは資金の蓄積の金庫として機能し、Stargateプラットフォームを通じて他のトークンと交換できます。徴収された手数料は、このプロジェクトの利益であり、Stargateプラットフォームを介した送金および交換の手数料でもあります。閾値を超えると、手数料はOMNITEトークンに交換されます。この操作は、任意のエンティティによって開始できます。購入されたOMTsは、主要な利益コントラクトであるOmniteStakingに入ります。このコントラクトはOMTトークンを取り扱いトークンおよび報酬トークンとして使用します。コントラクト上のトークンをロックすることで、ユーザーは保有するトークンの数量を倍増させることができます。トークンはコントラクトで定められた比率で線形に各利益参加者に支払われます。報酬の発行率は、一定期間内のトークン数量のパーセンテージとして定義されます:たとえば、毎月流動資金プールの10%の報酬。

5:ケーススタディ:非ネイティブNFTのブリッジ

このセクションでは、Omniteプラットフォームの基本機能を実現する方法を簡単に説明します。この機能は、既存の取り扱いをブリッジし、ユーザーのトークンをターゲットブロックチェーンに送信します。今日のほとんどの既存の取り扱いは、ERC721Metadata標準に従ったOpenzeppelinのライブラリとコントラクトのセットに依存しています。このインターフェースは、名前、シンボル、tokenURIなどの基本フィールドと関数を公開します。彼らはOmniteエコシステム内の取り扱いを正しく管理する必要があります。ユーザーがOmniteプラットフォームにまだ持ち込まれていない取り扱いの特定のトークンを保持している場合、まずそれはOmniteのERC721ラッパーでラッピングされる必要があります。このラッパーは、プラットフォームで使用されるインターフェース形式のブリッジ(ITokenBridgeable)に従います。

Omniteプラットフォーム上のすべてのブリッジ可能なトークンは、このインターフェースを実装する必要があるため、ソースコントラクトをラッピングすることが重要です。このステップはマルチチェーンデプロイと共に実行されます。このステップには以下が含まれます:

  1. ソースネットワーク上にラッパーをデプロイ
  2. ターゲットネットワーク上にOmniteのERC721コントラクトをデプロイ

これらの2つの操作は、1回の取引で実行されます。リクエスターは、元のコントラクトアドレス、LayerZeroエコシステム内の特定のネットワークを識別するためのチェーンID、および各デプロイのgasAmount(ガス量は別々のリクエストで計算されます)を提供する必要があります。リクエストされた関数は支払い可能であり、ターゲットネットワークのガスコストはユーザーが送信した価値から差し引かれ、残りはユーザーに返されます。ターゲットネットワーク上にコントラクトをデプロイするために、Omniteのブリッジは、デプロイ操作のタイプ、デプロイするコントラクトタイプ、および取り扱いIDを含むメッセージをData構造体にエンコードします。取り扱いIDは、ブロックタイムスタンプとリクエスターアドレスをエンコードすることによって生成されます。次に、メッセージはターゲットブロックチェーン上のブリッジコントラクトに送信されます。メッセージはLayerZeroエンドポイントを介して送信され、Omniteブリッジを受信するために転送されます。ブリッジはデータをアンパックし、デプロイリクエストをContractFactoryに転送します。ContractFactoryは、デプロイとコントラクトバージョンに必要なすべてのデータを保存します。Omniteはビーコンプ代理を利用します:各新しいERC721は実際にはこのパターンに従ったコントラクトのセットです。これらはすべて1つのブループリント(ビーコンを介して)を共有し、必要に応じてアップグレードできます。UpgradableBeaconとコンストラクタパラメータを持つBeaconProxy(ERC721フィールドを持つ新しい取り扱いを初期化するために使用)をデプロイした後、新しい取り扱いはCollectionRegistryに登録されます。このレジストリは、Omniteスマートコントラクトによってデプロイまたはラッピングされたすべての取り扱いを保存する責任があります。

デプロイが完了した後、トークンのブリッジが可能になります。ラッパーがユーザーの資産を転送するために必要な承認取引の後、ブリッジが開始されます。この取引には以下が含まれます:

  1. ソースネットワーク上のトークンをロックする------資産がブリッジされるときに解放できます。これは、トークンを破棄するよりもはるかに安全なソリューションです。資産は常にロック解除された状態にあるため、トークンはそのスマートコントラクト上でロックされ、トークンがブリッジされるときに解放されます。

  2. ターゲットネットワーク上でトークンを生成するためのブリッジリクエスト。moveリクエストはCallData操作タイプとpackedDataバイトでパッケージ化されます。これには、ミントの関数セレクター、製造するトークンID、およびこのIDのトークンURIが含まれます。さらに、ガス数量値とメッセージ値が含まれ、デプロイ取引に似ています。ターゲットネットワークでメッセージを受信すると、ブリッジはデータをアンパックし、ターゲットERC721でミント機能を実行します。CollectionRegistryからトークンのアドレスを取得します。プロセスの最後に、ソースチェーンにはロック解除されたトークンがあり、ターゲットネットワークには新たに生成されたトークンがあります。ユーザーがトークンを戻すことを決定した場合、資産は再びロックされ、元の資産が解放されます。このプロセスは永久に実行可能です。特定のターゲットネットワークがロックされた資産を保持している場合、新しいものを作成する必要はありません。

6:市場互換性

Omniteスマートコントラクトは、主要なNFT市場と完全に互換性があるように設計されています。メタデータ標準に従うことで、Omniteプラットフォーム上で作成された各取り扱いにはメタデータURIと所有権管理があります。トークンがターゲットネットワークにブリッジされた後、ユーザーはNFTの所有者であり、完全に自由に管理できます。
それはOpensesa、Raribleなどでリストされることができます。トークンが販売された後、新しい所有者はOmniteプラットフォームを通じてそれをブリッジバックできます。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する