時価総額: $3.2155T -3.82%
ボリューム(24時間): $233.3428B 6.36%
恐怖と貪欲の指数:

22 - 極度の恐怖

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

言語を選択する

言語を選択する

通貨の選択

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

CREATE2 オペコードとは何ですか?また、どのようにして決定的なコントラクト アドレスを有効にするのですか?

CREATE2 enables predictable contract addresses in Ethereum, allowing off-chain systems to reference contracts before deployment.

2025/11/13 23:40

Ethereum の CREATE2 オペコードを理解する

1. CREATE2 オペコードは、コンスタンティノープルのアップグレード中に EIP-1014 を通じてイーサリアムに導入されました。これは、送信者のノンスを使用してスマート コントラクトを展開し、結果のコントラクト アドレスを決定する従来の CREATE オペコードの代替として機能します。 CREATE とは異なり、CREATE2 では開発者がノンス以外の特定の入力を考慮してデプロイメント前にコントラクトのアドレスを計算できます。

2. この機能は、コントラクト アドレスの予測可能性が必要なシナリオで非常に重要です。たとえば、オフチェーン システムまたはレイヤー 2 ソリューションでは、まだ展開されていないコントラクトを参照する必要がある場合があります。アドレスの事前計算を有効にすることで、CREATE2 はトラストレスな対話をサポートし、分散コンポーネント間の調整を改善します。

3. CREATE2 によって生成されるアドレスの構造は、デプロイヤーのアドレス、ユーザー定義のソルト (32 バイト値)、コントラクトのバイトコード (init_code とも呼ばれる)、およびそのバイトコードの keccak256 ハッシュの 4 つの要素を含む暗号化ハッシュに依存します。これらの入力はいずれも送信者のトランザクション数に依存しないため、同じ組み合わせでは常に同じアドレスが生成されます。

4. このメカニズムの大きな利点の 1 つは、条件付きでコントラクトを展開できることです。コントラクトは、特定の条件が満たされた場合にのみ展開できますが、将来のアドレスは事前にわかったままになります。これにより、アプリケーションがオンチェーン上で稼働する前であっても既知の場所にコントラクトが存在すると仮定する、反事実のインスタンス化などのユースケースが可能になります。

決定論的アドレス生成の説明

1. 決定的コントラクト アドレスとは、同じ入力セットが与えられた場合、出力アドレスが常に同一になることを意味します。 CREATE2 では、使用される式はkeccak256(0xff + address + Salt + keccak256(init_code))[12:]です。プレフィックス 0xff により、CREATE で作成されたアドレスから名前空間が確実に分離され、衝突のリスクが軽減されます。

2. 塩パラメータは重要な役割を果たします。これは開発者によって選択され、ユーザー識別子、タイムスタンプ、アプリケーション固有のキーなどの意味のあるデータをエンコードできます。ソルトと他のコンポーネントが変更されていない限り、同じ作成者アドレスから同じバイトコードを再デプロイすると、まったく同じ宛先になります。

3. アドレスは実行時コードではなく初期化コードのハッシュに依存するため、コンストラクター引数またはコンパイルされたバイトコードを変更すると、最終アドレスが変更されます。このため、デプロイメントはコンパイルの詳細に非常に敏感になり、慎重なバージョン管理と再現可能なビルドが必要になります。

4. 開発者は多くの場合、ウォレット ファクトリの決定論的アドレス指定を活用し、各ユーザーが独自に派生したスマート コントラクト ウォレットを取得します。これらのウォレットはオフチェーンで期待できるため、デプロイメントが行われる前でもトランザクションを正しくルーティングできます。

分散型金融およびレイヤー 2 システムにおけるアプリケーション

1. 分散型取引所や自動マーケットメーカーでは、CREATE2 により、予測可能なアドレスを持つプールの作成が容易になります。これにより、フロントエンドとボットの統合が簡素化され、イベント ログを待ったりレジストリに依存したりせずにプール データをクエリできるようになります。

2. ステート チャネルやロールアップなどのレイヤー 2 スケーリング ソリューションは、反事実的なコントラクトの展開に CREATE2 を利用します。チャネルの参加者は、仮想コントラクト インスタンスと対話することができ、それがオンチェーンで実現された場合にどこに存在するかを正確に知ることができます。これにより、セキュリティ保証を維持しながら、オンチェーンのフットプリントが削減されます。

3. ERC-4337 (アカウント抽象化) に準拠したスマート コントラクト ウォレットなどは、決定論的なアドレスに依存してシームレスなユーザー エクスペリエンスを実現します。資金取引は事前に計算された場所を対象とするため、ユーザーは将来のウォレットアドレスが存在する前にそのアドレスに資金を受け取ることができます。

4. 別の使用例には、実装コントラクトが決定的に展開されるアップグレード可能なプロキシ パターンが含まれます。通常、プロキシは CREATE を使用しますが、CREATE2 ベースのファクトリと組み合わせることで、導入全体でのモジュール性と監査可能性が強化されます。

よくある質問

Q: CREATE2 を使用して、同じコントラクトを同じアドレスに複数回デプロイすることはできますか?

A: いいえ。計算された CREATE2 アドレスにコントラクトがすでに存在する場合、そこに別のコントラクトをデプロイしようとすると失敗します。 EVM は既存のコードの上書きを防ぎ、アドレスが占有された後の不変性を保証します。

Q: ソルト値は、CREATE2 デプロイメントのセキュリティにどのような影響を与えますか?

A: 塩は慎重に選ばなければなりません。予測可能なソルトにより、攻撃者は悪意のあるコントラクトを予期されたアドレスに事前に展開できる可能性があります。安全なランダム性または一意の識別子を使用すると、特に許可のない環境でこのリスクが軽減されます。

Q: CREATE2はCREATEよりガス代が高くなりますか?

A: はい。 CREATE2 は、決定論的なアドレスを計算するために追加のハッシュ操作が必要となるため、通常、より多くのガスを消費します。正確なコストは、init_code のサイズと展開時のネットワーク条件によって異なります。

免責事項:info@kdj.com

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

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

関連知識

スマート コントラクトにおけるサービス拒否 (DoS) 攻撃とは何ですか?また、その一般的な形式は何ですか?

スマート コントラクトにおけるサービス拒否 (DoS) 攻撃とは何ですか?また、その一般的な形式は何ですか?

2025-11-10 05:20:08

スマートコントラクトにおけるサービス拒否について理解する1. スマート コントラクトのコンテキストにおけるサービス拒否 (DoS) 攻撃とは、悪意のある攻撃者が正当なユーザーによるコントラクトの機能へのアクセスまたは使用を妨げるシナリオを指します。これは通常、攻撃者が重要な操作をブロックできるように...

トランザクション署名で使用される暗号化ナンスとは何ですか?

トランザクション署名で使用される暗号化ナンスとは何ですか?

2025-11-11 05:59:39

ブロックチェーントランザクションにおける暗号化ナンスを理解する1. 暗号化ナンスは、ブロックチェーン ネットワーク内のトランザクション署名のコンテキストで 1 回だけ使用される乱数または擬似乱数です。その主な機能は、各トランザクションが一意であり、悪意のある行為者によって再実行できないことを保証する...

Solidity スマート コントラクトでは継承はどのように機能しますか?

Solidity スマート コントラクトでは継承はどのように機能しますか?

2025-11-11 22:40:12

Solidity の継承: モジュール式スマート コントラクトの構築1. Solidity の継承により、あるコントラクトが別のコントラクトのプロパティと機能を採用できるようになり、コードの再利用と構造化設計が可能になります。派生コントラクトは、プライベートとしてマークされていない限り、基本コントラ...

外部所有アカウント (EOA) と契約アカウントの違いは何ですか?

外部所有アカウント (EOA) と契約アカウントの違いは何ですか?

2025-11-13 04:00:32

外部所有アカウント (EOA) について1. 外部所有アカウントは秘密キーによって直接制御されます。つまり、そのキーの所有者のみがアカウントからトランザクションを開始できます。 EOA には関連するコードがありません。これらは、ブロックチェーン上でトランザクションを送受信するために使用される単純なア...

ERC-2981 NFT ロイヤルティ標準とは何ですか?またどのように機能しますか?

ERC-2981 NFT ロイヤルティ標準とは何ですか?またどのように機能しますか?

2025-11-13 05:39:54

ERC-2981 NFT ロイヤルティ標準を理解する1. ERC-2981 標準は、非代替トークン (NFT) のロイヤルティ メカニズムを導入するイーサリアムのコメント要求です。ロイヤルティのサポートが組み込まれていない ERC-721 や ERC-1155 などの以前の NFT 標準とは異なり、...

DeFi におけるサンドイッチ攻撃とは何ですか?またトランザクションをどのように悪用しますか?

DeFi におけるサンドイッチ攻撃とは何ですか?またトランザクションをどのように悪用しますか?

2025-11-15 18:39:40

分散型金融におけるサンドイッチ攻撃を理解する1. サンドイッチ攻撃は、自動マーケット メーカー (AMM) に依存する分散型取引所 (DEX) で一般的に観察されるフロントランニングおよびバックランニング操作の一形態です。これらの攻撃は、悪意のある攻撃者がターゲットのトランザクションによって引き起こ...

スマート コントラクトにおけるサービス拒否 (DoS) 攻撃とは何ですか?また、その一般的な形式は何ですか?

スマート コントラクトにおけるサービス拒否 (DoS) 攻撃とは何ですか?また、その一般的な形式は何ですか?

2025-11-10 05:20:08

スマートコントラクトにおけるサービス拒否について理解する1. スマート コントラクトのコンテキストにおけるサービス拒否 (DoS) 攻撃とは、悪意のある攻撃者が正当なユーザーによるコントラクトの機能へのアクセスまたは使用を妨げるシナリオを指します。これは通常、攻撃者が重要な操作をブロックできるように...

トランザクション署名で使用される暗号化ナンスとは何ですか?

トランザクション署名で使用される暗号化ナンスとは何ですか?

2025-11-11 05:59:39

ブロックチェーントランザクションにおける暗号化ナンスを理解する1. 暗号化ナンスは、ブロックチェーン ネットワーク内のトランザクション署名のコンテキストで 1 回だけ使用される乱数または擬似乱数です。その主な機能は、各トランザクションが一意であり、悪意のある行為者によって再実行できないことを保証する...

Solidity スマート コントラクトでは継承はどのように機能しますか?

Solidity スマート コントラクトでは継承はどのように機能しますか?

2025-11-11 22:40:12

Solidity の継承: モジュール式スマート コントラクトの構築1. Solidity の継承により、あるコントラクトが別のコントラクトのプロパティと機能を採用できるようになり、コードの再利用と構造化設計が可能になります。派生コントラクトは、プライベートとしてマークされていない限り、基本コントラ...

外部所有アカウント (EOA) と契約アカウントの違いは何ですか?

外部所有アカウント (EOA) と契約アカウントの違いは何ですか?

2025-11-13 04:00:32

外部所有アカウント (EOA) について1. 外部所有アカウントは秘密キーによって直接制御されます。つまり、そのキーの所有者のみがアカウントからトランザクションを開始できます。 EOA には関連するコードがありません。これらは、ブロックチェーン上でトランザクションを送受信するために使用される単純なア...

ERC-2981 NFT ロイヤルティ標準とは何ですか?またどのように機能しますか?

ERC-2981 NFT ロイヤルティ標準とは何ですか?またどのように機能しますか?

2025-11-13 05:39:54

ERC-2981 NFT ロイヤルティ標準を理解する1. ERC-2981 標準は、非代替トークン (NFT) のロイヤルティ メカニズムを導入するイーサリアムのコメント要求です。ロイヤルティのサポートが組み込まれていない ERC-721 や ERC-1155 などの以前の NFT 標準とは異なり、...

DeFi におけるサンドイッチ攻撃とは何ですか?またトランザクションをどのように悪用しますか?

DeFi におけるサンドイッチ攻撃とは何ですか?またトランザクションをどのように悪用しますか?

2025-11-15 18:39:40

分散型金融におけるサンドイッチ攻撃を理解する1. サンドイッチ攻撃は、自動マーケット メーカー (AMM) に依存する分散型取引所 (DEX) で一般的に観察されるフロントランニングおよびバックランニング操作の一形態です。これらの攻撃は、悪意のある攻撃者がターゲットのトランザクションによって引き起こ...

すべての記事を見る

User not found or password invalid

Your input is correct