今回は、先日「Starkswap」というStarkNet上のAMMを提供するdappが、YearnというEthereumメインネット上のDeFiプロトコルと連携してローンチした「Iron Fleet」の概要・使い方について、紹介・解説していきたいと思います。
https://t.co/n21Ryoli4A @starkswap is proud to introduce Iron Fleet together with our friends at @iearnfinance 🚢
— Starkswap (@starkswap) May 9, 2022
後述しますが、Iron FleetはStarkNet上のユーザーがアセットをレイヤー1のDeFiプロトコルに預ける際に、複数人でプールして転送することによって、コストを全員で分割する(一人当たりの手数料を減らす)ことを可能にするプロトコルを標榜しています。
現状、StarkNet上のdappはEthereum L1ネットワーク上のdappと繋げることが難しいため、本プロジェクトはコンポーザビリティの側面で注目に値するのではないかと思い、記事テーマとして選出いたしました。
ということで今回は「Iron Fleet」について取り上げていき、その概要や仕組み、使い方などを紐解いていくことで、その実態を理解していただくことを目的とします。
でははじめに、この記事の構成について説明します。
まずは、StarkNet上のAMM「Starkswap」についても紹介・解説していくことで、皆様の「Iron Fleet」についての理解促進を図ってまいります。
続いて、先日ローンチされた「Iron Fleet」の概要やその仕組み、使い方まで掘り下げて解説してまいります。
本記事が、Starkswap・Iron Fleetなどについて理解したいと思われている方にとって、少しでもお役に立てれば幸いです。
※本記事は一般的な情報提供を目的としたものであり、法的または投資上のアドバイスとして解釈されることを意図したものではなく、また解釈されるべきではありません。ゆえに、特定のFT/NFTの購入を推奨するものではございませんので、あくまで勉強の一環としてご活用ください。
イーサリアムnaviの活動をサポートしたい方は、「定期購読プラン」をご利用ください。
「Starkswap」とは
Starkswapについて既にご存知の方や、Iron Fleetに特化して情報を得たいという方は、『準備編(テストトークンの取得)』だけお済ませの上で、次の項まで読み飛ばしてください。
概要
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などを通してテストトークンを取得しておく必要があります。
まずは①webサイトの「Faucet」をクリックし、②BARとLANという2種類のトークンを100枚ずつ選択したら、③「Mint」をクリックしてトランザクションに署名します。
また、今回使用するテストトークンをArgent Xに追加しておく必要があるので、以下の手順で追加しておきましょう。
- Argent Xを開く
- 一番下までスクロールして「Add token」をクリック
- 下に記載している『LAN address』『BAR address』をそれぞれコピペして「Continue」をクリック
- 『LAN』『BAR』がそれぞれ表示されるようになれば完了
- LAN address:
- 0x02a844fa9872228579fafc521f377015d8a0fc7438746638eed8c9cf863fef78
- BAR address:
- 0x00e417692a0bd68d7014ed8283cfbbc5e15cd955c95644607a023c4d433839a3
- yvLan address(※Iron Fleetで使用):
- 0x0775d806ac0f3f57446f150c25a8ee569f62ce0486e034b42490e1a42525ae23
以上で準備は完了なので、次の節からSwap・Add liquidity(流動性提供)と順にやっていきましょう。
Swap編
今回筆者は、以下のような条件でSwapを試してみたいと思います。
- Swap元トークンを『LAN』にして20枚を指定
- Swap先トークンを『BAR』にする
『BAR』の枚数が自動で表示されたら、「Swap」→「Confirm Swap」→「Sign」をクリックして、トランザクションに署名します。
しばらく待機してトランザクションが承認されたら、各トークンの枚数が変化していることを確認して、Swap編は終了となります。お疲れ様でした。
Add liquidity(流動性提供)編
続いては、2種類のトークンをAdd liquidity(流動性提供)してみましょう。
画面上部のメニューバーから①「Pool」を選択し、②「LAN-BAR欄にある+マーク」をクリックします。
今回筆者は、『上側の「LAN」を100枚で指定』という条件でAdd liquidityを試してみたいと思います。
「BAR」の枚数が自動で表示されたら、「Deposit」→「Confirm Deposit」→「Sign」をクリックして、トランザクションに署名します。
しばらく待機してトランザクションが承認されたら、下画像のように「My Pool」にポジションが表示されていることを確認して、Add liquidity編は終了となります。お疲れ様でした。
「Iron Fleet」とは
概要
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が手数料を導入すればメインネットでは変更される可能性があります。
L2からL1への転送フロー詳細は以下です。
- ユーザーはトークンを「オープンな船」にdepositします
- L2提督(Admiral)は、ユーザー/Keeperが現在の船を発進させるまで、depositを蓄積しておきます
- L2提督は、StarkGate経由でL1に②のdeposit分をまとめて転送します
- Keeperはブリッジイベントを監視し、L1提督がStarkGateから全ての船をwithdrawさせるよう促します
- L1提督はYearn に全額を入金し、yvTokenを受け取り、StarkGate経由でL2提督に送り返します
- L2提督は、乗船人数に応じてyvTokenをユーザーに分配し、そこからgas代を差し引きます
Iron Fleetをテストしてみる
執筆時点において、StarkNetのアルファテストネット(Goerliテストネット)上に構築されているdappは非常に低速かつ不安定です。
そのため、トランザクションに署名した後に長い待ち時間が発生したり、署名がrejectされるケースなどが予想されますが、気長に待機・トライしてみる寛容な心を持ち合わせておきましょう。
Cargo(貨物)の追加
執筆時点でIron fleetは、Goerliテストネット上のLAN・yVaultの2つのトークンの入金/出金に対応しています。
上写真のように、画面上部のスイッチ(DEPOSIT / WITHDRAW)でどちらの動作を行うか選択します。
「レイヤー1のYearnへ向かうオープンな船」にcargoを追加するためには、入金する金額(今回は10LAN)を入力し、「ADD」ボタンをクリックするだけです。
表示されたArgent Xのポップアップから、トランザクションに署名して承認されるまでしばらく待ちます。
上画像のようにトランザクション承認画面が表示されたら成功の合図です。
少し下の方にスクロールしてみると、以下のピンク線のように表示されているかと思います。
STATUSが「At Sea」になっていますが、これがレイヤー1へ転送するための待機中を表していて、「Finalised」になると転送完了という意味になります。
その右にある「CREW」が船の乗員の数を表しており、今回は8人でレイヤー1でかかるgas代を分割することになります。
「CARGO」は船に積んでいるアセットの種類を指しており、「MY CARGO」はその内の自分が積んでいるアセットの量を表しています。
出発(depart)のトリガー
「DEPART」ボタンをクリックすると、現在オープンになっている船がL1へと出港します。
つまり、先ほどは他の誰かが「DEPART」ボタンをクリックしてトランザクションに署名したことで、L1へと出向したことになります。
出航後は、新しい船がオープンし、新しい乗組員やcargoを受け入れることができる状態になります。
では試しに今度は、自身で「DEPART」ボタンをクリックしてトランザクションに署名してみます。
上画像のようにトランザクション承認画面が表示されたら、L1への出港成功の合図です。
今回は、筆者の50LANともう一方の500LAN合わせて2名分のCARGOが乗せられていたので、後ほどこの2人によってレイヤー1でかかるgas代を分割することになります。
誰でも出発のトリガーを利用できるようになりますが、多くのユーザーにとって上図の「Keeper」がこの機能を起動するのを待つことが、インセンティブ設計としては望ましいと考えられます。
STATUSが「At Sea」のまま動かない場合
執筆時点では、StarkNetは数時間ごとにEthereumにデータを書き込む仕様となっています。
この「数時間ごと」の待ち時間のあいだ、船は「at sea」のステータス、つまりpendhing状態ということになります。
これは現状ではシステムの予想される動作であるものの、将来的にメインネットでは待ち時間はもっと短くなる予定となっているそうです。
もし、出港した船が1日以上「at sea」ステータスから動かない場合は、Discordでサポートを求めてみてください。
まとめ
今回は、先日「Starkswap」というStarkNet上のAMMを提供するdappが、YearnというEthereumメインネット上のDeFiプロトコルと連携してローンチした「Iron Fleet」の概要・使い方について、紹介・解説しました。
本記事が、Starkswap・Iron Fleetなどについて理解したいと思われている方にとって、少しでもお役に立ったのであれば幸いです。
また励みになりますので、参考になったという方はぜひTwitterでのシェア・コメントなどしていただけると嬉しいです。
🆕記事をアップしました🆕
— イーサリアムnavi (@ethereumnavi) May 18, 2022
今回は、先日StarkswapがYeranと連携してローンチした「Iron Fleet」を中心に書きました✍️
⛴Starkswapの概要・使い方
⛴Iron Fleetの概要・使い方
についてまとめたので、StarkNet上のdappについてキャッチアップする際にぜひご参考ください🌊https://t.co/T620rkT2rn
また、執筆時点においては、筆者自身もEthereumのL2周りのアプリケーションについて、リサーチしながら触りつつ勉強している状況です。
今後も、EthereumのL2周りの情報は積極的に記事化していきたいと考えていますので、ご意見ご要望などございましたらお気軽にご連絡いただけると嬉しいです。
イーサリアムnaviを運営するSTILL合同会社では、web3/crypto関連のリサーチ代行、アドバイザー業務、その他(ご依頼・ご提案・ご相談など)に関するお問い合わせを受け付けております。
まずはお気軽に、こちらからご連絡ください。
- 法人プランLP:https://ethereumnavi.com/lp/corporate/
- Twitter:@STILL_Corp
- メールアドレス:info@still-llc.com