時価総額: $2.145T 1.42%
ボリューム(24時間): $77.3554B -7.13%
恐怖と貪欲の指数:

14 - 極度の恐怖

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

言語を選択する

言語を選択する

通貨の選択

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

アップグレード可能なスマート コントラクトを管理および更新するにはどうすればよいですか? (プロキシの使用)

Proxy contracts enable upgradable smart contracts via delegatecall, preserving address and storage while swapping logic—requiring strict slot alignment, secure ownership, and audited implementations.

2026/01/15 14:20

スマート コントラクト アーキテクチャにおけるプロキシ パターンを理解する

1. プロキシ コントラクトは、delegatecall を使用してすべての関数呼び出しを実装コントラクトに委任する永続的なエントリ ポイントとして機能します。

2. プロキシのストレージ レイアウトは固定されたままですが、ロジックは完全に実装内に存在するため、コントラクト アドレスを変更せずにシームレスにアップグレードできます。

3. 開発者は、状態変数の破損を防ぐために、実装バージョン間でストレージ スロットの順序を厳密に保持する必要があります。

4. プロキシ自体にはビジネス ロジックは含まれておらず、低レベルの委任コードとアップグレード承認のためのアクセス制御メカニズムのみが含まれています。

5. 一般的なプロキシ標準には、透過プロキシ、UUPS (Universal Upgradeable Proxy Standard)、およびビーコン プロキシが含まれ、それぞれがガス コストとガバナンスの柔軟性において明確なトレードオフを提供します。

アップグレード可能な契約システムを導入するための主要な手順

1. まずプロキシ コントラクトをデプロイし、初期実装コントラクトのアドレスで初期化し、delegatecall 経由でその初期化関数を呼び出します。

2. 変更が必要な場合は、新しい実装コントラクトを展開します。このコントラクトは、同じ基本インターフェイスから継承し、同一のストレージ構造を維持する必要があります。

3. プロキシの upgradeTo 関数または upgradeToAndCall 関数を呼び出してアップグレードをトリガーします。これにより、プロキシに格納されている内部実装アドレスが更新されます。

4. 新しい実装に互換性のあるイニシャライザ署名が含まれていることを確認し、継承された状態変数または既存の状態変数によってすでに占有されているストレージ スロットの再利用を回避します。

5. プロキシに保存されている実装アドレスと予想される新しいアドレスを比較するなど、オンチェーン チェックを通じてアップグレードを検証します。

契約更新時のセキュリティに関する考慮事項

1.プロキシ所有者は厳密に保護される必要があります。この秘密キーの紛失または侵害により、将来のすべてのロジック展開に対する完全な制御が許可されます。

2. 初期化関数が非再入可能としてマークされていない場合、または適切な初期化保護が欠如している場合、再入可能性の脆弱性が発生する可能性があります。

3. プロキシ管理機能とユーザー向けメソッドの間で機能セレクターが衝突することは避けなければなりません。透過的プロキシは、管理操作用に 0xa8 で始まるセレクターを予約します。

4.アップグレードされた実装で新しい状態変数がオフセットをシフトすると、ストレージの衝突が発生します。手動のスロット マッピングや、OpenZeppelin のストレージ ギャップ パターンのようなツールを使用すると、このリスクが軽減されます。

5. 悪意のある実装契約には、資金を流出させたり、所有権を変更したりするロジックが含まれている場合があります。アップグレード前に、新しいバージョンごとに徹底的な監査と正式な検証を行うことが必須です。

プロキシベースのアップグレードをサポートするツールとフレームワーク

1. OpenZeppelin Contracts は、ERC-1967 準拠のプロキシや UUPSUpgradeable 基本コントラクトを含む、監査済みのモジュール式プロキシ実装を提供します。

2. Hardhat と Foundry は、プロキシの初期化、実装のコンパイル、および決定的なアドレスによるアップグレードの実行を自動化する展開スクリプトをサポートします。

3. Tenderly と Blockscout は、トランザクション シミュレーションと状態の差分視覚化を提供し、アップグレードを展開する前にストレージ レイアウトの調整が正しいことを確認します。

4. Etherscan の契約検証システムにより、ユーザーはプロキシと実装のソース コードの両方を個別に検証できるため、エンド ユーザーの透明性が向上します。

5. OpenZeppelin Defender などのサードパーティ サービスは、マルチシグ承認、タイムロック、オンチェーン実行ログを備えた UI 主導のアップグレード ワークフローを提供します。

よくある質問

Q: プロキシ契約をアップグレードして、まったく異なるインターフェイスを使用することはできますか? A: いいえ。新しい実装は、元の ABI との下位互換性を保持する必要があります。新しい外部関数を追加することは安全ですが、既存の関数を削除または名前変更すると、クライアント統合が壊れ、通話データのデコードが破損する可能性があります。

Q: アップグレード トランザクションが実行中に元に戻された場合はどうなりますか? A: プロキシの実装アドレスは変更されません。アップグレード機能がストレージを明示的に変更しない限り、プロキシ自体の状態は変更されません。ほとんどの標準プロキシは、単一の bytes32 スロットのみを更新します。

Q: 代理契約に誤って送金した資金を取り戻すことはできますか? A: プロキシに、ETH を転送するロジックを備えた支払い可能なフォールバックまたは受信機能が含まれている場合、または実装契約に引き出しメカニズムが実装されている場合のみ。そうしないと、資金が回収できなくなります。

Q: プロキシ契約はクロスチェーンアップグレードをサポートしていますか? A: ネイティブではありません。各チェーンは独自のプロキシと実装のデプロイメントを維持します。チェーン全体で同一のアップグレードを調整するには、ネットワークごとに個別のトランザクションと独立した検証が必要です。

免責事項:info@kdj.com

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

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

関連知識

Bybit で BTC 取引を行う場合、リニア永久契約とインバース永久契約のどちらを選択すればよいですか?

Bybit で BTC 取引を行う場合、リニア永久契約とインバース永久契約のどちらを選択すればよいですか?

2026-06-06 02:54:55

契約決済の仕組み1. Bybit のリニア無期限契約は USDT で決済されます。これは、すべての損益計算、証拠金要件、清算閾値がステーブルコイン単位で表示されることを意味します。 2. 逆永久契約は BTC 自体で決済されるため、すべての取引はトレーダーの BTC 残高に直接影響します。利益があれ...

ストップハントやなりすましなどの先物市場操作を特定して回避するにはどうすればよいでしょうか?

ストップハントやなりすましなどの先物市場操作を特定して回避するにはどうすればよいでしょうか?

2026-06-07 14:20:10

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...

Bybit で 1 日の最大損失を制限するリスク管理ルールを設定するにはどうすればよいですか?

Bybit で 1 日の最大損失を制限するリスク管理ルールを設定するにはどうすればよいですか?

2026-06-04 16:40:15

アカウントレベルの損失制限の設定1. 2 要素認証を使用して、Web またはモバイル アプリケーション経由で Bybit アカウントにログインします。 2. 「資産」セクションに移動し、左側のメニューから「リスク管理」を選択します。 3. 「日次損失制限」を選択し、機能をオンに切り替えてコントロール...

Binance でポートフォリオ証拠金モードを有効にして証拠金要件を減らすにはどうすればよいですか?

Binance でポートフォリオ証拠金モードを有効にして証拠金要件を減らすにはどうすればよいですか?

2026-06-05 04:59:43

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

オープン先物ポジションをクローズせずに Binance から Bybit に移行するにはどうすればよいですか?

オープン先物ポジションをクローズせずに Binance から Bybit に移行するにはどうすればよいですか?

2026-06-04 03:59:47

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...

米国における仮想通貨先物取引の利益による税金への影響をどのように処理すればよいでしょうか?

米国における仮想通貨先物取引の利益による税金への影響をどのように処理すればよいでしょうか?

2026-05-29 18:19:59

Bitcoin 半減力学1. Bitcoin のプロトコルでは、ブロック報酬を通じて新しいユニットが導入され、2,100 万コインの固定供給上限が強制されます。 2. 210,000 ブロックごと、つまり約 4 年ごとに、ブロック報酬は半分に減ります。これは半減として知られるプロセスです。 3. 最...

Bybit で BTC 取引を行う場合、リニア永久契約とインバース永久契約のどちらを選択すればよいですか?

Bybit で BTC 取引を行う場合、リニア永久契約とインバース永久契約のどちらを選択すればよいですか?

2026-06-06 02:54:55

契約決済の仕組み1. Bybit のリニア無期限契約は USDT で決済されます。これは、すべての損益計算、証拠金要件、清算閾値がステーブルコイン単位で表示されることを意味します。 2. 逆永久契約は BTC 自体で決済されるため、すべての取引はトレーダーの BTC 残高に直接影響します。利益があれ...

ストップハントやなりすましなどの先物市場操作を特定して回避するにはどうすればよいでしょうか?

ストップハントやなりすましなどの先物市場操作を特定して回避するにはどうすればよいでしょうか?

2026-06-07 14:20:10

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...

Bybit で 1 日の最大損失を制限するリスク管理ルールを設定するにはどうすればよいですか?

Bybit で 1 日の最大損失を制限するリスク管理ルールを設定するにはどうすればよいですか?

2026-06-04 16:40:15

アカウントレベルの損失制限の設定1. 2 要素認証を使用して、Web またはモバイル アプリケーション経由で Bybit アカウントにログインします。 2. 「資産」セクションに移動し、左側のメニューから「リスク管理」を選択します。 3. 「日次損失制限」を選択し、機能をオンに切り替えてコントロール...

Binance でポートフォリオ証拠金モードを有効にして証拠金要件を減らすにはどうすればよいですか?

Binance でポートフォリオ証拠金モードを有効にして証拠金要件を減らすにはどうすればよいですか?

2026-06-05 04:59:43

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

オープン先物ポジションをクローズせずに Binance から Bybit に移行するにはどうすればよいですか?

オープン先物ポジションをクローズせずに Binance から Bybit に移行するにはどうすればよいですか?

2026-06-04 03:59:47

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...

米国における仮想通貨先物取引の利益による税金への影響をどのように処理すればよいでしょうか?

米国における仮想通貨先物取引の利益による税金への影響をどのように処理すればよいでしょうか?

2026-05-29 18:19:59

Bitcoin 半減力学1. Bitcoin のプロトコルでは、ブロック報酬を通じて新しいユニットが導入され、2,100 万コインの固定供給上限が強制されます。 2. 210,000 ブロックごと、つまり約 4 年ごとに、ブロック報酬は半分に減ります。これは半減として知られるプロセスです。 3. 最...

すべての記事を見る

User not found or password invalid

Your input is correct