元記事「Introduce the New Features of Zenlink Protocol v0.4.1」
Polkadotコミュニティのバーチャルカンファレンス「Polkadot Decoded」でPolkadotの創設者Gavin Woodが公開した最新情報によると、Kusamaは来週にもパラチェーンオークションを開始するとのことです。Zenlinkは、Polkadotの公式な開発状況(頻繁にアップデート)を注視し、Zenlinkプロトコルの改良に努めてきました。この度、Zenlink Protocol v0.4.1がリリースされ、このバージョンを統合してテストするパートナー企業を募集しています。
本記事では、Zenlink Protocol v0.4.1の新機能やデザインの詳細について紹介し、コミュニティの皆様にZenlink Protocol v0.4.1とZenlink自体の両方をより理解していただくことを目的としています。
Zenlinkプロトコルのコア・アーキテクチャについて
Zenlinkプロトコルは主に二つの部分から構成されています。 Zenlink Assets
と Zenlink Actions
です。Zenlinkプロトコルの最新バージョンであるv0.4.1では、チェーン上のあらゆるアセットの交換(Swap
)とクロスチェーン転送( Transfer By XCM
)を実現することが可能になります。
Zenlink プロトコル v0.4.1 特徴
- 最新のXCMプロトコル設計に準拠
最近、GavinはXCMプロトコルを再構築すると発表し、XCMのリファクタリングのToDoリストをGithubで公開していました。ZenlinkはPolkadot XCMの最新の動向を追いながら、Zenlink Protocolの開発をバージョンアップしてきました。Zenlink Protocol v0.4.1では、最新のXCMプロトコルに基づき、パラチェーン間の自由なアセット交換を実現しました。 - FRAMEv2開発仕様に準拠
Zenlinkプロトコルv0.4.1では、最新のFRAMEv2開発仕様に準拠して開発を行っています。 - 設定可能なスワップレート(取引手数料)
スワップレート(取引手数料)の設定について、Zenlink Protocol v0.4.1では、インテグレーターごとにカスタマイズしたスワップレート設定を実現しました。最初の公開テストではスワップレートが0.3%に固定されているため、パートナーからは、スワップレートが設定可能であれば、スワップ機能の導入の柔軟性が向上するという意見がありましたが、Zenlink Protocol v0.4.1では、この問題を非常にうまく解決しています。 - Polkadot XCMPのクロスチェーンアセット処理に対応
Zenlink Protocol v0.4.1は、設計上Polkadot XCMPのクロスチェーン資産処理と互換性があり、Zenlinkのクロスチェーン資産処理用のTransactorが別途用意されますので、他のクロスチェーン資産モジュールと共存が可能です。 - Zenlinkプロトコルホワイトリスト登録-XCMトラストコレクション管理
実際の導入時には、Zenlinkプロトコルv0.4.1ではパラチェーンプロジェクトのホワイトリスト登録メカニズムを提供し、パラチェーン間で自由にアセットが行き来できるようにする予定です。 - Transfer-By-XCMによりパラチェーン間の資産移動が自由に
Zenlinkプロトコルv0.4.1では、Transfer-By-XCMモジュールを再構築し、ユーザーが任意のパラチェーン間で資産を転送できるようになりました。これはSwapモジュールと分離することができ、ユーザーの資産運用を大幅に豊かにすると同時に、Zenlinkインテグレーターに多くの選択肢を与えています。
以下の機能は、より具体的なプロトコルの実装に関わるため、ここでは詳細な説明を省略します。
- ZenlinkMultiAssets アダプタには
Lquidily
とForeign
の処理が付属しており、NATIVE/LOCAL/RESERVE
などのさまざまなネイティブ資産に適応させることができます。 - LocalAssetHandler、OtherAssetHandlerなどのtraitを提供し、
LOCAL
やRESERVE
などのローカルに定義されたアセットをサポートします。 MultiAssetsHundler
の制御下にあるアセットは、自由に変換可能です。
統一資産識別子(Uniform Asset Identifier) UAI v0.1.0
以前のバージョンでは、Zenlink は Polkadot parachain でユニークなアセットを識別するためにトリプル( chain + module_index + asset_index
)を使用していました。繰り返しの中で、2番目のフィールドであるmodule_indexにより正確で具体的な意味を持たせ、統一資源識別子(Uniform AssetId Identifier, UAI
)に抽象化し、現在のバージョンv0.1.0が完成しました。
UAI v0.1.0 定義
pub struct AssetId {
pub chain_id: u32, // Parachain ParaId
pub asset_type: u8, // Asset classes supported by Zenlink
Assets
pub asset_index: u32, // Index number of the asset
}
asset_type
は現在、以下の値のみをサポートしています。
/// Native currency, The most basic assets on each Parachain
pub const NATIVE: u8 = 0;
/// Swap module asset, LP token generated by Zenlink DEX
pub const LIQUIDITY: u8 = 1;
/// Other asset type on this chain, Other asset modules on the native chain
pub const LOCAL: u8 = 2;
/// Reserved for future, Type of assets set aside
pub const RESERVED: u8 = 3;
UAI v0.1.0 では、Zenlink Assets
は最大 4 つのローカル定義アセットをサポートしています。native/liquidity/local/reserved
の 4 種類です。これら4種類のアセットをチェーン間で転送する場合、Zenlinkプロトコル内でクロスチェーン対応アセットクラスForeign
が生成され、クロスチェーンでのアセット転送前後でアセットのUAI
が変化しないようにすることができます。
Swap and Transfer-By-XCM
- 4つのオリジナル定義アセット(
NATEVE/LIQUIDITY/LOCAL/RESERVED
)とクロスチェーンにマッピングされたアセット(Foreign
)の間で、MultiAssetsHandler
を介してアセットを交換することができます。 - 4つのネイティブ定義アセット(
NATIVE/LIQUIDITY/LOCAL/RESERVED
)がTransfer-By-XCM
を介してチェーン間で転送され、マップされたアセットForeign
が生成されます。このアセットも、ターゲットパラチェーン上でTransfer-By-XCM
を介してチェーンをまたいで、そのアセットのネイティブ定義チェーンに転送しなおされます。
備考
クロスチェーンでの資産移転(Transfer-By-XCM
)には、登録ホワイトリストにあるパラチェーン間で HRMP Channel
を開設する必要があります。
概要
Zenlink Protocol v0.4.1 は主に最新の Polkadot v0.9.1 コードに適応し、最新のパラチェーンに迅速に統合する機能を持ち、内部ルーティングと資産表示方式を最適化して外部の公開インターフェースを抽出して統一しています。
設定可能なスワップレート(取引手数料)、Polkadot XCMPクロスチェーン資産処理との互換性、Zenlinkプロトコル登録ホワイトリストの提供などの新機能により、Zenlinkの柔軟性と汎用性は大幅に向上します。
同時に、WASM版のZenlink Protocol v0.4.1もバージョンアップし、ZenlinkもそもそもWASMのコントラクトパラチェーンに展開できるようになり、プラットフォームの適用性が大きく向上しています。
上記はZenlink Protocol v0.4.1の主な設計内容です。Zenlinkに関するより詳細な技術情報はGithubに掲載されており、メインネットローンチの前後にオープンソース化する予定です。
Zenlinkコミュニティに参加しましょう!
📍 — DEX DAPP | Website | Twitter| Github | Discord | Telegram EN | Telegram CN | Announcements Channel
📚 — Whitepaper | Tokenomics