フック、つまりフック プログラミングは、開発者がシステム、アプリケーション、またはライブラリの実行パスを実行できるようにするために、事前定義された関数またはコード ブロックであるフックを使用できるようにするプログラミング モデルです。元のコードを変更せずにカスタム コードを挿入します。フックは、オペレーティング システム、フレームワークとライブラリ、Web 開発、プラグイン システムなど、多くのプログラミング環境やフレームワークでよく使用されます。
フックを使用すると、開発者は、変更や拡張の要件ごとに元のコードを変更することなく、プログラムのスケーラビリティとカスタマイズ性を高めることができ、コードをクリーンで安定した状態に保つことができます。フックはソフトウェア拡張のための洗練された実装方法を提供し、ソフトウェア設計において非常に役立つプログラミング モデルです。
特に、AOP (アスペクト指向プログラミング) は、フック プログラミングと比較されることがよくあります。AOP は、横断的な関心事を実装するモジュール型プログラミング パラダイムであり、その目標は、ビジネス ロジックなしで主要な機能の強化や変更を変更することではありません。ここでは AOP については詳しく説明しません。AOP は、HooK プログラミングのより高いレベルの抽象化であると単純に考えることができます。
2023 年 6 月、Uniswap は Uniswap V4 ホワイトペーパーのドラフト版を発表し、公開しました。Uniswap V4 の重要な機能はフックの導入です。
実際、Web2 金融システムでは通常、高度なカスタマイズとスケーラビリティが必要なため、フックは広く使用されています。トランザクション処理時などのカスタマイズされたシナリオでは、フックを使用して、二次検証、リスク管理検出、マネーロンダリング対策 (AML) 戦略など、トランザクション実行の前後に追加の検証ロジックを挿入します。スケーラビリティ シナリオには、フックを介した外部 API またはマイクロサービスとの統合が含まれ、ID 認証サービス、為替レート変換、支払いゲートウェイなどの金融システムの新機能を拡張します。しかし、UniswapはDeFiにフックを導入することで前例を作った。
Uniswap V4 フックは、基本的に開発者によって作成および定義された外部コントラクトです。流動性プールの作成時に、フック コントラクトをバインドすることを選択できます。その後、流動性プールは以前にバインドされたフック コントラクトを呼び出して、ライフ サイクルのさまざまな段階で指定された操作を実行し、高度なカスタマイズを提供します。開発者は、Uniswap のフックに基づいて、よりパーソナライズされた取引シナリオに対応し、次のような豊富な機能を備えた DApps を構築できます。
現在、Uniswap V4 は 4 つのグループのフック コールバックをサポートしており、各グループには次のコールバックが含まれています:
これらのフックは、トランザクションの開始前とトランザクションの終了後に実行できるため、オンチェーンの価格注文と同様の機能を実現できます。ユーザーはフック コントラクトに指値注文を出し、afterSwap コールバックでカスタムまたはマネージド オラクルを使用して、価格が指値を満たしているかどうかを判断します。満たしている場合、トランザクションは実行されます。キャンセルされる。
Uniswap V4 は、フックを通じて流動性を DApp 自体の開発に深く結びつけ、DApp 機能を強化すると同時に Uniswap のネットワーク効果も強化し、DeFi エコシステム全体の基盤となるインフラストラクチャーとします。
Uniswap V4 フックのセキュリティ問題
BlockSec チームは、フック コントラクト自体が悪意があるという事実に加えて、良性のフック コントラクトも非常に危険にさらされる傾向があることを調査しました。脆弱性。 BlockSec チームは、Awesome Uniswap v4 Hooks リポジトリ (コミット ハッシュ 3a0a444922f26605ec27a41929f3ced924af6075) を分析し、リポジトリ内のプロジェクトの 30% 以上が脆弱であることを発見しました。これらの脆弱性は主に、Hook、PoolManager、および外部サードパーティ間のリスク相互作用に起因しており、主に 2 つのカテゴリに分類できます:
機密性の高い外部/パブリック関数への必要なアクセス制御が適切に実装され、上記 2 種類のフックに関連するセキュリティ リスクを軽減するために入力パラメーターが検証されたとしても、特にフックの場合、コントラクトの脆弱性自体を完全に回避することはできません。アップグレード可能な契約として実装されているため、OpenZeppelin の UUPSUpgradeable 脆弱性と同様の関連問題が発生する可能性もあります。
その理由は、フックプログラミングによりスマートコントラクトの複雑さが増し、それによって攻撃ベクトルが増加するためです。通常のスマート コントラクトの場合、OpenZeppelin には、それに基づいて開発されたコントラクトを安全にするための一連のベスト プラクティス ライブラリがありますが、本質的には開発者に「安全な使用上の制約」を追加します。フックコントラクトでは、通常のコントラクトに比べて、より厳しい「安全使用制約」が求められます。したがって、フック プログラミングが広く使用されるためには、安全な実行環境、フックに適したプログラミング パラダイム、およびより厳格な使用上の制約といった包括的なフレームワークが必要です。
Uniswap V4 フックはスマート コントラクトを通じて実装されますが、そのセキュリティの問題もプロトコル レベルでのサポートはありますか?フックプログラミングソリューション? Artela Aspect がその答えを与えてくれます。
Artela は、開発者がモジュール式で機能が豊富で、スケーラブルでカスタマイズ可能なアプリケーションを構築できるように設計された、拡張性と高性能の EVM 互換レイヤー 1 ブロックチェーン ネットワークです。 Artela は、新しいプログラマブル モジュールを Aspect と呼ばれるネイティブ拡張機能として定義し、ブロックチェーン ネットワークに AOP を革新的に導入します。アスペクトは、フックのコールバックと同様に、接続ポイント、つまりトランザクション処理ライフサイクル全体でアスペクトが実行される場所を指定する必要があります。
Aspect は現在 Typescript のみをサポートしており、そのコードは WebAssembly (WASM) バイトコードにコンパイルされ、Artela ネットワークにデプロイされます。アスペクトがデプロイされた後、スマート コントラクトの所有者はコントラクトをアスペクトにバインドできます。スマート コントラクトの所有者は、その外部アカウント (EOA) アドレスがスマート コントラクトの isOwner(address) returns (bool) チェックに合格できることを意味します。
スマート コントラクトを呼び出す後続のトランザクションは、以下の図に示すように、Aspect によって処理されます:
Artela Aspects は、プロトコル レベルのフック実装として、Uniswap V4 フックと比較して非常に大きな利点があります:
まず第一に、Artela アスペクトは WASM を使用してコードを実行するため、実行効率が EVM よりも数桁高くなります。
第二に、Artela アスペクトは DeFi のコア ロジックだけでなく、トランザクション ライフ サイクル全体をフックすることができます。より豊富な機能を備えた DApp を構築します
最後に、最も重要なことは、Artela アスペクトは安全なサンドボックス環境で独立して実行されるため、アスペクトの実行がコントラクト実行のセキュリティに影響を与えないことです。
Artela Aspects の分離により、通常のコントラクトとしてのフック コントラクトと他の外部コントラクト間の相互呼び出しが制限され、Uniswap V4 フックのアクセス制御と入力検証の問題点が解決されます。 Uniswap のような DeFi 契約の場合、Artela にデプロイすることで、より高速で強力かつ安全なフック エクスペリエンスを楽しむことができます。
Uniswapは、DeFi業界の重要な参加者およびリーダーとして、業界の進歩を促進し、機能を改善する上で重要な役割を果たしてきました。今回Uniswap V4で導入されたフックは、間違いなくDEXの発展を主導するでしょう。後継者による。
しかし、Uniswap V4 フックは、スマート コントラクト自体の制限によって制限されます。プロトコル設計がどれほど堅牢で、ツール ライブラリがどれほど完璧であっても、フック コントラクトと他の潜在的なセキュリティとの間の相互呼び出しを根本的に防ぐことはできません。脆弱性。
高性能 EVM 互換レイヤー 1 ブロックチェーン ネットワークとして、Artela はプロトコルの最初から WASM 内で独立して実行されるように Aspect を設計し、フック プログラミングをネイティブにサポートし、セキュリティを大幅に向上させました。これは、セキュリティを命とみなす DeFi プロトコルのための高度なソリューションを提供します。
以上がUniswap V4 から Artela ネイティブ プロトコルまで、DeFi フック革命の高度な旅の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。