Marktkapitalisierung: $3.3432T -2.41%
Volumen (24h): $219.3876B 35.06%
Angst- und Gier-Index:

25 - Furcht

  • Marktkapitalisierung: $3.3432T -2.41%
  • Volumen (24h): $219.3876B 35.06%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $3.3432T -2.41%
Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos
Top Cryptospedia

Sprache auswählen

Sprache auswählen

Währung wählen

Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos

Was ist der CREATE2-Opcode und wie ermöglicht er deterministische Vertragsadressen?

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

Nov 13, 2025 at 11:40 pm

Den CREATE2-Opcode in Ethereum verstehen

1. Der CREATE2-Opcode wurde in Ethereum durch EIP-1014 während des Constantinople-Upgrades eingeführt. Es dient als Alternative zum herkömmlichen CREATE-Opcode, der intelligente Verträge mithilfe einer Absender-Nonce bereitstellt, um die resultierende Vertragsadresse zu ermitteln. Im Gegensatz zu CREATE können Entwickler mit CREATE2 die Adresse eines Vertrags vor der Bereitstellung berechnen, indem sie bestimmte Eingaben außer der Nonce berücksichtigen.

2. Diese Funktionalität ist in Szenarien von entscheidender Bedeutung, in denen die Vorhersehbarkeit von Vertragsadressen erforderlich ist. Beispielsweise müssen Off-Chain-Systeme oder Layer-2-Lösungen möglicherweise auf einen Vertrag verweisen, der noch nicht bereitgestellt wurde. Durch die Vorabberechnung von Adressen unterstützt CREATE2 vertrauenswürdige Interaktionen und verbessert die Koordination zwischen dezentralen Komponenten.

3. Die Struktur der von CREATE2 generierten Adresse basiert auf einem kryptografischen Hash mit vier Elementen: der Adresse des Bereitstellers, einem benutzerdefinierten Salt (ein 32-Byte-Wert), dem Bytecode des Vertrags (auch als init_code bekannt) und dem keccak256-Hash dieses Bytecodes. Da keine dieser Eingaben von der Transaktionsanzahl des Absenders abhängt, ergibt dieselbe Kombination immer dieselbe Adresse.

4. Ein wesentlicher Vorteil dieses Mechanismus ist die Möglichkeit, Verträge unter bestimmten Bedingungen bereitzustellen. Ein Vertrag kann nur dann umgesetzt werden, wenn bestimmte Bedingungen erfüllt sind, seine zukünftige Adresse bleibt jedoch im Voraus bekannt. Dies ermöglicht Anwendungsfälle wie die kontrafaktische Instanziierung, bei der Anwendungen die Existenz eines Vertrags an einem bekannten Ort annehmen, noch bevor er in der Kette aktiv ist.

Deterministische Adressgenerierung erklärt

1. Deterministische Vertragsadressen bedeuten, dass bei gleichen Eingaben die Ausgabeadresse immer identisch ist. Bei CREATE2 lautet die verwendete Formel keccak256(0xff + address + salt + keccak256(init_code))[12:] . Das Präfix 0xff gewährleistet die Trennung des Namensraums von den über CREATE erstellten Adressen und reduziert so das Kollisionsrisiko.

2. Der Salzparameter spielt eine entscheidende Rolle. Es wird vom Entwickler ausgewählt und kann aussagekräftige Daten wie Benutzerkennungen, Zeitstempel oder anwendungsspezifische Schlüssel kodieren. Solange der Salt und andere Komponenten unverändert bleiben, führt die erneute Bereitstellung desselben Bytecodes von derselben Erstelleradresse zu genau demselben Ziel.

3. Da die Adresse vom Hash des Initialisierungscodes und nicht vom Laufzeitcode abhängt, ändert jede Änderung der Konstruktorargumente oder des kompilierten Bytecodes die endgültige Adresse. Dies macht Bereitstellungen sehr empfindlich gegenüber Kompilierungsdetails und erfordert eine sorgfältige Versionskontrolle und reproduzierbare Builds.

4. Entwickler nutzen häufig die deterministische Adressierung für Wallet-Fabriken, bei denen jeder Benutzer ein eindeutig abgeleitetes Smart-Contract-Wallet erhält. Diese Wallets können außerhalb der Kette erwartet werden, sodass Transaktionen bereits vor der Bereitstellung korrekt weitergeleitet werden können.

Anwendungen in dezentralen Finanz- und Layer-2-Systemen

1. Bei dezentralen Börsen und automatisierten Market Makern erleichtert CREATE2 die Erstellung von Pools mit vorhersehbaren Adressen. Dies vereinfacht die Integration für Frontends und Bots, die Pooldaten abfragen können, ohne auf Ereignisprotokolle warten oder sich auf Registrierungen verlassen zu müssen.

2. Layer-2-Skalierungslösungen wie State Channels und Rollups nutzen CREATE2 für die kontrafaktische Vertragsbereitstellung. Teilnehmer eines Kanals können mit einer virtuellen Vertragsinstanz interagieren und wissen genau, wo sie sich befinden würde, wenn sie jemals in der Kette zustande käme. Dadurch wird der Fußabdruck in der Kette reduziert und gleichzeitig die Sicherheitsgarantien gewahrt.

3. Smart-Contract-Wallets wie jene, die mit ERC-4337 (Kontoabstraktion) kompatibel sind, basieren auf deterministischen Adressen, um ein nahtloses Benutzererlebnis zu ermöglichen. Benutzer können Gelder an ihre zukünftige Wallet-Adresse erhalten, bevor diese existiert, da die Finanzierungstransaktionen auf den vorab berechneten Standort abzielen.

4. Ein weiterer Anwendungsfall betrifft aktualisierbare Proxy-Muster, bei denen der Implementierungsvertrag deterministisch bereitgestellt wird. Obwohl Proxys normalerweise CREATE verwenden, verbessert die Kombination mit CREATE2-basierten Fabriken die Modularität und Überprüfbarkeit über Bereitstellungen hinweg.

Häufig gestellte Fragen

F: Kann CREATE2 verwendet werden, um denselben Vertrag mehrmals an derselben Adresse bereitzustellen?

A: Nein. Wenn an einer berechneten CREATE2-Adresse bereits ein Vertrag vorhanden ist, schlägt der Versuch, dort einen anderen Vertrag bereitzustellen, fehl. Das EVM verhindert das Überschreiben von vorhandenem Code und sorgt so für Unveränderlichkeit, sobald eine Adresse belegt ist.

F: Wie wirkt sich der Salt-Wert auf die Sicherheit in CREATE2-Bereitstellungen aus?

A: Das Salz muss sorgfältig ausgewählt werden. Vorhersehbare Salze können es Angreifern ermöglichen, vorab bösartige Verträge an erwarteten Adressen bereitzustellen. Durch die Verwendung sicherer Zufälligkeiten oder eindeutiger Kennungen wird dieses Risiko gemindert, insbesondere in Umgebungen ohne Berechtigungen.

F: Ist CREATE2 in Bezug auf Gas teurer als CREATE?

A: Ja. CREATE2 verbraucht aufgrund der zusätzlichen Hashing-Vorgänge, die zur Berechnung der deterministischen Adresse erforderlich sind, im Allgemeinen mehr Gas. Die genauen Kosten hängen von der Größe des init_code und den Netzwerkbedingungen zum Zeitpunkt der Bereitstellung ab.

Haftungsausschluss:info@kdj.com

Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!

Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.

Verwandtes Wissen

Was ist ein Denial-of-Service-Angriff (DoS) in einem Smart Contract und was sind seine häufigsten Formen?

Was ist ein Denial-of-Service-Angriff (DoS) in einem Smart Contract und was sind seine häufigsten Formen?

Nov 10,2025 at 05:20am

Denial of Service in Smart Contracts verstehen 1. Ein Denial-of-Service-Angriff (DoS) im Zusammenhang mit Smart Contracts bezieht sich auf ein Szenari...

Wofür wird eine kryptografische Nonce beim Signieren von Transaktionen verwendet?

Wofür wird eine kryptografische Nonce beim Signieren von Transaktionen verwendet?

Nov 11,2025 at 05:59am

Kryptografische Nonces in Blockchain-Transaktionen verstehen 1. Eine kryptografische Nonce ist eine Zufalls- oder Pseudozufallszahl, die nur einmal im...

Wie funktioniert die Vererbung in Solidity-Smart-Verträgen?

Wie funktioniert die Vererbung in Solidity-Smart-Verträgen?

Nov 11,2025 at 10:40pm

Vererbung in Solidität: Aufbau modularer Smart Contracts 1. Durch die Vererbung in Solidity kann ein Vertrag die Eigenschaften und Funktionen eines an...

Was ist der Unterschied zwischen einem Externally Owned Account (EOA) und einem Vertragskonto?

Was ist der Unterschied zwischen einem Externally Owned Account (EOA) und einem Vertragskonto?

Nov 13,2025 at 04:00am

Erläuterungen zu Externally Owned Accounts (EOA) 1. Ein extern geführtes Konto wird direkt durch einen privaten Schlüssel kontrolliert, was bedeutet, ...

Was ist der NFT-Lizenzstandard ERC-2981 und wie funktioniert er?

Was ist der NFT-Lizenzstandard ERC-2981 und wie funktioniert er?

Nov 13,2025 at 05:39am

Den NFT-Lizenzstandard ERC-2981 verstehen 1. Der ERC-2981-Standard ist ein vorgeschlagener Ethereum-Request for Comment, der einen Lizenzgebührenmecha...

Was ist ein Minimal-Proxy-Vertrag (EIP-1167) und wie spart er bei der Bereitstellung Gas?

Was ist ein Minimal-Proxy-Vertrag (EIP-1167) und wie spart er bei der Bereitstellung Gas?

Nov 12,2025 at 11:39am

Was ist ein Minimal-Proxy-Vertrag (EIP-1167)? 1. Ein Minimal-Proxy-Vertrag, standardisiert im Ethereum Improvement Proposal (EIP) 1167, ist ein einfac...

Was ist ein Denial-of-Service-Angriff (DoS) in einem Smart Contract und was sind seine häufigsten Formen?

Was ist ein Denial-of-Service-Angriff (DoS) in einem Smart Contract und was sind seine häufigsten Formen?

Nov 10,2025 at 05:20am

Denial of Service in Smart Contracts verstehen 1. Ein Denial-of-Service-Angriff (DoS) im Zusammenhang mit Smart Contracts bezieht sich auf ein Szenari...

Wofür wird eine kryptografische Nonce beim Signieren von Transaktionen verwendet?

Wofür wird eine kryptografische Nonce beim Signieren von Transaktionen verwendet?

Nov 11,2025 at 05:59am

Kryptografische Nonces in Blockchain-Transaktionen verstehen 1. Eine kryptografische Nonce ist eine Zufalls- oder Pseudozufallszahl, die nur einmal im...

Wie funktioniert die Vererbung in Solidity-Smart-Verträgen?

Wie funktioniert die Vererbung in Solidity-Smart-Verträgen?

Nov 11,2025 at 10:40pm

Vererbung in Solidität: Aufbau modularer Smart Contracts 1. Durch die Vererbung in Solidity kann ein Vertrag die Eigenschaften und Funktionen eines an...

Was ist der Unterschied zwischen einem Externally Owned Account (EOA) und einem Vertragskonto?

Was ist der Unterschied zwischen einem Externally Owned Account (EOA) und einem Vertragskonto?

Nov 13,2025 at 04:00am

Erläuterungen zu Externally Owned Accounts (EOA) 1. Ein extern geführtes Konto wird direkt durch einen privaten Schlüssel kontrolliert, was bedeutet, ...

Was ist der NFT-Lizenzstandard ERC-2981 und wie funktioniert er?

Was ist der NFT-Lizenzstandard ERC-2981 und wie funktioniert er?

Nov 13,2025 at 05:39am

Den NFT-Lizenzstandard ERC-2981 verstehen 1. Der ERC-2981-Standard ist ein vorgeschlagener Ethereum-Request for Comment, der einen Lizenzgebührenmecha...

Was ist ein Minimal-Proxy-Vertrag (EIP-1167) und wie spart er bei der Bereitstellung Gas?

Was ist ein Minimal-Proxy-Vertrag (EIP-1167) und wie spart er bei der Bereitstellung Gas?

Nov 12,2025 at 11:39am

Was ist ein Minimal-Proxy-Vertrag (EIP-1167)? 1. Ein Minimal-Proxy-Vertrag, standardisiert im Ethereum Improvement Proposal (EIP) 1167, ist ein einfac...

Alle Artikel ansehen

User not found or password invalid

Your input is correct