2017年はICOブーム、2021年はDeFiセクターとNFTの急速な成長に伴い、現在のサイクルでは、memeトークンが主導権を握っている。 2024年1月、プロジェクト pump.fun がソラナ・ブロックチェーンで開始され、ユーザーはできるだけ迅速かつ安くトークンを作成することができます。 しかし、ほとんどのメームトークンは急速な成長を経験し、それに続いてさらに急速な減少を経験します。 リリースパッドからDEXに流動性を転送するとき、コミュニティが成長するにつれて、価格の発展は一般的に次のパターンに従うべきです。 しかし、実際には、それはこんなふうに現れます: 私の見解では、これは市場がゼロサムゲームの原則に基づいて動いているという事実によるものであるが、DEXにおける流動性プールの使用と、一致する対決なしで販売する能力により、供給と需要のバランスが歪曲される。 これを改善する方法についてのアイデアは、アルゴリズムのstablecoins、特にTerra Lunaを分析した後、私に届きました。 In the case of UST’s price falling below $1, the Debase algorithm was triggered, allowing traders to exchange 1 UST for 1 LUNA. During this process, UST was burned while new LUNA was minted. When UST’s price rose above $1, the Rebase algorithm activated, where LUNA was burned and, conversely, new UST was minted. しかし、生態系全体は、その保証の内因性(チェーン上)の性質に根ざした「死のスパイラル」に直面しました。アルゴリズムの違いにもかかわらず、Basis CashやEmpty Set Dollarのようなプロジェクトは、内部保証に頼ることで、同様の問題を引き起こし、最終的に崩壊しました。 対照的に、DAIの例では、外部(オフチェーン)の担保も脆弱であることが示されています:ETHが1日で50%近く崩壊したとき、システムは危険にさらされました。 On-chain Off-chain Type of collateral Algorithmic issuance Collateral of crypto assets Exchange rate adjustment Arbitrage exchange Dynamic stability fees Risk Death spiral Liquidation of collateral Type of collateral アルゴリズム発行 暗号資産の保証 Exchange rate adjustment 仲裁交換 ダイナミック安定性料金 Risk 死のスピラル コラボレーションの清算 2種類の担保を比較した後、私は価格を支えるために、長いプールとは独立した短い流動性を持つ別々のプールを作成する必要があるという結論に達しました。 このプロトコルは、流動性をDEXに移転することに加えて、特別にショートポジションを開設するための流動性もプロトコルに追加されます。 そこから、いくつかのシナリオが可能である: Both pools grow — which means someone is opening a short position. This is where the first advantage of the idea becomes evident: increased market transparency. If demand exceeds supply, that’s a natural market situation. Similarly, when supply exceeds demand, it’s also part of normal market dynamics. In the case of a sharp change in the long pool — so drastic that even the label doesn’t fit — a rebalancing algorithm can be activated. As a result, the price returns to equilibrium through the participation of the short pool, without an seller. バランスを戻すアルゴリズムが機能するためには、以下のことが必要です。 特定期間中の価格変動の何パーセントが「異常な」市場変動とみなされるかを定義する。 価格を継続的に監視するため、 指定された条件が満たされると、システムを操作から保護するために、そのサイズを特定のパーセントまで単一のサイクルに制限し、再バランスを実行します。 この記事では、このメカニズムの主要なコンポーネントの1つについて、Solidityを使用してEVM対応ブロックチェーンのための短い流動性プールを作成することを詳しく見ていきます。 準備 プロトコルはユーザー資金の処理であり、我々はOpenZeppelinの資金を輸入する。 そして 契約、および Chainlink から資産価格の調達に関する契約。 Ownable ReentrancyGuard シンプルさのために、Ethereum MainnetでWBTCとWETHトークンを使用しますが、理想的には、スマート契約の展開時に利用可能なトークンのリストを定義する必要があります。 契約をより拡張可能にするために、我々はAを追加します。 サポートされているトークンの場合、キーはトークンのアドレスであり、値は関連する Chainlink 価格フィード契約のアドレスである。 mapping また、ユーティリティ関数を追加するためのユーティリティ関数も実装しましょう。 セキュリティを強化するために、すでに追加されたトークンの Oracle 契約アドレスの更新を防止します。 mapping ポジションを設定するには、A キーがユーザのアドレスであり、値は以下を含む構造の数列である。 mapping トークンアドレス オープンおよび閉店価格 位置サイズ 現状(オープン、閉鎖、清算) オープンポジション このプロトコルでは、価格はUSDで定義されるので、価値正常化のための内部機能が必要になります。 ドルでのオープニング価格を取得するには、まず現在のETH価格とトークン価格のオラクルをクエリし、両方の値を正常化し、その後ポジションサイズを計算します。 使用するイベントを放送する . mapping emit 立場を閉じる ポジションの閉鎖と清算の論理を統一するには、ポジションの現在の状態をチェックする修正子を作成します。 また、撤回金額と閉鎖価格を計算するためのヘルパー機能を作成します。 次に、ポジションを閉じるときには、2つの可能なシナリオがあります。 If the user is eligible to receive funds back, we set the closing price and withdraw funds to the user. If the position must be liquidated (for example, due to insufficient collateral), the position is marked as liquidated without transferring funds. 清算の際の閉鎖価格の位置保持者として、最大限の 価値が使える。 uint256 この実装は単純化されているため、必要に応じて定期的な価格チェックや自動清算のために Chainlink または Gelato を使用して自動化を追加する方が良いでしょう。 これをサポートするために、清算関数は、どのポジションが清算されるべきかを指定するパラメータとしてユーザーのアドレスを受け入れなければならない。 結論 この記事では、短い流動性プールについての仮説を共有し、EthereumブロックチェーンのSolidityの基本的な実装を提案しました。 完全なコードはこちらで入手可能 . GitHub