Wiki/EIP-1014: Der CREATE2-Opcode und deterministische Adressen
EIP-1014: Der CREATE2-Opcode und deterministische Adressen - Biturai Wiki Knowledge
EXPERTE | BITURAI KNOWLEDGE

EIP-1014: Der CREATE2-Opcode und deterministische Adressen

EIP-1014 führte den CREATE2-Opcode in Ethereum ein, der die Bestimmung von Smart-Contract-Adressen vor der Bereitstellung ermöglicht. Dies fördert fortschrittliche Blockchain-Architekturen und -Anwendungen durch vorhersehbare

Biturai Knowledge
Biturai Knowledge
Research-Bibliothek
Aktualisiert: 26.6.2026
Technisch geprüft

Struktur, Lesbarkeit, interne Verlinkung und SEO-Metadaten wurden automatisiert geprüft. Der Artikel wird fortlaufend aktualisiert und dient der Bildung, nicht als Finanzberatung.

Definition

EIP-1014, bekannt als „Skinny CREATE2“, führte einen neuen Opcode in die Ethereum Virtual Machine (EVM) ein, der die Art und Weise, wie Smart-Contract-Adressen bestimmt werden, grundlegend veränderte. Im Gegensatz zu seinem Vorgänger, dem ursprünglichen CREATE-Opcode, ermöglicht CREATE2 die Bereitstellung von Smart Contracts an einer Adresse, die vor der tatsächlichen Bereitstellung des Contracts auf der Blockchain berechnet werden kann. Diese Vorherbestimmbarkeit ist ein Eckpfeiler für fortgeschrittene Blockchain-Architekturen und -Anwendungen.

Kernaussage

Der Hauptvorteil des CREATE2-Opcodes von EIP-1014 ist die Fähigkeit, Smart Contracts an deterministischen Adressen bereitzustellen. Dies bedeutet, dass die endgültige Adresse eines Contracts bekannt und mit ihr interagiert werden kann, noch bevor der Contract On-Chain existiert. Dies eröffnet Möglichkeiten für „kontrafaktische“ Interaktionen und robustere Systemdesigns.

Mechanik

Der traditionelle CREATE-Opcode bestimmt die Adresse eines neuen Contracts, indem er die Adresse des Senders (msg.sender) und dessen Nonce hasht. Die Nonce ist eine fortlaufende Nummer, die die Anzahl der von einer Adresse gesendeten Transaktionen darstellt. Da die Nonce mit jeder Transaktion, einschließlich Contract-Bereitstellungen, inkrementiert wird, ist die durch CREATE generierte Adresse für jede Bereitstellung von einem bestimmten Sender einzigartig und kann nicht zuverlässig über verschiedene Netzwerke oder sogar mehrere Bereitstellungen auf demselben Netzwerk vorhergesagt werden, wenn andere Transaktionen stattfinden.

Im Gegensatz dazu berechnet CREATE2 die neue Contract-Adresse mithilfe einer anderen Formel: new_address = keccak256(0xff ++ deployer_address ++ salt ++ keccak256(init_code))[12:]

Lassen Sie uns diese Formel aufschlüsseln:

  • 0xff: Ein festes Präfix, das sicherstellt, dass der Hash-Raum für CREATE2-Adressen sich von CREATE-Adressen unterscheidet.
  • deployer_address: Die Adresse des Kontos oder Contracts, das die CREATE2-Operation ausführt.
  • salt: Ein 32-Byte-beliebiger Wert, der vom Bereitsteller bereitgestellt wird. Dieser Parameter ist entscheidend, da er es dem Bereitsteller ermöglicht, die endgültige Adresse zu beeinflussen und mehrere Contracts mit demselben init_code von derselben deployer_address an verschiedene deterministische Adressen bereitzustellen.
  • keccak256(init_code): Der Keccak256-Hash des Initialisierungs-Bytecodes des Contracts. Dies ist der Code, der nur einmal während der Bereitstellung ausgeführt wird, um den Anfangszustand des Contracts einzurichten, und dann den Laufzeit-Bytecode des Contracts zurückgibt.

Da 0xff konstant ist, die deployer_address bekannt ist und der keccak256(init_code) für einen gegebenen Contract-Bytecode fest ist, bietet der salt-Parameter die einzige Variable, die vom Bereitsteller gesteuert wird, um die Adresse des Contracts vollständig zu bestimmen. Dies ermöglicht die Bereitstellung desselben Contract-Bytecodes an genau derselben Adresse über verschiedene Ethereum-Netzwerke (z. B. Mainnet, Testnetze) oder sogar an verschiedene Adressen im selben Netzwerk, indem einfach der salt geändert wird. Diese Fähigkeit ist grundlegend für die Erzielung konsistenter Bereitstellungen und die Ermöglichung fortgeschrittener Multi-Chain-Strategien.

Trading-Relevanz

Obwohl CREATE2 keine direkten Auswirkungen auf tägliche Trading-Entscheidungen hat, sind seine zugrunde liegenden Fähigkeiten für die Infrastruktur, die dezentrale Finanzsysteme (DeFi) und damit auch Trading-Aktivitäten unterstützt, von großer Relevanz. Die Möglichkeit, Contract-Adressen vorab zu bestimmen, erleichtert die Entwicklung von kontrafaktischen Contracts und State-Channels. Kontrafaktische Contracts ermöglichen es Benutzern, mit einer Contract-Adresse zu interagieren, die existieren könnte, auch wenn sie noch nicht bereitgestellt wurde, wodurch Gaskosten gespart werden, indem nur bei Bedarf bereitgestellt wird. State-Channels, die Off-Chain-Transaktionen mit On-Chain-Abwicklung ermöglichen, verlassen sich stark auf CREATE2, um gemeinsame Contract-Adressen zu etablieren, die allen Teilnehmern bekannt sind, ohne sofortige Bereitstellung. Dies reduziert Transaktionsgebühren und erhöht den Durchsatz, was indirekt Tradern durch effizientere und skalierbarere DeFi-Plattformen zugutekommt.

Darüber hinaus ist CREATE2 maßgeblich am Aufbau von aktualisierbaren Smart Contracts beteiligt. Während die Adresse eines Contracts nach der Bereitstellung unveränderlich ist, kann die Logik, auf die er verweist, so konzipiert werden, dass sie aktualisierbar ist. CREATE2 ermöglicht die deterministische Bereitstellung von Proxy-Contracts oder Factory-Contracts, die die Upgrade-Logik verwalten. Dies bedeutet, dass selbst wenn sich die zugrunde liegende Implementierung eines DeFi-Protokolls ändert, die für Benutzer sichtbare Contract-Adresse konsistent bleiben kann, wodurch Störungen bei integrierten Anwendungen und Benutzeroberflächen verhindert werden. Für Trader bedeutet dies stabilere und zuverlässigere Plattformen, wodurch das Risiko der Interaktion mit veralteten oder unsicheren Contract-Versionen reduziert und ein größeres Vertrauen in das Ökosystem gefördert wird. Die durch CREATE2 gebotene Vorhersagbarkeit untermauert einen Großteil der ausgeklügelten Architektur, die in modernen DeFi-Systemen zu finden ist, und ermöglicht die komplexen Interaktionen und Liquiditätspools, die für den Krypto-Handel von zentraler Bedeutung sind.

Risiken

Trotz seiner erheblichen Vorteile birgt der CREATE2-Opcode spezifische Risiken, derer sich Entwickler und Benutzer bewusst sein müssen. Eine Hauptsorge ist das Potenzial für bösartige Contract-Upgrades oder Neu-Bereitstellungen. Da CREATE2 die Bereitstellung eines Contracts an einer bestimmten Adresse ermöglicht, selbst wenn diese Adresse zuvor leer war, könnte ein böswilliger Akteur potenziell einen schädlichen Contract an einer Adresse bereitstellen, die zuvor vertrauenswürdig war, aber später leer wurde (z. B. wenn ein Contract sich selbst zerstört hat). Benutzer könnten dann unwissentlich mit dem bösartigen Contract interagieren, in der Annahme, es handele sich um den ursprünglichen, vertrauenswürdigen. Dieses Risiko ist besonders ausgeprägt in Szenarien, in denen Contract-Adressen fest codiert oder weit verbreitet sind, ohne ausreichende Überprüfung ihres aktuellen Zustands.

Ein weiteres Risiko liegt in der Komplexität der Verwaltung von salt-Werten. Wenn nicht sorgfältig verwaltet, könnte ein Entwickler versehentlich einen Contract an einer Adresse bereitstellen, die mit einer bestehenden oder beabsichtigten Bereitstellung in Konflikt steht, was zu unerwartetem Verhalten oder dem Verlust von Geldern führen kann. Darüber hinaus bedeutet die deterministische Natur, dass, wenn der init_code oder salt kompromittiert oder falsch berechnet wird, die resultierende Contract-Adresse von Angreifern vorhersehbar sein könnte, was ihnen potenziell ermöglicht, Bereitstellungen zu front-runnen oder bekannte Schwachstellen auszunutzen, bevor der legitime Contract vollständig betriebsbereit ist. Robuste Bereitstellungsstrategien, einschließlich gründlicher Tests und sicherer salt-Verwaltung, sind unerlässlich, um diese Risiken zu mindern und die Integrität von CREATE2-basierten Bereitstellungen zu gewährleisten.

Geschichte und Beispiele

EIP-1014 wurde formell als Teil des Constantinople-Upgrades des Ethereum-Netzwerks eingeführt, das im Februar 2019 live ging. Dieses Upgrade war ein bedeutender Meilenstein und brachte mehrere Verbesserungen der EVM mit sich, wobei CREATE2 eine der wirkungsvollsten für die Flexibilität der Contract-Bereitstellung war. Die Motivation für seine Einführung ergab sich aus dem wachsenden Bedarf an komplexeren Contract-Interaktionsmustern, insbesondere solchen, die Off-Chain-Berechnungen und verzögerte On-Chain-Abwicklung umfassen.

Ein Paradebeispiel für die Nützlichkeit von CREATE2 sind State-Channels, wie sie im Raiden Network oder Connext verwendet werden. In diesen Systemen müssen sich die Teilnehmer auf eine Contract-Adresse einigen, an der Gelder gesperrt oder Streitigkeiten beigelegt werden können, noch bevor der Channel-Contract bereitgestellt wird. CREATE2 ermöglicht es, diese Adresse vorab zu berechnen und unter den Teilnehmern zu teilen, sodass sie vertrauensvoll Off-Chain interagieren können, in dem Wissen, dass der On-Chain-Fallback-Mechanismus an einem bekannten Ort bereitsteht. Eine weitere kritische Anwendung ist die kontrafaktische Instanziierung von Contracts, bei der die Adresse eines Contracts bekannt ist, der Contract selbst aber nur bereitgestellt wird, wenn und falls bestimmte Bedingungen erfüllt sind, wodurch Gaskosten für Interaktionen gespart werden, die möglicherweise keine vollständige On-Chain-Finalisierung erfordern. Dieses Konzept ist entscheidend für Skalierungslösungen und eine effiziente Ressourcennutzung auf Ethereum.

Häufige Missverständnisse

Ein häufiges Missverständnis über CREATE2 ist, dass es Contract-Adressen von Natur aus sicherer oder unveränderlicher macht als CREATE. Obwohl CREATE2 Adress-Determinismus bietet, was bedeutet, dass die Adresse vorhergesagt werden kann, macht es den Contract an dieser Adresse nicht von Natur aus sicherer oder verhindert bösartige Neu-Bereitstellungen, wenn die Adresse leer wird. Die Sicherheit eines Contracts hängt immer noch hauptsächlich von der Qualität seines Codes und der Integrität seines Bereitstellungsprozesses ab, nicht allein von der Methode zur Ableitung seiner Adresse. Die Möglichkeit, an einer leeren, zuvor verwendeten Adresse neu bereitzustellen, ist ein Feature, aber auch eine potenzielle Schwachstelle, wenn sie nicht mit äußerster Sorgfalt behandelt wird.

Ein weiteres häufiges Missverständnis ist, dass CREATE2 „aktualisierbare Contracts“ in dem Sinne ermöglicht, dass der Contract-Code an einer bestimmten Adresse einfach geändert werden kann. Dies ist falsch. Sobald ein Contract an einer Adresse bereitgestellt wurde, ist sein Laufzeit-Bytecode unveränderlich. Was CREATE2 erleichtert, ist die deterministische Bereitstellung von Proxy-Contracts oder Factory-Contracts, die die Aktualisierbarkeit verwalten. Diese Proxys leiten Aufrufe an verschiedene Implementierungs-Contracts weiter, deren Adressen aktualisiert werden können. Die Adresse des Proxys selbst bleibt fest, aber die zugrunde liegende Logik, auf die er verweist, kann geändert werden. Diese Unterscheidung ist entscheidend: CREATE2 ermöglicht die Architektur für Aktualisierbarkeit, aber es macht den bereitgestellten Code nicht auf magische Weise veränderbar. Das Verständnis dieses Unterschieds ist sowohl für Entwickler, die Systeme entwerfen, als auch für Benutzer, die mit ihnen interagieren, von entscheidender Bedeutung.

Zusammenfassung

EIP-1014 und sein CREATE2-Opcode stellen einen bedeutenden Fortschritt in den Bereitstellungsfähigkeiten von Ethereum-Smart-Contracts dar. Durch die Ermöglichung der deterministischen Berechnung von Contract-Adressen vor der Bereitstellung hat CREATE2 ein neues Paradigma für den Aufbau skalierbarer, effizienter und robuster dezentraler Anwendungen eröffnet. Seine Auswirkungen zeigen sich in der Verbreitung von State-Channels, kontrafaktischen Contracts und ausgeklügelten aktualisierbaren Contract-Architekturen, die das Rückgrat des modernen DeFi bilden. Obwohl es leistungsstarke Vorteile bietet, müssen Entwickler wachsam bleiben hinsichtlich der damit verbundenen Risiken, insbesondere in Bezug auf bösartige Neu-Bereitstellungen und die sorgfältige Verwaltung von salt-Werten. Letztendlich ermöglicht CREATE2 eine flexiblere und vorhersehbarere Bereitstellungsumgebung, fördert Innovationen und verbessert den Gesamtnutzen der Ethereum-Blockchain für eine Vielzahl von Anwendungsfällen.

OKX EU · Offizieller Biturai-Partner

OKX EU

Entdecke das aktuelle Angebot von OKX EU über den offiziellen Biturai-Partnerlink. Produkte und Verfügbarkeit können je Land abweichen.

OKX EU ansehen

Partnerlink · Biturai kann bei Nutzung eine Vergütung erhalten · keine Anlageberatung

OKX EU

Haftungsausschluss

Dieser Artikel dient ausschließlich zu Informationszwecken. Die Inhalte stellen keine Finanzberatung, Anlageempfehlung oder Aufforderung zum Kauf oder Verkauf von Wertpapieren oder Kryptowährungen dar. Biturai übernimmt keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität der Informationen. Investitionsentscheidungen sollten stets auf Basis eigener Recherche und unter Berücksichtigung der persönlichen finanziellen Situation getroffen werden.

Transparenz

Biturai kann KI-gestützte Werkzeuge zur Recherche, Strukturierung oder Aktualisierung von Wiki-Artikeln einsetzen. Redaktionell geprüfte Artikel werden separat gekennzeichnet; alle Inhalte bleiben Bildungsinhalte und ersetzen keine eigene Prüfung.