時価総額: $2.6065T 1.56%
ボリューム(24時間): $68.1613B 6.30%
恐怖と貪欲の指数:

42 - 中性

  • 時価総額: $2.6065T 1.56%
  • ボリューム(24時間): $68.1613B 6.30%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.6065T 1.56%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

プロキシ契約とは何ですか?

Proxy contracts enable upgradable smart contracts by separating logic and storage, allowing developers to update functionality without changing the contract address or losing data.

2025/07/21 07:50

プロキシ契約の概念を理解する

プロキシ契約は、 Ethereumのようなブロックチェーンプラットフォームのスマートコントラクト開発で一般的に使用される設計パターンです。その主な目的は、契約の論理をストレージから分離することです。この分離により、開発者は契約アドレスを変更したり、プロキシ自体に保存されているデータを失ったりすることなく、契約のロジックをアップグレードまたは変更できます。

プロキシ契約は、多くの場合、実装契約と呼ばれる別の契約に電話を転送する仲介者として機能します。プロキシはすべての状態変数を保持しますが、実装契約には関数とビジネスロジックが含まれています。このアーキテクチャパターンは、分散型アプリケーション(DAPPS)に長期的な柔軟性を維持するために重要です。

プロキシ契約の仕組み

プロキシ契約のメカニズムは、EVM(Ethereum Virtual Machine)のDelegateCall機能に大きく依存しています。ユーザーがプロキシ契約と対話すると、プロキシはDelegateCallを使用して、実行を現在の実装契約に転送します。これにより、コードがプロキシのコンテキストで実行されることが保証されます。これは、ストレージ、アドレス、およびバランスがプロキシ契約に属することを意味します。

これがこれがどのように機能するかの内訳です:

  • プロキシ契約には、現在の実装アドレスへの参照が含まれています。
  • プロキシで関数が呼び出されると、 DeLegateCallを使用して、実装契約のコンテキストでその関数を実行します。
  • 実行中に行われたすべての変更は、実装契約ではなく、プロキシの保存に影響します。

この方法により、契約システム全体を再配置せずにアップグレード可能性が可能になります。これは、ユーザーの信頼と契約の継続性を維持するために不可欠です。

さまざまな種類のプロキシ契約

プロキシ契約にはいくつかのタイプがあり、それぞれに特定のユースケースと実装の詳細があります。

  • 透過的なプロキシ:このタイプは、管理者が管理者から来るか、通常のユーザーから来るかによって、呼び出しを異なってルーティングします。管理コールはプロキシ管理契約に転送され、通常のコールはロジック契約に移動します。
  • uups(ユニバーサルアップグレード可能なプロキシ標準) :このモデルでは、アップグレード機能がロジック契約自体に実装されています。これにより、同じ標準を使用してすべてのプロキシにわたって一貫したアップグレードメカニズムが実施されます。
  • ビーコンプロキシ:実装アドレスを直接保存する代わりに、このプロキシは、現在の実装アドレスを動的に提供するビーコン契約を参照します。これにより、複数のプロキシを同時に大量にアップグレードできます。

各プロキシタイプには、セキュリティ、アップグレード可能性、複雑さの点で利点とトレードオフがあります。

プロキシ契約を展開する手順

プロキシ契約の展開には、いくつかのステップが含まれます。これが詳細なウォークスルーです:

  • 実装契約の展開:これには、実際のビジネスロジックが含まれます。将来のアップグレードを妨げる可能性があるため、UUPSのような特定のプロキシタイプを使用する場合は、コンストラクターを持たないでください。
  • プロキシ契約の展開:展開中に、実装契約のアドレスを指定します。一部のプロキシ契約では、管理者アドレスを設定する必要があります。
  • プロキシとの対話:すべてのユーザーインタラクションはプロキシを通過する必要があります。トリュフ、ハードハット、リミックスなどのツールを使用して、プロキシと対話し、正しいABIが使用されるようにします。
  • 実装のアップグレード(必要に応じて) :ロジックの新しいバージョンの準備ができたら、新しい実装契約を展開し、プロキシの参照を更新します。このステップは、使用するプロキシタイプによって異なります。

これらの各手順は、資金の損失やセキュリティの脆弱性を避けるために慎重に実行する必要があります。

プロキシ契約のセキュリティ上の考慮事項

プロキシ契約は、開発者が対処しなければならない新しいセキュリティの課題を導入します。

  • ストレージ衝突:実装契約とプロキシが慎重に設計されていない場合、ストレージ変数が重複する可能性があり、意図しないデータ腐敗につながります。
  • 初期化の問題:実装契約のコンストラクターは、初期イザー関数に置き換えられないと問題を引き起こす可能性があります。これらの機能は、展開後の再目立化を防ぐために保護する必要があります。
  • アクセス制御:契約をアップグレードする機能は、厳密に管理する必要があります。管理キーの不適切な管理は、悪意のあるアップグレードにつながる可能性があります。
  • テストの複雑さ:プロキシ契約により、テストの複雑さが高まり、開発者はプロキシと実装契約の両方を徹底的にテストする必要があります。

Openzeppelinのようなフレームワークから監査されたプロキシパターンを使用すると、これらのリスクの多くを軽減できます。

プロキシ契約のユースケース

プロキシ契約は、長期的なメンテナンスが不可欠なさまざまな分散財務(DEFI)プロトコルとDAPPで広く使用されています。いくつかの注目すべきユースケースには次のものが含まれます。

  • ガバナンス制御されたアップグレード: Aaveや複合化などのプロトコルは、プロキシ契約を使用して、ユーザーの相互作用を妨げることなくコミュニティ主導のアップグレードを可能にします。
  • 再展開なしのバグ修正:展開された契約で重要なバグが発見された場合、開発者は新しい実装でロジックを修正し、ユーザーの残高や契約アドレスに影響を与えることなくプロキシをアップグレードできます。
  • マルチ契約システム:複数の契約が連携するシステムでは、プロキシ契約により、すべてのコンポーネントを調整された方法でアップグレードできるようになります。

これらのユースケースは、実際のブロックチェーンアプリケーションでのプロキシ契約の実用的な価値を示しています。

よくある質問

Q:あらゆる種類のスマート契約にプロキシ契約を使用できますか? A:プロキシ契約は広く適用可能ですが、アップグレード可能性が望まれない許可レスまたは不変の契約には適していない場合があります。たとえば、 ERC-20やERC-721などのトークン標準は、プロキシパターンの恩恵を受けることがよくありますが、一部のプロトコルは信頼の最小化の不変性を好みます。

Q:プロキシ契約を効果的にテストするにはどうすればよいですか? A:プロキシ契約のテストには、プロキシと実装ロジックの両方を検証することが含まれます。 HardhatやFoundryなどのテストフレームワークを使用して、すべての相互作用がプロキシを通過することを確認します。プロキシ環境をock笑し、ストレージの整合性をチェックすることが重要です。

Q:プロキシ契約はすべてのEVM互換ブロックチェーンと互換性がありますか? A:はい、プロキシ契約は、Binance Smart Chain 、 Polygon 、 Arbitrumなど、すべてのEVM互換チェーンで利用できるDelegateCallなどのEVM機能に依存しています。ただし、ツールまたは契約検証の違いは、展開ワークフローに影響する場合があります。

Q:プロキシ契約を使用することのガスへの影響は何ですか? A:プロキシ契約は、追加のDelegateCallステップにより、少量のオーバーヘッドを追加します。ただし、このオーバーヘッドは通常最小限であり、ユーザーエクスペリエンスに大きな影響を与えません。プロキシ設計を最適化し、冗長な呼び出しを最小限に抑えることにより、ガスの節約を実現できます。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

BTCUSDT先物ポジションを保有する総コストの計算方法

BTCUSDT先物ポジションを保有する総コストの計算方法

2026-10-26 04:06:35

BTCUSDT先物ポジションの総コスト構成要素1. BTCUSDT 先物ポジションを保持するための総コストには、明示的な料金と暗黙的な料金の両方が含まれます。明示的なコストは取引開始手数料と終了手数料で構成されますが、暗黙的なコストは主に、長期にわたる資金調達率の支払いまたは受け取りによって発生しま...

XRPSDT の資金調達レートと建玉を一緒に監視する方法

XRPSDT の資金調達レートと建玉を一緒に監視する方法

2026-10-20 18:39:42

XRPUSDT 無期限契約の資金調達率の仕組み1. XRPUSDT 無期限スワップの資金調達率は、XRP と USDT 建て融資市場の間のプレミアム インデックスと金利差を使用して 8 時間ごとに計算されます。 2. Binance、Bybit、OKX などの取引所は、デリバティブ API エンドポ...

SOLUSDT 無期限先物で損益分岐点ストップロスを設定する方法

SOLUSDT 無期限先物で損益分岐点ストップロスを設定する方法

2026-10-23 09:34:18

損益分岐点とストップロスの仕組みを理解する1. 損益分岐点ストップロスは、ポジションが有利に動くにつれて上方に調整され、約定時に純損失がゼロになるように固定する動的な注文です。 2. 取引が事前に定義された利益しきい値 (通常、初期リスクまたはエントリー手数料の 1 倍から 2 倍) に達した場合に...

ETHUSDT取引にBinance Futures Calculatorを使用する方法

ETHUSDT取引にBinance Futures Calculatorを使用する方法

2026-10-21 02:00:11

Binance Futures Calculator インターフェイスを理解する1. 計算機は Binance Futures 取引インターフェイス内に直接組み込まれており、注文入力パネルの ETHUSDT 無期限契約ページからアクセスできます。 2. ユーザーがポジションサイズ、エントリー価格、レ...

先物清算前にBTCUSDTマーク価格を確認する方法

先物清算前にBTCUSDTマーク価格を確認する方法

2026-10-26 12:20:18

BTCUSDT 先物におけるマーク価格を理解する1. マーク価格は、市場環境が不安定な場合に不当清算を防止するために取引所が使用する計算値です。 2. 指標価格や調達率など、複数の情報源から導き出された公正かつ安定した参照価格を反映しています。 3. 前回の取引価格とは異なり、マーク価格には操作リス...

TRUMPUSDT 無期限契約のレバレッジを調整する方法

TRUMPUSDT 無期限契約のレバレッジを調整する方法

2026-10-30 22:19:37

TRUMPUSDT の無期限契約の仕組みを理解する1. TRUMPUSDT は、複数の Tier-1 デリバティブ取引所に上場されているテーマ別無期限先物契約であり、資産の基礎となるファンダメンタルズではなく、米国の政治的物語を中心とした価格センチメントを追跡するように設計されています。 2. プラ...

BTCUSDT先物ポジションを保有する総コストの計算方法

BTCUSDT先物ポジションを保有する総コストの計算方法

2026-10-26 04:06:35

BTCUSDT先物ポジションの総コスト構成要素1. BTCUSDT 先物ポジションを保持するための総コストには、明示的な料金と暗黙的な料金の両方が含まれます。明示的なコストは取引開始手数料と終了手数料で構成されますが、暗黙的なコストは主に、長期にわたる資金調達率の支払いまたは受け取りによって発生しま...

XRPSDT の資金調達レートと建玉を一緒に監視する方法

XRPSDT の資金調達レートと建玉を一緒に監視する方法

2026-10-20 18:39:42

XRPUSDT 無期限契約の資金調達率の仕組み1. XRPUSDT 無期限スワップの資金調達率は、XRP と USDT 建て融資市場の間のプレミアム インデックスと金利差を使用して 8 時間ごとに計算されます。 2. Binance、Bybit、OKX などの取引所は、デリバティブ API エンドポ...

SOLUSDT 無期限先物で損益分岐点ストップロスを設定する方法

SOLUSDT 無期限先物で損益分岐点ストップロスを設定する方法

2026-10-23 09:34:18

損益分岐点とストップロスの仕組みを理解する1. 損益分岐点ストップロスは、ポジションが有利に動くにつれて上方に調整され、約定時に純損失がゼロになるように固定する動的な注文です。 2. 取引が事前に定義された利益しきい値 (通常、初期リスクまたはエントリー手数料の 1 倍から 2 倍) に達した場合に...

ETHUSDT取引にBinance Futures Calculatorを使用する方法

ETHUSDT取引にBinance Futures Calculatorを使用する方法

2026-10-21 02:00:11

Binance Futures Calculator インターフェイスを理解する1. 計算機は Binance Futures 取引インターフェイス内に直接組み込まれており、注文入力パネルの ETHUSDT 無期限契約ページからアクセスできます。 2. ユーザーがポジションサイズ、エントリー価格、レ...

先物清算前にBTCUSDTマーク価格を確認する方法

先物清算前にBTCUSDTマーク価格を確認する方法

2026-10-26 12:20:18

BTCUSDT 先物におけるマーク価格を理解する1. マーク価格は、市場環境が不安定な場合に不当清算を防止するために取引所が使用する計算値です。 2. 指標価格や調達率など、複数の情報源から導き出された公正かつ安定した参照価格を反映しています。 3. 前回の取引価格とは異なり、マーク価格には操作リス...

TRUMPUSDT 無期限契約のレバレッジを調整する方法

TRUMPUSDT 無期限契約のレバレッジを調整する方法

2026-10-30 22:19:37

TRUMPUSDT の無期限契約の仕組みを理解する1. TRUMPUSDT は、複数の Tier-1 デリバティブ取引所に上場されているテーマ別無期限先物契約であり、資産の基礎となるファンダメンタルズではなく、米国の政治的物語を中心とした価格センチメントを追跡するように設計されています。 2. プラ...

すべての記事を見る

User not found or password invalid

Your input is correct