ERC-4626トークン化されたボルトの解説: DeFiイールドボルトの背後にある標準
— By Tony Rabbit in Tutorials

ERC-4626は、ほぼすべての最新のDeFiイールドボルトを支えるトークン標準です。シェアがどのように利回りをもたらすか、預け入れと引き出しの仕組み、なぜコンポーザビリティが重要なのか、そして注意すべき初回預金者インフレ攻撃について学びましょう。
ERC-4626トークン化されたボルトは、イーサリアムおよびEVMチェーン上の利回り生成型ボルトに対して、単一で予測可能なインターフェースを定義するスマートコントラクト標準です。「ERC-4626トークン化されたボルトとは何か」と尋ねられた場合、簡潔な答えは次のとおりです。これは、1つの原資産の預け入れを受け入れ、内部のすべてに対する比例的な請求権を表す譲渡可能なシェアをミントし、ボルトが利回りを得るにつれてその請求権の価値が増加することを可能にするコントラクトです。ERC-20の上に構築され、2022年に最終決定されて以来、アグリゲーター、レンディング市場、リキッドステーキングラッパー、およびストラクチャードプロダクトの背後にあるデフォルトの基盤となっています。過去2年間に最新のイールドボルトに預け入れたことがある場合、ほとんどの場合、意識することなく4626コントラクトに触れています。
主なポイント
- ERC-4626は、預け入れ、引き出し、および会計機能を標準化し、すべてのボルトが同じように動作するようにします。
- 譲渡可能なシェアを保有し、利回りはウォレット内の新しいトークンとしてではなく、1シェアあたりの資産比率の上昇として現れます。
- インターフェースが統一されているため、ボルトは構成可能なマネーレゴとして他のプロトコルに接続できます。
- 空のボルトは、初回預金者に対する寄付またはインフレ攻撃に対して脆弱である可能性がありましたが、現在は仮想シェアによって軽減されています。
ERC-4626が標準化するものと、ほぼすべての最新のイールドボルトがそれを使用する理由
ERC-4626以前は、すべてのイールドプロトコルが独自の預け入れおよび引き出しロジックを考案していました。10個のボルトを統合したいウォレット、ダッシュボード、または別のコントラクトは、10種類の異なるアダプターを作成する必要がありました。この標準は、共通の関数セットを義務付けることでそれを解決しました。depositとmintで入り、withdrawとredeemで出る、さらにtotalAssets、convertToShares、convertToAssetsのような読み取り専用ビューがあり、誰でも推測することなくシェアの価格を決定できます。また、アクションに署名する前に正確な結果をシミュレートするpreview関数もあります。
そのメリットは統合速度です。単一のコードで任意の準拠ボルトを読み取ることができるため、アグリゲーターやインフラストラクチャ層がほぼ普遍的に採用しました。Yearn、Beefy、およびSommelierに関するガイド、およびYearn Finance V3 vaultsに関するガイドで取り上げられているプロジェクトは、開発者と彼らが資本を投入する戦略の両方にとって統合の摩擦を取り除くため、この標準に正確に依拠しています。
シェアモデルと、1シェアあたりの資産が時間の経過とともに利回りをもたらす仕組み
新規参入者を最も混乱させるメカニズムは、通常、シェア残高が決して変わらないことです。預け入れを行うと、ボルトは固定数のシェアをミントします。基盤となる戦略が収益を上げると、ボルトのtotalAssetsは増加しますが、総シェア供給量は一定のままであるため、各シェアはより多くの基盤資産と引き換え可能になります。この比率(しばしば1シェアあたりの価格または交換レートと呼ばれます)が、このゲームのすべてです。
具体的に言うと、ボルトが1,000シェアを裏付ける1,000 USDCを保有している場合、1シェアは1 USDCに相当します。戦略が100 USDCを獲得した後、ボルトは同じ1,000シェアに対して1,100 USDCを保有するため、各シェアは現在1.1 USDCの価値があります。あなたは何もせず、シェア数は変更されていませんが、あなたの請求権は増加しました。これが、4626シェアトークンが静かに初期値よりも高く取引される理由であり、ポジションの価値を生のシェア数ではなく、シェアに現在の交換レートを掛けたもので常に評価すべき理由です。
預け入れと引き出しのメカニズム、シェアのミントとバーンの仕組み
ボルトへの出入りは対称的です。預け入れ時には、コントラクトがあなたの資産を転送し、現在の交換レートでどれだけのシェアが購入できるかを計算し、あなたにミントします。対となる関数mintは入力を反転させます。あなたは正確な数のシェアを要求し、コントラクトは対応する資産を引き出します。どちらの経路も同じ内部比率に収束します。
引き出し時には、withdrawを使用すると正確な資産額を指定でき、それをカバーするのに十分なシェアをバーンします。一方、redeemは設定された数のシェアをバーンし、その時点でそれらが価値のある資産を支払います。一部のボルトは手数料を請求したり、丸めを適用したりするため、preview関数がここで重要になります。コミットする前にプレビューすることで実際の数値を確認できます。すべてのボルトが即時流動性を提供するわけではないことに注意してください。ロックアップや巻き戻し遅延のある戦略では、引き出しがキューに入れられる場合があります。これは、DeFiイールド戦略の概要で説明されている種類の製品を確認する上で重要な点です。
なぜコンポーザビリティが重要なのか、そしてボルトが他のプロトコルにどのように接続するか
すべての4626ボルトが同じ言語を話すため、そのシェアは他のプロトコルが受け入れ、貸し付け、またはラップできる標準的なERC-20のように動作します。シェアトークンは、マネーマーケットの担保として使用したり、2番目のボルトに預け入れたり、流動性プールでペアにしたり、ストラクチャードプロダクトにバンドルしたりすることができ、これらすべてをカスタム統合コードなしで行えます。これが、DeFiをサイロ化されたものではなく、構成可能にするマネーレゴの特性です。
インフラストラクチャプロジェクトは、これに基づいてビジネス全体を構築しています。VedaとBoringVaultイールドインフラストラクチャに関するガイドで説明されているようなイールドルーターやボルトフレームワークは、4626スタイルのインターフェースを公開しており、下層の戦略を交換または積み重ねることができ、シェアトークンは下流のすべての人にとってクリーンで予測可能な構成要素として機能します。
インフレおよび寄付攻撃と、初回預金者リスクが存在する理由
この標準の最も有名な弱点は、真新しい空のボルトを標的とします。古典的なバージョンは次のとおりです。攻撃者がごく少量の資金で最初の預金者となり、単一のシェアをミントし、その後、大量の原資産をボルトコントラクトに直接転送または寄付します。これにより、1つのシェアが莫大な残高によって裏付けられることになります。次に正直なユーザーが預け入れを行うと、整数丸めにより彼らにはゼロシェアがミントされ、彼らの資産はインフレしたシェア価格に吸収され、攻撃者は単一のシェアを償還してその差額を奪い取ります。
広く採用されている修正策は、仮想シェアと仮想資産です。これは、コントラクトが内部的に少量の仮想シェアと資産が常に存在すると見せかけるものです。これにより、丸め計算が悪用するには費用がかかりすぎ、寄付攻撃を無効化します。多くのボルトは、自身で初期預金を行ったり、最初のシェアの一部をバーンしたりもします。それでも、新しくデプロイされた監査されていないコントラクトでは、初回預金者リスクは現実のものであり、これはステーブルコインで安全に利回りを得る方法を説明する際に強調するのと同じ注意点です。
ERC-4626ボルトに預け入れる前にユーザーが確認すべきこと
この標準はインターフェースの保証とみなし、安全性の保証とはみなさないでください。4626の仕様により、ボルトは読みやすく統合しやすくなりますが、基盤となる戦略が健全であるか、コードが監査されているか、チームが信頼できるかについては何も言及していません。預け入れを行う前に、ボルトが新しくデプロイされておらず空ではないこと、仮想シェアまたは初期シードを使用しているかどうか、そしてオンチェーンのプレビュー関数を読んで実際の交換レートと手数料を確認してください。
また、基盤となる資産が期待どおりのものであることを確認し、監査と時間の経過に伴う総資産の履歴を探し、流動性が即時ではなくキューに入れられる場合に備えて引き出し条件を理解してください。今日きれいに終了できるボルトでも、その戦略が非流動的である場合、ストレス下では異なる動作をする可能性があります。この標準は、これらすべてを透明に検査するためのツールを提供しますので、資金を投入する前にそれらを使用してください。
この記事は教育目的のみであり、金融アドバイスではありません。