晩上 WTF が uniswap-v4 共読を投稿したので、v4 の最新バージョンの特徴を調べました。皆さんの補足と一緒に研究してください。
Uniswap v4 の特徴は以下の通りです:
-
フックとカスタムプール:v4 では、「フック」(hooks)が導入され、プール操作のライフサイクルの各ノードで実行される契約です。これにより、開発者は Uniswap プロトコルの流動性とセキュリティの上にイノベーションを行うことができ、v4 のスマートコントラクトと統合されたフックを使用してカスタムの AMM プールを作成することができます。各プールは独自のフックスマートコントラクトを使用でき、フックはプールの作成時にのみ特定の権限で制限されることができます。
-
アーキテクチャの改善とガスの節約:v4 では、新しい「シングルトン」コントラクトが導入され、すべてのプールが 1 つのスマートコントラクト内にあります。これにより、コストを削減し効率を向上させることができます。初期の見積もりによると、v4 はプールの作成コストを 99%削減しました。さらに、v4 では新しい「フラッシュアカウンティング」システムも導入されており、資産をプールに入出金する代わりに、ネット残高のみで転送するため、システムがより効率的になり、Uniswap v4 に追加のガス節約をもたらしています。
-
ダイナミックな手数料と注文制限:v4 では、動的な手数料をサポートするプールを作成し、オンチェーンで注文制限を追加したり、時間加重平均市場メーカー(TWAMM)として大口注文を分散させることができます。プール作成者は、最も競争力のある手数料レベルを設定したり、動的な手数料フックを使用してカスタマイズしたりすることができます。v4 では、ローカル ETH のサポートも復元され、追加のガス節約が提供されます。
-
ライセンスとガバナンス:Uniswap v4 のコードは Business Source License 1.1 で公開され、商業または生産環境での v4 ソースコードの使用を制限します。制限は最大で 4 年間続き、その後は永久に GPL ライセンスに変換されます。v3 と同様に、Uniswap のガバナンスと Uniswap Labs はライセンスに例外を設けることができます1。
フックのライフサイクルは以下の図の通りです:#
Uniswap v4 でプールを作成する際、ユーザーはフックコントラクトを指定することができます。このフックコントラクトは、プールの実行中に呼び出されるカスタムロジックを実装します。
Uniswap v4 では、現在 8 つのフックコールバックがサポートされています:
- beforeInitialize/afterInitialize
- beforeModifyPosition/afterModifyPosition
- beforeSwap/afterSwap
- beforeDonate/afterDonate
フックコントラクトのアドレスは、どのフックコールバックが実行されるかを決定します。これにより、必要なコールバックを指定するためのガス効率の高い方法が作成され、アップグレード可能なフックでも特定の不変条件を守ることができます。有効なフックを作成するための最低限の要件があります。
アーキテクチャの改善とガスの節約#
Uniswap v4 は、ガス効率と開発者体験を向上させるために、いくつかの新しいアーキテクチャと最適化を導入しています。これらの最適化には、次のようなものがあります:
- シングルトンモード:
Uniswap v4 は、重複するコードとストレージのコストを削減するためにシングルトンモードを使用しています。シングルトンモードにより、複数のコントラクトが同じストレージスペースを共有できるため、ストレージのコストが削減されます。 - フラッシュアカウンティング:
フラッシュアカウンティングは、バランスの変化を一時的なストレージに記録する最適化技術であり、ストレージのコストを削減します。Uniswap v4 では、フラッシュアカウンティングが流動性プロバイダーのバランス変化の記録に使用され、ガス効率が向上します。 - ガスの最適化:
Uniswap v4 は、より少ないストレージと計算を使用することでガスの消費を削減します。例えば、Uniswap v4 では、流動性プロバイダーのバランス変化の記録により少ないストレージを使用し、ストレージのコストを削減します。さらに、Uniswap v4 では、取引手数料の計算により少ない計算を使用し、計算のコストを削減します。
MEV に関連する#
Uniswap v4 では、MEV(マイナーが抽出する価値)を流動性プロバイダーのリターンに内部化する新しいメカニズムが導入されています。このメカニズムは、フックを使用して実現され、プールの実行中に開発者がカスタムロジックを実行できるようにします。これらのフックは、MEV を内部化するメカニズムを実現するために使用することができます。これにより、流動性プロバイダーが MEV から利益を得ることができます。これは Uniswap v4 の新機能であり、流動性プロバイダーがリターンをより良く管理し、より良い収益を得ることができます。
Uniswap v4 では、MEV を内部化するメカニズムはフックを使用して実現されます。具体的には、開発者は beforeSwap と afterSwap のフックを使用してこのメカニズムを実装することができます。beforeSwap フックでは、現在のトランザクションの状態をチェックし、トランザクションを実行するかどうかを決定することができます。トランザクションが実行される場合、開発者は afterSwap フックで MEV を内部化するなどのカスタムロジックを実行することができます。このメカニズムを実現するために、Uniswap v4 では TWAMM(Time-Weighted Automated Market Maker)という新しい概念も導入されています。TWAMM は、取引を一定の期間に分割して実行することで、市場価格への影響を減らすことができます。このメカニズムは、流動性プロバイダーがリターンをより良く管理し、より良い収益を得るのに役立ちます。Uniswap v4 は、フックと TWAMM のメカニズムを使用して、流動性プロバイダーが MEV を内部化する方法を提供し、彼らがリターンをより良く管理し、より良い収益を得るのに役立ちます。
ダイナミックな手数料と注文制限#
Uniswap v4 では、ダイナミックな手数料と注文制限の機能が導入され、流動性プロバイダーがリターンをより良く管理し、より良い収益を得るのに役立ちます。
ダイナミック手数料は、市場の需要に応じて手数料を調整することを意味します。Uniswap v4 では、手数料が静的またはダイナミックである場合があります。手数料が静的な場合、変更されません。手数料がダイナミックな場合、市場の需要に応じて調整されます。このメカニズムは、流動性プロバイダーがリターンをより良く管理し、より良い収益を得るのに役立ちます。
注文制限は、取引が一定の価格範囲内で行われるようにする機能です。Uniswap v4 では、注文制限が流動性プロバイダーがリターンをより良く管理し、より良い収益を得るのに役立ちます。注文制限により、価格の大幅な変動がある場合にトレーダーが取引を行うのを防ぎ、流動性プロバイダーのリターンを保護することができます。
Uniswap v4 では、ダイナミックな手数料と注文制限の機能が導入され、流動性プロバイダーがリターンをより良く管理し、より良い収益を得るのに役立ちます。ダイナミック手数料は市場の需要に応じて調整され、注文制限は価格の大幅な変動がある場合にトレーダーが取引を行うのを防ぎ、流動性プロバイダーのリターンを保護します。
Uniswap v4 は、より高度なカスタマイズ性、コスト効率、イノベーションを提供し、"フック" の導入により、これらのトレードオフの決定を行うことができ、強力なエコシステムで迅速かつ表現力豊かな AMM イノベーションを行うことができるようにしています。
参考文献:
https://blog.uniswap.org/uniswap-v4
https://github.com/Uniswap/v4-core/blob/main/whitepaper-v4-draft.pdf