StarkNet上のAMM「Starkswap」がYearnと提携してローンチした「Iron Fleet」の概要・使い方について解説

どうも、でりおてんちょーです。

今回は、先日「Starkswap」というStarkNet上のAMMを提供するdappが、YearnというEthereumメインネット上のDeFiプロトコルと連携してローンチした「Iron Fleet」の概要・使い方について、紹介・解説していきたいと思います。

後述しますが、Iron FleetはStarkNet上のユーザーがアセットをレイヤー1のDeFiプロトコルに預ける際に、複数人でプールして転送することによって、コストを全員で分割する(一人当たりの手数料を減らす)ことを可能にするプロトコルを標榜しています。

※詳細は『「Iron Fleet」とは』項で解説します

現状、StarkNet上のdappはEthereum L1ネットワーク上のdappと繋げることが難しいため、本プロジェクトはコンポーザビリティの側面で注目に値するのではないかと思い、記事テーマとして選出いたしました。

ということで今回は「Iron Fleet」について取り上げていき、その概要や仕組み、使い方などを紐解いていくことで、その実態を理解していただくことを目的とします。

でははじめに、この記事の構成について説明します。

STEP
「Starkswap」とは

まずは、StarkNet上のAMM「Starkswap」についても紹介・解説していくことで、皆様の「Iron Fleet」についての理解促進を図ってまいります。

STEP
「Iron Fleet」とは

続いて、先日ローンチされた「Iron Fleet」の概要やその仕組み、使い方まで掘り下げて解説してまいります。

また、今回はStarkNet上のdappsを触るためのウォレットとして「Argent X」を使用します。
まだインストールされていない方は、以下記事を参考に下準備を済ませておいてください。

本記事が、Starkswap・Iron Fleetなどについて理解したいと思われている方にとって、少しでもお役に立てれば幸いです。

※本記事は特定のFT / NFTの購入を推奨するものではありません。あくまで勉強の一環としてご活用ください

今月のスポンサー:Yay! – WEB3時代のSNS「Yay!」でリサーチャー募集
目次

「Starkswap」とは

Starkswapについて既にご存知の方や、Iron Fleetに特化して情報を得たいという方は、『準備編(テストトークンの取得)』だけお済ませの上で、次の項まで読み飛ばしてください。

出典:starkswap.co

概要

Starkswapは、StarkNet上に構築されたpublicなAMMです。

以前、StarkNet上で稼働するAMMとして「mySwap」や「Jediswap」を紹介しましたが、それらと同じように以下を提供するdappです。

  • 異なるFT同士のスワップ機能
  • 異なる2つのFTによる流動性提供の機能

Starkswapでは、1スワップあたり0.3%の手数料がかかる仕様となっており、Goerli Testnetではこの手数料はすべて流動性プロバイダーに支払われます。

また、流動性プールはStarkswap V1での取引を促進する基本的なメカニズムとなっており、各プールは2つのトークンで構成され、UniswapのようにXY=Kカーブで取引されます。

準備編(テストトークンの取得)

テストネット上にあるStarkswapを使用するためには、faucetなどを通してテストトークンを取得しておく必要があります。

出典:starkswap.co/app/faucet

まずは①webサイトの「Faucet」をクリックし、②BARとLANという2種類のトークンを100枚ずつ選択したら、③「Mint」をクリックしてトランザクションに署名します。

100枚ずつmintしている理由は、執筆時点で一度当たりの最大mint枚数が100枚までという仕様だからです。

また、今回使用するテストトークンをArgent Xに追加しておく必要があるので、以下の手順で追加しておきましょう。

  1. Argent Xを開く
  2. 一番下までスクロールして「Add token」をクリック
  3. 下に記載している『LAN address』『BAR address』をそれぞれコピペして「Continue」をクリック
  4. 『LAN』『BAR』がそれぞれ表示されるようになれば完了
  • LAN address:
    • 0x02a844fa9872228579fafc521f377015d8a0fc7438746638eed8c9cf863fef78
  • BAR address:
    • 0x00e417692a0bd68d7014ed8283cfbbc5e15cd955c95644607a023c4d433839a3
  • yvLan address(※Iron Fleetで使用):
    • 0x0775d806ac0f3f57446f150c25a8ee569f62ce0486e034b42490e1a42525ae23

以上で準備は完了なので、次の節からSwap・Add liquidity(流動性提供)と順にやっていきましょう。

Swap編

出典:starkswap.co/app/swap

執筆時点において、StarkNetのアルファテストネット(Goerliテストネット)上に構築されているdappは非常に低速かつ不安定です。そのため、トランザクションに署名した後に長い待ち時間が発生したり、署名がrejectされるケースなどが予想されますが、気長に待機・トライしてみる寛容な心を持ち合わせておきましょう。

今回筆者は、以下のような条件でSwapを試してみたいと思います。

  • Swap元トークンを『LAN』にして20枚を指定
  • Swap先トークンを『BAR』にする
出典:starkswap.co/app/swap

『BAR』の枚数が自動で表示されたら、「Swap」→「Confirm Swap」→「Sign」をクリックして、トランザクションに署名します。

しばらく待機してトランザクションが承認されたら、各トークンの枚数が変化していることを確認して、Swap編は終了となります。お疲れ様でした。

Add liquidity(流動性提供)編

出典:starkswap.co/app/pool/all

続いては、2種類のトークンをAdd liquidity(流動性提供)してみましょう。

画面上部のメニューバーから①「Pool」を選択し、②「LAN-BAR欄にある+マーク」をクリックします。

出典:starkswap.co/app/pool/all/deposit

今回筆者は、『上側の「LAN」を100枚で指定』という条件でAdd liquidityを試してみたいと思います。

「BAR」の枚数が自動で表示されたら、「Deposit」→「Confirm Deposit」→「Sign」をクリックして、トランザクションに署名します。

しばらく待機してトランザクションが承認されたら、下画像のように「My Pool」にポジションが表示されていることを確認して、Add liquidity編は終了となります。お疲れ様でした。

出典:starkswap.co/app/pool/mypools

「Iron Fleet」とは

出典:ironfleet.xyz

概要

出典:Medium

Iron Fleetは、先程の項でご紹介したStarkswapが、Yearnと提携してローンチしたプロダクトになります。

Iron Fleetは完全にトラストレスで、分散型、そして最も重要な要素としてコンポーザブルであることを強調しています。

これは、StarkNet上にある他のプロトコルが、Iron Fleetを活用してネイティブなレイヤー1のyieldを組み込めることを意味し、これまでStarkNetのエコシステムには存在しなかった強力な機能であるとしています。

一般的に、Ethereum(レイヤー1)上でYearnなどのDeFiを利用する場合は、gas代をそれぞれのユーザーが負担する必要があります。

昨今ではgas代高騰などの理由から大きく問題視されており、これを解決するためにStarkNetやOptimismなどEthereumのL2(レイヤー2)が注目を集めているといった背景があります。

Iron Fleetは、StarkNet上のユーザーがアセットをレイヤー1のDeFiプロトコルに預ける際に、複数人でプールして転送することによって、コストを全員で分割する(一人当たりの手数料を減らす)ことを可能にするプロトコルであると謳っています。

本プロジェクトではアセットをcargo(貨物)と例えており、cargoをまとめてStarkNetネットワーク(L2)からL1に転送することで、船のcrew(乗員)で分割して手数料を負担するという仕組みです。

つまり、船に乗るユーザーが多ければ多いほど、入金/出金を行う場合のgas代がほぼ0に近づいていきます。

しかし、上記に加えてStarkNetにはレイヤー2で掛かる少額の手数料があるため、ユーザーはプロトコルに入金するためにこれを支払う必要があります。テストネット上ではこれらの手数料は0ですが、StarkNetが手数料を導入すればメインネットでは変更される可能性があります。

出典:starkswap.notion.site

L2からL1への転送フロー詳細は以下です。

  1. ユーザーはトークンを「オープンな船」にdepositします
  2. L2提督(Admiral)は、ユーザー/Keeperが現在の船を発進させるまで、depositを蓄積しておきます
  3. L2提督は、StarkGate経由でL1に②のdeposit分をまとめて転送します
  4. Keeperはブリッジイベントを監視し、L1提督がStarkGateから全ての船をwithdrawさせるよう促します
  5. L1提督はYearn に全額を入金し、yvTokenを受け取り、StarkGate経由でL2提督に送り返します
  6. L2提督は、乗船人数に応じてyvTokenをユーザーに分配し、そこからgas代を差し引きます

なお余談ですが、執筆時点ではStarkswapのトークンに関する情報がないのと同様に、Iron Fleetのトークンに関する詳細も発表されていません。

Iron Fleetをテストしてみる

執筆時点において、StarkNetのアルファテストネット(Goerliテストネット)上に構築されているdappは非常に低速かつ不安定です。

そのため、トランザクションに署名した後に長い待ち時間が発生したり、署名がrejectされるケースなどが予想されますが、気長に待機・トライしてみる寛容な心を持ち合わせておきましょう。

参考:Testing Iron Fleet

Cargo(貨物)の追加

出典:ironfleet.xyz

執筆時点でIron fleetは、Goerliテストネット上のLAN・yVaultの2つのトークンの入金/出金に対応しています。

上写真のように、画面上部のスイッチ(DEPOSIT / WITHDRAW)でどちらの動作を行うか選択します。

入出金のフローは、cargoの種類が異なることを除けば非常によく似ているため、本記事では「DEPOSIT」の方だけを試していきます。

出典:ironfleet.xyz

「レイヤー1のYearnへ向かうオープンな船」にcargoを追加するためには、入金する金額(今回は10LAN)を入力し、「ADD」ボタンをクリックするだけです。

表示されたArgent Xのポップアップから、トランザクションに署名して承認されるまでしばらく待ちます。

出典:ironfleet.xyz

上画像のようにトランザクション承認画面が表示されたら成功の合図です。

少し下の方にスクロールしてみると、以下のピンク線のように表示されているかと思います。

出典:ironfleet.xyz

STATUSが「At Sea」になっていますが、これがレイヤー1へ転送するための待機中を表していて、「Finalised」になると転送完了という意味になります。

その右にある「CREW」が船の乗員の数を表しており、今回は8人でレイヤー1でかかるgas代を分割することになります。

「CARGO」は船に積んでいるアセットの種類を指しており、「MY CARGO」はその内の自分が積んでいるアセットの量を表しています。

出発(depart)のトリガー

出典:ironfleet.xyz

「DEPART」ボタンをクリックすると、現在オープンになっている船がL1へと出港します。

つまり、先ほどは他の誰かが「DEPART」ボタンをクリックしてトランザクションに署名したことで、L1へと出向したことになります。

出航後は、新しい船がオープンし、新しい乗組員やcargoを受け入れることができる状態になります。

では試しに今度は、自身で「DEPART」ボタンをクリックしてトランザクションに署名してみます。

出典:ironfleet.xyz

上画像のようにトランザクション承認画面が表示されたら、L1への出港成功の合図です。

今回は、筆者の50LANともう一方の500LAN合わせて2名分のCARGOが乗せられていたので、後ほどこの2人によってレイヤー1でかかるgas代を分割することになります。

なお、StarkNetでは現状ガス代がかからない設計なのでtestnetでは出発のトリガーは無料ですが、将来的には、この操作にガス代がかかるようになると言われています。

出典:starkswap.notion.site

誰でも出発のトリガーを利用できるようになりますが、多くのユーザーにとって上図の「Keeper」がこの機能を起動するのを待つことが、インセンティブ設計としては望ましいと考えられます。

STATUSが「At Sea」のまま動かない場合

執筆時点では、StarkNetは数時間ごとにEthereumにデータを書き込む仕様となっています。

この「数時間ごと」の待ち時間のあいだ、船は「at sea」のステータス、つまりpendhing状態ということになります。

出典:ironfleet.xyz

これは現状ではシステムの予想される動作であるものの、将来的にメインネットでは待ち時間はもっと短くなる予定となっているそうです。

もし、出港した船が1日以上「at sea」ステータスから動かない場合は、Discordでサポートを求めてみてください。

まとめ

今回は、先日「Starkswap」というStarkNet上のAMMを提供するdappが、YearnというEthereumメインネット上のDeFiプロトコルと連携してローンチした「Iron Fleet」の概要・使い方について、紹介・解説しました。

本記事が、Starkswap・Iron Fleetなどについて理解したいと思われている方にとって、少しでもお役に立ったのであれば幸いです。

また励みになりますので、参考になったという方はぜひTwitterでのシェア・コメントなどしていただけると嬉しいです。

また、執筆時点においては、筆者自身もEthereumのL2周りのアプリケーションについて、リサーチしながら触りつつ勉強している状況です。

今後も、EthereumのL2周りの情報は積極的に記事化していきたいと考えていますので、ご意見ご要望などございましたらお気軽にご連絡いただけると嬉しいです。

最後に、Starkswap・Iron Fleet・StarkNetなどについて

  • 聞いてみたいことがある
  • 分からない部分がある
  • もっと多くの情報が知りたい

という方は、Discordコミュニティ「イーサリアムnavi」にご参加ください!

イーサリアムnaviのDiscordコミュニティには

  • Solidityを勉強したい・既に勉強している
  • 開発に興味がある
  • NFTが好き・興味がある

といった方々がたくさん集まっており、日々NFTや開発に関する情報を共有したり、不定期で勉強会などイベントも開催しています。

また、Twitter・YouTubeでの情報発信にも力を入れていますので、合わせてフォローしていただけると幸いです。


今月のスポンサー:Yay! – WEB3時代のSNS「Yay!」でリサーチャー募集

Yay!

匿名コミュニティYay!がリサーチャーを募集中です。

誰もが素が出せて、フラットで、他人に寛容なバーチャルワールドを作っています。

この冬IEOを目指しています。一緒にサスティナブルな経済圏を作っていきましょう!

励みになるので、よかったらSNSなどでシェアしてください!

この記事を書いた人

最先端のCryptoネイティブなNFTプロジェクト、SolidityなどWeb3開発情報、その他Ethereum周りの情報などを中心に発信しています。

リサーチャーやアドバイザー含むお仕事のご依頼や、イーサリアムnaviに対する広告掲載など、お気軽にご連絡ください。

目次
閉じる