Aave Labsは、提案されているV3.8セキュリティアップグレードがフラッシュローンの清算を維持すると明確にした。10月23日の回答では、再入力ガードが既存の統合とどのように相互作用するかを説明している。
TL;DR: Aaveが提案したV3.8のガードはフラッシュローンのエントリーポイントを除外します。ガバナンス承認およびセキュリティ監査はまだ保留中です。
10月21日に投稿された提案は、プール操作にガードを追加します。このようなガードは、前の呼び出しが完了する前に外部コールバックが保護されたコントラクト関数に再び入ることを制限します。Aave Labsは、flashLoan()およびflashLoanSimple()は除外され、それらのコールバックが清算を含むプールアクションを継続して呼び出せるようにすると述べています。
コールバックが重要な理由
フラッシュローンを受け取るスマートコントラクトは、借りた資産を何らかの形で処理するために、トランザクション内に時間が必要です。Aaveの開発者ガイドでは、Poolが資産を振替し、受信側コントラクトを呼び出し、その後決済条件を確認する一連の手順が説明されています。
シンプルなフラッシュローンでは、受信者は借入した数量に必要な手数料を加えた金額を返済用に用意する必要があります。トランザクションがその条件を満たせない場合、処理は元に戻ります。より広範なフラッシュローンインターフェースは複数の資産をカバーでき、許可された条件下では担保付き債務ポジションを開設できます。
これらのメカニズムは、ガードの範囲がなぜ重要であるかを説明しています。清算統合では、資産を借入し、不健全な保有資産を返済した上で、決済前に残りの取引を完了する必要がある可能性があります。すべての後続のプール操作を無差別にブロックすると、この一連の手順が妨げられます。
重要な設計上の疑問は、プロトコルへのどのルートが意図的であるかです。有効なセキュリティ境界は、資産がプールから退出した後、返済の確認が行われる前の呼び出しを含め、統合が依存するトランザクションパターンを考慮しなければなりません。
トランザクション長ロック
提案された実装では、EthereumのEIP-1153によって導入された一時的ストレージを使用します。このストレージはトランザクション中に利用可能で、トランザクション終了時に破棄されます。したがって、保護された操作が既に実行中かどうかを追跡するために、一時的なロック状態を保持できます。
仕様では再入性ロックを使用事例として挙げており、一時的なステートを永続的なストレージに書き込むよりも一時ストレージを使用した方がコストが低くなる理由を説明しています。頻繁に使用されるDeFiプロトコルでは、設計上の課題として、通常のトランザクションにかかるコストとガードによって追加される保護の両方が含まれます。
Aaveの提案されたパスには、フィードバック、Snapshot投票、セキュリティレビュー、およびオンチェーン改善提案が含まれます。最終段階前に、Certoraおよびその他のレビュー担当者が変動幅を評価する予定です。
Ethereumおよびその他の影響を受けるネットワークの統合者向けに、この明確化は、最終的なコードに対して確認するための具体的な互換性ポイントを提供します。審査された実装は、新しい境界を適用しつつ、意図されたトランザクションの順序を維持しなければなりません。その作業中には設計意図の声明が役立ちますが、デプロイされた動作は最終的に実装ガバナンスが受け入れる内容に依存します。
ニュースデスクが執筆し、サミュエル・レイが編集しました。


