ERC-4626とは?
ERC-4626は、1種類の基礎となるERC-20資産を保有するトークン化ボールトの共通インターフェースを定めるEthereumトークン規格です。トークン化ボールトは基礎となる暗号資産を受け入れ、ボールトが管理する資産に対する持分を表す代替可能なシェアトークンを発行します。公式のERC-4626仕様は、入金、出金、シェアのミント、シェアの償還、交換レートのプレビュー、ボールトの上限を標準化しています。
ERC-4626はFinal Ethereum Request for Comments規格です。利回りを生むボールトをウォレット、分散型アプリケーション、アグリゲーター、その他のスマートコントラクトが連携しやすくするために作られました。この規格は「Tokenized Vault Standard」と呼ばれることもあります。ERC-4626は、特定の投資戦略を定めたり、預け入れた資産からリターンが得られることを保証したりしません。互換性のあるボールトが、資産の会計処理や入出金機能をどのように連携するかを定めるものです。トークン化ボールトとは?
トークン化ボールトは、暗号資産を管理し、その資産に対する請求権を表すトークンを発行するスマートコントラクトです。ユーザーはボールトがサポートする基礎資産を預け入れ、ボールトシェアを受け取ります。ボールトは、コードで定めた戦略に従って資産を貸し出したり、ステーキングしたり、流動性を提供したり、準備資産として保有したり、別の方法で運用したりする場合があります。戦略によって収益が得られれば、各シェアが表す価値は上昇する可能性があります。戦略によって資産が失われれば、各シェアが表す価値は下落する可能性があります。したがって、ボールトシェアが基礎資産1単位と常に等しいとは限りません。その価値は、ボールトが管理する資産と流通するシェアの総数との関係によって決まります。ERC-4626が作られた理由
ERC-4626以前からトークン化ボールトは存在しましたが、関数、会計ルール、用語は実装ごとに異なることがよくありました。複数のボールトと連携するアプリケーションは、実装ごとに個別のアダプターが必要でした。カスタムアダプターは開発作業を増やし、会計上のミスが発生する可能性も高めます。ERC-4626は、互換性のあるボールトが同じ基本的な入金、出金、ミント、償還、プレビューのメソッドを使えるよう、共通インターフェースを導入しました。これにより、1つのアプリケーションが使い慣れた関数群を通じて多くのボールトと連携でき、コンポーザビリティが向上します。標準化によって、基礎となる戦略が同一になるわけではありません。資産、手数料、リスク、上限、管理者、投資ロジックはボールトごとに異なります。基礎資産とボールトシェア
ERC-4626では、資産とシェアを区別します。資産とは、ボールトに預け入れたり、ボールトから出金したりするERC-20トークンです。シェアとは、ボールトが管理する資産に対する請求権を表すために、ボールトが発行するERC-20トークンです。たとえば、初期の交換レートが1シェアあたり1資産の場合、ユーザーは基礎トークンを100単位預け入れ、100シェアを受け取ることがあります。その後、シェアが100枚のままボールトの資産が110単位に増えれば、1シェアは約1.1資産に相当します。ボールトが資産を10単位失えば、1シェアは約0.9資産に相当する可能性があります。実際の結果は、ボールトの会計処理、手数料、端数処理、戦略の運用成績によって異なります。ERC-4626のシェアはERC-20トークン
ERC-4626ボールトは、シェアトークンにERC-20を実装する必要があります。そのため、シェア保有者にはERC-20の残高、利用許可、移転、承認が適用されます。ボールトは、シェアの名前、シンボル、小数桁数に関する任意のERC-20メタデータ関数も実装する必要があります。ユーザーが
asset関数
totalAssets関数
ERC-4626の交換レートの仕組み
ボールトの交換レートは、一定数のシェアに対して何単位の基礎資産が対応するかを示します。簡易的な計算では、管理資産の総額をシェアの総供給量で割ります。実際の実装では、仮想資産、仮想シェア、手数料、オフセット、戦略固有の会計処理を加える場合があります。ボールトが利回りを得たり、寄付された資産を受け取ったりすると、交換レートが上昇する可能性があります。ボールトが資産を失ったり、不良債権を計上したりすると、交換レートが下落する可能性があります。この交換レートは、外部取引所の市場価格とは限りません。ボールトコントラクトが定める会計上の関係を表します。convertToShares関数
実際の入金で得られる可能性が高い結果を知りたいアプリケーションは、代わりに
convertToAssets関数
depositとmintの違い
deposit関数
入金が成功すると、標準化された
mint関数
mint操作もボールトへの入金を表すため、成功時には
withdrawとredeemの違い
withdraw関数
出金が成功すると、標準化された
redeem関数
償還が成功すると、
ERC-4626のプレビュー関数
ERC-4626には、現在のオンチェーン条件下で入金または出金を行った場合の結果を推定するプレビュー関数があります。関数は
previewDepositとpreviewMint
previewWithdrawとpreviewRedeem
最大入金額と最大ミント数
最大出金額と最大償還数
ERC-4626のイベント
ERC-4626は、通常のERC-20シェアイベントに加えて、
ERC-20の
ボールトの利回りとシェア価値
ERC-4626ボールトは通常、各シェアが表す資産量を増やすことで利回りを反映します。利回りが得られるたびに、すべての保有者へ新しいシェアを送る必要はありません。代わりに、同じ数のシェアで、より多くの基礎資産を償還できるようになります。実装が規格に準拠している限り、別の会計方法で価値を分配するボールトもあります。戦略で得た収益が、いつ、どのように
ボールト手数料
ERC-4626は、ボールトが手数料を課すことを認めています。入金手数料、出金手数料、管理手数料、パフォーマンス手数料、戦略運用費用などが考えられます。規格は、特定の手数料体系や料率の上限を定めていません。プレビュー関数は、シミュレーション対象の操作に適用される手数料を反映する必要があります。一般的な換算関数は手数料を含めません。手数料の受取人、計算方法、管理者による変更の可否、資産またはシェアのどちらで徴収されるかを確認してください。表示された利回りが高くても、すべての手数料と損失を含めると大幅に低くなる場合があります。端数処理と少額入金
スマートコントラクトはシェアトークンの最小単位より小さな端数を発行できないため、ERC-4626の計算には整数演算を用います。そのため、預入者が受け取るシェア数が、数学上の正確な計算よりわずかに少なくなる場合があります。入金によって得られるシェア単位がごく少数の場合、損失の影響がより大きくなります。極端な場合、入金額の端数処理によってシェアが0になることがあります。資産を預け入れてシェアを0枚しか受け取れなければ、既存のシェア保有者に価値を移転したのと実質的に同じです。アプリケーションは、許容できないほど少ないシェアしか発行されない入金を拒否する必要があります。ERC-4626のインフレーション攻撃とは?
インフレーション攻撃は、特にボールトが空または流動性がごく少ないときに、資産とシェアの交換レートを操作します。攻撃者は少額を最初に預け入れ、その後、追加シェアを発行せずに基礎資産をボールトへ直接送ることができます。この寄付によって、攻撃者が保有する既存シェアに対応する資産が増加します。その後に入金するユーザーは、端数処理によりごく少数、または0枚のシェアしか受け取れない場合があります。攻撃者は元のシェアを償還し、被害者が預け入れた資産の一部または全部を得る可能性があります。最新のERC-4626セキュリティガイドでは、この初回入金の操作と端数処理との関係が説明されています。
インフレーション攻撃への対策
交換レートの計算に仮想資産と仮想シェアを使用する方法があります。これらの仮想数量によって、実際の入金前により安全な初期レートを設定できます。小数桁数のオフセットを設け、シェアの精度を基礎資産より高くする方法もあります。精度を高めることで、一般的な入金のシェア数が0に切り下げられる可能性を下げられます。現在保守されている実装にこれらの保護策が含まれる場合がありますが、すべてのERC-4626ボールトで使用されているわけではありません。アプリケーションは、最低シェア発行数を要求し、不利な入金を拒否する必要もあります。恒久的にロックされた流動性でボールトに初期資金を供給する方法もありますが、別の運用上の考慮事項が生じます。スリッページのリスク
スリッページとは、実際の入出金結果がユーザーの予想額と異なることです。ユーザーのトランザクションのプレビュー後、実行前に別のトランザクションが交換レートを変更する場合があります。手数料、寄付、戦略の報告、損失、ほかの入出金も結果を変える可能性があります。ERC-4626の基本的な入出金関数には、明示的な最低出力額または最大入力額のパラメーターがありません。ERC-5143拡張は、ユーザーが直接操作する際のスリッページ制御を備えたオーバーロード関数を提案しています。
アプリケーションは、ルーターまたはラッパーを使い、最終結果がユーザー指定の上限内に収まるか確認することもできます。シェア価格の操作とオラクル
アプリケーションがERC-4626シェアの換算レートを価値の参照元として使用する場合があります。直接の寄付、会計処理の遅延、低い流動性、操作可能な戦略によってレートが変わる場合、これは危険です。ボールトシェアを担保として使うレンディングプロトコルは、
再入可能性とトークン移転のリスク
入出金では、外部のトークンコントラクトとやり取りします。悪意のあるトークンや特殊なトークンは、コールバックを実行したり、予期しない値を返したり、移転手数料を課したり、通常とは異なる方法で残高を変更したりする場合があります。外部の戦略コントラクトからボールトが再度呼び出される場合もあります。開発者は重要な会計情報を安全な順序で更新し、適切な再入可能性対策を使用する必要があります。Solidityセキュリティガイダンスでは、外部コントラクトの呼び出しが制御の移転につながる可能性について説明されています。
攻撃者がボールトの別の関数を通じて再入できる場合、1つの入金関数だけを保護しても不十分なことがあります。標準仕様に準拠しない基礎トークン
移転手数料のあるトークンでは、預入者が指定した額より少ない資産しかボールトに届かない場合があります。リベーストークンは、通常の移転なしにボールト残高を変化させる可能性があります。アドレスがブロックされるトークンや一時停止機能のあるトークンでは、出金できなくなる場合があります。小数桁数が特殊なトークンは、換算や表示が複雑になる可能性があります。アップグレード可能な基礎トークンは、ボールトのデプロイ後に挙動が変更される場合があります。ボールト開発者は、完全なERC-20挙動を前提とせず、実際のトークン移動量を測定し、対象資産の動作をテストする必要があります。戦略と流動性のリスク
ERC-4626による標準化は、預け入れられた資産の運用方法を制限しません。戦略には、貸付、ステーキング、流動性提供、デリバティブ、ブリッジ、外部カストディが含まれる場合があります。各活動には、スマートコントラクト、市場、カウンターパーティー、オラクル、強制決済、流動性に関する個別のリスクが伴います。ボールトが価値のある資産を報告していても、すぐに回収できない場合があります。外部ポジションが債務超過になれば、損失が計上される可能性もあります。ERC-4626のインターフェースだけでなく、戦略そのものを評価してください。管理者権限とアップグレードのリスク
ERC-4626ボールトには、手数料、上限、戦略、一時停止、緊急出金を制御する管理者権限が含まれる場合があります。アップグレード可能なボールトは、ユーザーがシェアを受け取った後に実装を変更できることがあります。アップグレードは脆弱性を修正する一方、悪意のある挙動や安全でない挙動を導入する可能性もあります。管理者が侵害されると、資産を別の場所へ移したり、有害な戦略を承認したり、通常の出金を妨げたりする場合があります。アップグレード権限、タイムロック、マルチシグ要件、緊急時の権限、役割分担を確認してください。ERC-4626に準拠しているからといって、ボールトが分散型または不変であるとは限りません。ERC-4626とネイティブETH
ERC-4626の基本規格では、基礎資産としてERC-20トークンを1種類使用する必要があります。ネイティブETHはERC-20コントラクトではないため、この要件を直接満たしません。ボールトは、トークン化されたETHをERC-20基礎資産として使用できます。FinalERC-7535拡張は、基礎資産がネイティブETHのボールト向けにERC-4626インターフェースを適応させます。
誤った資産を送ると失敗したりアクセスできなくなったりする可能性があるため、ボールトがネイティブETHとERC-20形式のどちらを求めているか確認してください。同期型ボールトと非同期型ボールト
標準的なERC-4626は、主にアトミックな入出金フローを想定して設計されています。許可されていれば、入金、ミント、出金、償還は通常、1回のブロックチェーントランザクション内で完了します。戦略によっては、資産やシェアを請求可能になる前に申請期間が必要です。ERC-7540規格は、非同期の入金および償還リクエストをERC-4626に追加します。
これにより、決済の遅延、流動性制限、クロスチェーン活動、オフチェーン資産を伴う戦略に対応できます。非同期型ボールトを評価する際、ERC-4626の出金がすべて即時に可能であるかのように扱うべきではありません。単一資産ボールトと複数資産ボールト
標準的なERC-4626ボールトは、基礎となるERC-20資産を1種類と、ボールトシェアトークンを1種類持ちます。複数の資産を入金して同じシェアトークンを受け取る必要があるボールトシステムもあります。ERC-7575規格は、複数資産のボールト構造向けにERC-4626を適応させ、ボールトの入金口とシェアトークンを分離できます。
この拡張では、連携方法とインターフェース検出の要件が異なります。文書化されていない会計処理で複数の無関係な資産を受け入れながら、通常のERC-4626の挙動をうたうべきではありません。ERC-4626にインターフェースIDはありますか?
ERC-4626の基本仕様は、ERC-165によるインターフェース検出を必須としていません。これは、ERC-165への対応を必須とするERC-721などの規格とは異なります。アプリケーションは一般に、関数、公開ABI、検証済みソースコード、レジストリー情報、プロジェクトのドキュメントを通じてERC-4626への対応を確認します。見慣れた関数を1つ呼び出しただけでは、完全な準拠を証明できません。連携する際は、完全なインターフェースと、ボールトが必須の挙動を満たしているかを確認してください。開発者によるERC-4626の実装方法
開発者はボールトの会計処理を一から作るのではなく、保守されているレビュー済みの実装を土台にする必要があります。最新のERC-20およびERC-4626 APIドキュメントには、戦略の拡張を想定した再利用可能な実装が用意されています。
資産の運用、評価、回収、保護の方法は、開発者が引き続き定める必要があります。入金、ミント、出金、償還、手数料、端数処理、直接寄付、ボールトが空の場合の挙動、損失、特殊な基礎トークンをテストしてください。ユーザーがシェアに見合う量を超える資産を出金できないことを、インバリアントテストで検証する必要があります。セキュリティレビューでは、管理者、外部戦略、価格フィード、アップグレード経路、緊急時の手順も確認してください。ユーザーによるERC-4626ボールトの評価方法
最初に、ボールトと基礎資産のコントラクトアドレスを確認します。次に、想定リターンを生み出す戦略を特定します。3つ目に、入出金、管理、パフォーマンス、戦略の各手数料を確認します。4つ目に、現在の資産、シェア供給量、交換レート、出金可能額の上限を確認します。5つ目に、初回入金やインフレーション攻撃への対策があるかを確認します。6つ目に、管理者、アップグレード、一時停止、緊急時の権限を確認します。7つ目に、出金が同期型か、遅延型か、キュー方式か、外部流動性に依存するかを把握します。8つ目に、監査やインシデント履歴を調べます。ただし、監査を保証として扱わないでください。9つ目に、スリッページ制限を適用し、極端に少ないシェアしか発行されない取引を避けます。10個目に、重大な資産を預ける前に、見慣れないボールトで少額を試してください。ERC-4626の入金例
あるボールトが基礎資産を1,000単位管理し、流通シェアが1,000枚あるとします。手数料と端数処理を考慮する前は、1シェアは約1資産に相当します。ユーザーは、資産を100単位預け入れた場合に何枚のシェアを得られるか、
次に、受取アドレスを指定して、資産100単位の
ボールトは資産を移転し、会計情報を更新して99シェアをミントし、
ERC-4626でよくある間違い
よくある間違いの1つは、ボールトシェア1枚が常に基礎資産1単位に等しいと思い込むことです。もう1つは、
5つ目は、
よくある質問
ERC-4626とは何ですか?
ERC-4626は、1種類の基礎ERC-20資産に対する請求権を表すERC-20シェアを発行するボールト向けの、EthereumのTokenized Vault Standardです。ERC-4626はERC-20トークンですか?
ERC-4626ボールトは、ボールトシェアにERC-20を実装する必要があります。基礎資産とは何ですか?
基礎資産とは、入金に受け入れられ、出金時に払い出されるERC-20トークンです。ERC-4626のシェアとは何ですか?
シェアとは、ボールトが管理する資産に対する比例的な請求権を表す代替可能トークンです。シェア1枚は常に資産1単位と等しいですか?
いいえ。交換レートは、管理資産、シェア供給量、手数料、端数処理、利益、損失に応じて変化します。ERC-4626は利回りを保証しますか?
いいえ。ボールトの操作を標準化するものであり、戦略がプラスのリターンを生むことを保証しません。depositとmintの違いは何ですか?
withdrawとredeemの違いは何ですか?
totalAssetsは何を返しますか?
ボールトの会計ロジックに基づいて、ボールトが管理する基礎資産の量を返します。プレビュー関数は最終結果を保証しますか?
いいえ。トランザクション実行前にボールトの状態が変化する可能性があるため、アプリケーションはスリッページ保護を使用する必要があります。ERC-4626ボールトは手数料を課せますか?
はい。入金、出金、管理、パフォーマンスなどの手数料や、その他開示された手数料を課すことができます。ERC-4626のインフレーション攻撃とは何ですか?
初期のボールト交換レートを操作し、被害者の入金がごく少数、または0枚のシェアに切り下げられる攻撃です。ボールトはどのようにインフレーション攻撃のリスクを下げられますか?
仮想資産、仮想シェア、シェア精度の向上、初期流動性のロック、最低出力額の確認などが対策として考えられます。ERC-4626ボールトで損失が発生することはありますか?
あります。戦略の損失、エクスプロイト、不良債権、市場変動、管理者の侵害、外部障害によってシェア価値が下がる可能性があります。ERC-4626シェアは移転できますか?
通常はERC-20として移転できますが、ボールトはシェアを譲渡不可にすることも認められています。ERC-4626でネイティブETHを使用できますか?
基本規格ではERC-20資産が必要ですが、ERC-7535はネイティブETHのボールト向けにインターフェースを適応させます。ERC-4626ボールトは複数の基礎資産を管理できますか?
基本規格が管理する資産は1種類ですが、ERC-7575などの拡張で複数資産の構造に対応できます。ERC-4626は出金の遅延に対応していますか?
基本規格はアトミックな操作を想定していますが、ERC-7540は非同期の申請・請求フローを追加します。ERC-4626はERC-165への対応を必須としていますか?
いいえ。ERC-4626の基本仕様は、ERC-165によるインターフェース検出を必須としていません。規格に準拠していればERC-4626ボールトは安全ですか?
いいえ。準拠により相互運用性は高まりますが、戦略、会計、コントラクト、管理者の安全性が証明されるわけではありません。まとめ
ERC-4626は、基礎ERC-20資産を1種類管理し、ERC-20シェアを発行するトークン化ボールト向けのEthereum標準インターフェースです。入金、ミント、出金、償還、換算見積もり、プレビュー関数、ボールト上限、入出金イベントを標準化します。すべてのボールトに同じ投資戦略を強制することなく、ウォレットやスマートコントラクトがボールトと連携しやすくなります。ボールトシェアは比例的な請求権を表し、基礎資産との固定された1対1の残高を表すものではありません。戦略収益によって価値が上昇する場合もあれば、損失、手数料、不良債権、セキュリティ障害によって下落する場合もあります。端数処理、スリッページ、直接寄付、初回入金を狙ったインフレーション攻撃には、慎重な対策が必要です。開発者は保守されている実装を使い、空のボールトの挙動をテストし、外部呼び出しを保護し、最低出力額の制御を設ける必要があります。ユーザーはERC-4626への対応だけに頼らず、基礎戦略、流動性、手数料、管理者権限、アップグレードシステム、出金プロセスを評価してください。拡張機能を使えば、ネイティブ資産、非同期決済、スリッページ保護、複数資産の構造に対応できます。ERC-4626を理解すると、標準化されたボールト会計と、資産を運用する戦略固有の金融・技術リスクを区別しやすくなります。関連コンテンツ
WhatsMiner M30S++
Web3ドメイン
Web3プロジェクト
ホット
現在、市場で大きな注目を集めているトレンドの暗号資産
トップ取引高
取引高が最も多い暗号資産

