Marktkapitalisierung: $2.1233T 1.14%
Volumen (24h): $72.5048B -56.86%
Angst- und Gier-Index:

15 - Extreme Angst

  • Marktkapitalisierung: $2.1233T 1.14%
  • Volumen (24h): $72.5048B -56.86%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $2.1233T 1.14%
Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos
Top Cryptospedia

Sprache auswählen

Sprache auswählen

Währung wählen

Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos

Wie aktualisieren Sie einen Smart Contract mithilfe des UUPS-Proxy-Musters?

The UUPS proxy pattern enables secure, gas-efficient smart contract upgrades by separating logic from storage, allowing seamless updates while preserving contract addresses.

Nov 09, 2025 at 01:19 am

Verständnis des UUPS-Proxy-Musters in der Smart Contract-Entwicklung

Das UUPS-Muster (Universal Upgradeable Proxy Standard) ist zu einem Eckpfeiler der auf Ethereum basierenden Smart-Contract-Architektur geworden, insbesondere im Bereich der dezentralen Finanzen (DeFi). Dieses Design ermöglicht es Entwicklern, die Vertragslogik zu aktualisieren, ohne die Vertragsadresse zu ändern, wodurch Benutzerinteraktionen und plattformübergreifende Integrationen erhalten bleiben. Im Gegensatz zu herkömmlichen Verträgen, die nach der Bereitstellung unveränderlich sind, trennen aktualisierbare Verträge mit UUPS die Speicherschicht von der Logikschicht.

1. Der Proxy-Vertrag enthält die Zustandsvariablen und leitet Funktionsaufrufe an einen Implementierungsvertrag weiter.

  1. Der Implementierungsvertrag enthält die eigentliche Geschäftslogik und kann gegen eine neuere Version ausgetauscht werden.
  2. Ein minimaler Upgrade-Mechanismus ist direkt in den Implementierungsvertrag eingebettet und reduziert so den Overhead.
  3. Nur bestimmte Administrator- oder Governance-Rollen können Upgrades auslösen und so Sicherheit und Kontrolle gewährleisten.
  4. Der UUPS-Standard reduziert die Gaskosten während der Bereitstellung im Vergleich zu anderen Proxy-Mustern wie Transparent Proxies.

Schritte zum Upgrade eines Vertrags mit UUPS

Die Aktualisierung eines Smart Contracts über das UUPS-Muster erfordert eine sorgfältige Planung und Ausführung, um die Systemintegrität aufrechtzuerhalten. Der Prozess hängt von der Interaktion zwischen dem Proxy, der aktuellen Implementierung und dem neuen Implementierungsvertrag ab.

1. Entwickeln Sie die neue Version des Implementierungsvertrags und stellen Sie sicher, dass er von derselben Basisspeicherstruktur erbt.

  1. Kompilieren Sie den neuen Implementierungsvertrag und stellen Sie ihn in der Blockchain bereit, um seine Adresse zu erhalten.
  2. Rufen Sie die Funktion „upgradeTo(address)“ oder „upgradeToAndCall(address, Bytes Memory)“ für den Proxy-Vertrag auf und übergeben Sie dabei die neue Implementierungsadresse.
  3. Stellen Sie sicher, dass der Anrufer über die erforderlichen Administratorrechte verfügt. andernfalls wird die Transaktion rückgängig gemacht.
  4. Validieren Sie das Upgrade, indem Sie die aktualisierte Implementierungsadresse über den Speichersteckplatz des Proxys überprüfen.

Sicherheitsüberlegungen bei UUPS-Upgrades

Beim Umgang mit aktualisierbaren Verträgen bleibt die Sicherheit von größter Bedeutung. Da der Proxy Aufrufe an veränderbare Logik delegiert, kann jeder Fehler in der Zugriffskontrolle oder Logikvalidierung zu irreversiblen Exploits führen.

1. Beschränken Sie die Upgrade-Funktion immer auf vertrauenswürdige Adressen oder Multi-Signatur-Wallets.

  1. Verwenden Sie die UUPSUpgradeable -Schnittstelle von OpenZeppelin, die integrierte Schutzmaßnahmen gegen unbefugte Upgrades enthält.
  2. Implementieren Sie eine Zeitsperre oder Governance-Verzögerung, bevor Upgrades wirksam werden, um Benutzerprüfungen zu ermöglichen.
  3. Testen Sie die neue Implementierung gründlich in einer Staging-Umgebung, die die Produktion widerspiegelt.
  4. Überwachen Sie die Aktivität in der Kette nach der Bereitstellung, um unerwartetes Verhalten frühzeitig zu erkennen.

Gemeinsame Herausforderungen und Best Practices

Während das UUPS-Muster Flexibilität bietet, bringt es Komplexität mit sich, die mit Disziplin bewältigt werden muss. Entwickler müssen strenge Codierungsstandards einhalten, um Speicherkollisionen und Wiedereintrittsrisiken zu vermeiden.

1. Befolgen Sie eine strukturierte Vererbungshierarchie, um Speicherlayoutkonflikte zwischen Versionen zu vermeiden.

  1. Entfernen Sie niemals vorhandene Statusvariablen oder ordnen Sie sie neu an. Neue nur am Ende anhängen.
  2. Verwenden Sie abstrakte Verträge oder Schnittstellen, um Speicherlayouts konsistent zu definieren.
  3. Geben Sie bei Upgrades eindeutige Ereignisse aus, damit Off-Chain-Systeme Änderungen verfolgen können.
  4. Dokumentieren Sie jede Änderung der Logik und überprüfen Sie die Kompatibilität mit vorhandenen Frontends und Drittanbieterdiensten.

Häufig gestellte Fragen

Was passiert, wenn der neue Implementierungsvertrag nach dem Upgrade einen Fehler aufweist? Wenn in der neuen Implementierung ein kritischer Fehler vorliegt, kann dieser alle Interaktionen mit dem Proxy gefährden. Da der Proxy nun an die fehlerhafte Logik delegiert, ist eine sofortige Behebung erforderlich. Dies umfasst in der Regel die Bereitstellung einer weiteren Fixversion und die Durchführung eines zweiten Upgrades. Zur Schadensbegrenzung sollten Not-Aus-Mechanismen oder Leistungsschalter Teil der Konstruktion sein.

Kann jemand die Upgrade-Funktion in einem UUPS-Setup aufrufen? Nein. Der Zugriff auf die Upgrade-Funktion muss durch rollenbasierte Zugriffskontrolle eingeschränkt werden, z. B. durch die Ownable- oder AccessControl-Verträge von OpenZeppelin. Ohne entsprechende Einschränkungen könnten böswillige Akteure den Proxy kapern und ihn auf willkürliche böswillige Logik verweisen.

Wie unterscheidet sich UUPS vom Transparent-Proxy-Muster? Im Transparent-Proxy-Muster befindet sich die Upgrade-Logik im Proxy selbst, was dessen Größe und Gaskosten erhöht. UUPS überträgt diese Logik in den Implementierungsvertrag und macht Proxys leichter und effizienter. Dies bedeutet jedoch, dass jede Implementierung den Upgrade-Code enthalten muss, was eine sorgfältige Verwaltung während der Kompilierung und Bereitstellung erfordert.

Ist es möglich, Upgrades dauerhaft zu deaktivieren? Ja. Nach der Fertigstellung einer Vertragsversion können Entwickler auf den Besitz verzichten oder eine Funktion wie _disableInitializers() aufrufen und Upgrades sperren. Nach der Deaktivierung können keine weiteren Änderungen an der Implementierung vorgenommen werden, wodurch der Vertrag effektiv unveränderlich wird.

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

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Jun 06,2026 at 02:54am

Vertragsabwicklungsmechanismen 1. Lineare unbefristete Verträge auf Bybit werden in USDT abgewickelt, was bedeutet, dass alle Gewinn- und Verlustberec...

Wie kann man Terminmarktmanipulationen wie Stoppjagden und Spoofing erkennen und vermeiden?

Wie kann man Terminmarktmanipulationen wie Stoppjagden und Spoofing erkennen und vermeiden?

Jun 07,2026 at 02:20pm

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Jun 04,2026 at 04:40pm

Konfiguration des Verlustlimits auf Kontoebene 1. Melden Sie sich per Web- oder Mobilanwendung mit Zwei-Faktor-Authentifizierung bei Ihrem Bybit-Konto...

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Jun 05,2026 at 04:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Jun 04,2026 at 03:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

May 29,2026 at 06:19pm

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?

Jun 06,2026 at 02:54am

Vertragsabwicklungsmechanismen 1. Lineare unbefristete Verträge auf Bybit werden in USDT abgewickelt, was bedeutet, dass alle Gewinn- und Verlustberec...

Wie kann man Terminmarktmanipulationen wie Stoppjagden und Spoofing erkennen und vermeiden?

Wie kann man Terminmarktmanipulationen wie Stoppjagden und Spoofing erkennen und vermeiden?

Jun 07,2026 at 02:20pm

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?

Jun 04,2026 at 04:40pm

Konfiguration des Verlustlimits auf Kontoebene 1. Melden Sie sich per Web- oder Mobilanwendung mit Zwei-Faktor-Authentifizierung bei Ihrem Bybit-Konto...

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?

Jun 05,2026 at 04:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?

Jun 04,2026 at 03:59am

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?

May 29,2026 at 06:19pm

Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...

Alle Artikel ansehen

User not found or password invalid

Your input is correct