Sprache auswählen

Prüfung

Sicherheitsprüfung von Smart Contracts

Unabhängige Sicherheitsprüfung und Architekturanalyse des Arboreteum-Protokolls.

Zielvertrag: Arboreteum (UUPS-Proxy)
Netzwerk: Arbitrum Eins
Solidity-Version: ^0.8.28

1. Zusammenfassung

Arboreteum (ARM) ist ein upgradefähiger ERC-20 Utility-Token mit einem kontinuierlichen Bonding-Curve-Preismechanismus, automatischer Uniswap-V2-Liquiditätssteigerung (ab einer Schwelle von 20 ETH), konfigurierbaren Transfergebühren und rollenbasierter Zugriffskontrolle über den UUPS-Proxy-Standard von OpenZeppelin.

Der Quellcode zeichnet sich durch hohe architektonische Sauberkeit, die korrekte Einhaltung von Upgrade-Sicherheitsmustern (z. B. Deaktivierung von Initialisierern im Implementierungskonstruktor) und effektive Gasoptimierung durch benutzerdefinierte Fehler aus.

2. Architektur & Kernmechanik

A. Upgradefähigkeit & Sicherheit

  • Konstruktorsperre: Der Implementierungskonstruktor führt _disableInitializers() korrekt aus, um die direkte Initialisierung des Logikvertrags zu verhindern.
  • Zugriffsgesteuerte Upgrades: Upgrades sind durch die Überschreibung _authorizeUpgrade eingeschränkt und erfordern die UPGRADER_ROLE.
  • Versionierung: Enthält eine versionierte Reinitialisierungslogik (initializeV5), um Kurvenparameter nach der Bereitstellung sicher zu aktualisieren.

B. Bonding Curve & Liquiditätsgraduierung

  • Dynamische Preisgestaltung: Kaufkosten und Verkaufserlöse skalieren präzise entsprechend den Veränderungen des Umlaufangebots mithilfe genauer Skalierungsfaktoren.
  • Automatische DEX-Graduierung: Sobald totalRaised den GRADUATION_THRESHOLD (20 ETH) erreicht oder überschreitet, kann ein autorisierter Manager finalizeGraduation() auslösen. Dadurch werden 80 % der Vertrags-ETH und der zugehörigen Token auf Uniswap V2 bereitgestellt, die verbleibenden ETH an den Gebührenempfänger gesendet und die LP-Token an der Burn-Adresse (0x0000...dEaD) gesperrt.

3. Zugriffskontrolle & Berechtigungsmatrix

RolleZugehörige FunktionenSicherheitsstufe
DEFAULT_ADMIN_ROLE pause(), unpause(), emergencyWithdrawETH() Hohes Vertrauen
MANAGER_ROLE finalizeGraduation(), setFees() Mittel Vertrauen
UPGRADER_ROLE initializeV5(), Proxy-Logik-Upgrades Kritisches Vertrauen

4. Ergebnisse & Empfehlungen

  • Fester LP-Slippage (Information): Die Funktion _graduate() verwendet eine feste Einstellung für lpSlippageBps (5 %). Das Hinzufügen einer Manager-beschränkten Setter-Funktion für diesen Wert in zukünftigen Upgrades bietet hilfreiche Flexibilität bei Netzwerküberlastung.
  • Externe Auszahlungen via .call: Native Währungsverteilungen verwenden Low-Level-`.call`, was vor Gaslimits schützt, vorausgesetzt, die designierten Gebührenempfänger sind korrekt konfigurierte Verträge oder EOAs, die native Überweisungen empfangen können.
  • Statische Compilerwarnungen: Standardmäßige Block-Explorer-Warnungen im Zusammenhang mit geringfügigen Sonderfällen der Solidity-Optimierung sind informativ und beeinträchtigen die aktuelle Ausführungssicherheit nicht.

5. Fazit

Die Arboreteum-Protokollarchitektur ist strukturell solide, sauber und für den Einsatz auf Arbitrum One optimal optimiert. Die Einhaltung strenger Sicherheitsrichtlinien für private Schlüssel privilegierter Rollen gewährleistet einen sicheren und kontinuierlichen Protokollbetrieb.