Durch die Verwendung von Hooks können Entwickler die Skalierbarkeit und Anpassbarkeit des Programms erhöhen, ohne den Originalcode bei jeder Änderung oder Erweiterungsanforderung ändern zu müssen, was dazu beiträgt, den Code sauber und stabil zu halten. Hooks stellen eine elegante Implementierungsmethode für Softwareerweiterungen dar und sind ein sehr nützliches Programmiermodell im Softwaredesign.
Insbesondere wird AOP (Aspektorientierte Programmierung) oft mit der Hook-Programmierung verglichen. AOP ist ein modulares Programmierparadigma, das übergreifende Anliegen umsetzt und dessen Ziel nicht darin besteht, die Hauptfunktionalität ohne Geschäftslogik zu verbessern oder zu modifizieren. Ich werde AOP hier nicht im Detail erläutern. Sie können sich AOP einfach als eine Abstraktion der Hook-Programmierung auf höherer Ebene vorstellen.
Uniswap V4: Hooks Revolution
Im Juni 2023 kündigte Uniswap einen Entwurf des Uniswap V4-Whitepapers an und veröffentlichte ihn. Ein wichtiges Merkmal von Uniswap V4 ist die Einführung von Hooks.
Tatsächlich werden Hooks in Web2-Finanzsystemen häufig verwendet, da diese Systeme normalerweise ein hohes Maß an Anpassung und Skalierbarkeit erfordern. Benutzerdefinierte Szenarien, beispielsweise bei der Verarbeitung von Transaktionen, verwenden Hooks, um vor und nach der Transaktionsausführung zusätzliche Verifizierungslogik einzufügen, z. B. Sekundärverifizierung, Risikokontrollerkennung und Strategien zur Bekämpfung der Geldwäsche (AML). Zu den Skalierbarkeitsszenarien gehört die Integration mit externen APIs oder Microservices über Hooks, um neue Funktionen im Finanzsystem zu erweitern, wie z. B. Identitätsauthentifizierungsdienste, Wechselkursumrechnung, Zahlungsgateways usw. Aber durch die Einführung von Hooks in DeFi hat Uniswap einen Präzedenzfall geschaffen.
Uniswap V4 Hooks ist im Wesentlichen ein externer Vertrag, der von Entwicklern erstellt und definiert wird. Wenn der Liquiditätspool erstellt wird, können Sie einen Hook-Vertrag binden. Anschließend ruft der Liquiditätspool den zuvor gebundenen Hook-Vertrag auf, um bestimmte Vorgänge in verschiedenen Phasen des Lebenszyklus auszuführen, was ein hohes Maß an Anpassung ermöglicht. Entwickler können auf der Grundlage der Hooks von Uniswap personalisiertere Handelsszenarien abdecken und DApps mit umfangreicheren Funktionen erstellen, wie zum Beispiel:
Dynamische Gebühren: Über Hooks können Liquiditätspools Gebühren dynamisch an die Marktvolatilität oder andere Eingabeparameter anpassen, um sich besser an den Markt anzupassen Bedingungen;Diese Hooks können vor Beginn und nach Ende der Transaktion ausgeführt werden, wodurch ähnliche Funktionen wie On-Chain-Preisaufträge erreicht werden. Der Benutzer gibt eine Limit-Order für den Hook-Vertrag auf und verwendet dann ein benutzerdefiniertes oder verwaltetes Oracle im AfterSwap-Callback, um zu bestimmen, ob der Preis das Limit erreicht. Wenn dies nicht der Fall ist, wird die Transaktion ausgeführt abgesagt werden.
Uniswap V4 bindet die Liquidität durch Hooks tief in die Entwicklung von DApp selbst ein, verbessert die DApp-Funktionen und verbessert gleichzeitig den Netzwerkeffekt von Uniswap, wodurch es zur zugrunde liegenden Infrastruktur des gesamten DeFi-Ökosystems wird.
Sicherheitsprobleme von Uniswap V4 Hooks
Das BlockSec-Team hat die Sicherheitsrisiken des Hooks-Mechanismus in Uniswap V4 untersucht. Zusätzlich zu der Tatsache, dass der Hook-Vertrag selbst bösartig ist, sind auch harmlose Hook-Verträge äußerst anfällig Schwachstellen. Das BlockSec-Team analysierte das Awesome Uniswap v4 Hooks-Repository (Commit-Hash 3a0a444922f26605ec27a41929f3ced924af6075) und stellte fest, dass mehr als 30 % der Projekte im Repository anfällig waren. Diese Schwachstellen entstehen hauptsächlich durch Risikointeraktionen zwischen Hook, PoolManager und externen Dritten und können hauptsächlich in zwei Kategorien unterteilt werden:
Auch wenn die erforderliche Zugriffskontrolle auf sensible externe/öffentliche Funktionen ordnungsgemäß implementiert und Eingabeparameter überprüft werden, was die Sicherheitsrisiken im Zusammenhang mit den beiden oben genannten Hook-Typen verringert, kann die Vertragsschwachstelle selbst nicht vollständig vermieden werden, insbesondere wenn der Hook Bei der Implementierung als aktualisierbarer Vertrag können auch ähnliche Probleme wie die UUPSUpgradeable-Schwachstelle von OpenZeppelin auftreten.
Der Grund dafür ist, dass die Hook-Programmierung die Komplexität intelligenter Verträge erhöht und dadurch den Angriffsvektor erhöht. Für gewöhnliche Smart Contracts wird OpenZeppelin über eine Reihe von Best-Practice-Bibliotheken verfügen, um darauf basierende Verträge sicher zu machen, aber es fügt den Entwicklern im Wesentlichen „sichere Nutzungsbeschränkungen“ hinzu. Im Vergleich zu gewöhnlichen Verträgen erfordern Hook-Verträge strengere „Sicherheitsbeschränkungen für die Nutzung“. Damit die Hook-Programmierung weit verbreitet ist, ist daher ein umfassendes Framework erforderlich: eine sichere Ausführungsumgebung, ein für Hook geeignetes Programmierparadigma und strengere Nutzungsbeschränkungen.
Uniswap V4-Hooks werden auch durch die Einschränkungen von Smart Contracts verursacht Hook-Programmierlösungen? Artela Aspect gibt uns die Antwort!
Artela ist ein hoch skalierbares und leistungsstarkes EVM-kompatibles Layer-1-Blockchain-Netzwerk, das für Entwickler entwickelt wurde, um modulare, funktionsreiche, skalierbare und anpassbare Anwendungen zu erstellen. Artela definiert ein neues programmierbares Modul als native Erweiterung namens Aspect, die AOP auf innovative Weise in das Blockchain-Netzwerk einführt. Aspect muss den Verbindungspunkt angeben, d : Transaktionsüberprüfung;
Artela Aspects hat als Hooks-Implementierung auf Protokollebene sehr große Vorteile im Vergleich zu Uniswap V4 Hooks:
Erstens ist Artela Aspects durch die Verwendung von WASM zur Ausführung seines Codes um mehrere Größenordnungen höher als die von EVM.
Zweitens kann Artela Aspects den gesamten Transaktionslebenszyklus einbinden, nicht nur die Kernlogik von DeFi Erstellen Sie eine DApp mit umfangreicheren Funktionen. Am wichtigsten ist auch, dass Artela Aspects unabhängig in einer sicheren Sandbox-Umgebung ausgeführt wird. Diese Isolation stellt sicher, dass die Ausführung von Aspects die Sicherheit der Vertragsausführung nicht beeinträchtigt. Die Isolation von Artela Aspects begrenzt die gegenseitigen Aufrufe zwischen dem Hook-Vertrag als normalem Vertrag und anderen externen Verträgen und löst so die Schwachstellen der Uniswap V4 Hooks-Zugriffskontrolle und Eingabeüberprüfung. Bei DeFi-Verträgen wie Uniswap können Sie ein schnelleres, stärkeres und sichereres Hook-Erlebnis genießen, indem Sie es auf Artela bereitstellen. ZusammenfassungAls wichtiger Teilnehmer und Marktführer in der DeFi-Branche hat Uniswap eine entscheidende Rolle bei der Förderung des Branchenfortschritts und der Verbesserung der Funktionen gespielt, die diesmal zweifellos die Entwicklung von DEX vorantreiben werden durch Nachfolger. Aber Uniswap V4 Hooks ist durch die Einschränkungen des Smart-Vertrags selbst eingeschränkt, egal wie solide das Protokolldesign ist und wie perfekt die Tool-Bibliothek ist, es kann grundsätzlich keine gegenseitigen Aufrufe zwischen dem Hook-Vertrag und anderen externen Verträgen verhindern Schwachstellen.Als leistungsstarkes EVM-kompatibles Layer-1-Blockchain-Netzwerk hat Artela Aspect so konzipiert, dass es vom Beginn des Protokolls an unabhängig in WASM läuft, um die Hooks-Programmierung nativ zu unterstützen, was die Sicherheit erheblich verbessert. Dies bietet eine fortschrittliche Lösung für DeFi-Protokolle, die Sicherheit als lebenswichtig betrachten.
Das obige ist der detaillierte Inhalt vonVon Uniswap V4 zum nativen Artela-Protokoll, der fortgeschrittenen Reise der DeFi Hooks-Revolution. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!