Vyper-Entwickler stellen das Vyupgrade-Tool für sichere Vertragsumschreibungen vor

Wenn Sie jemals versucht haben, eine jahrelang alte Codebasis zu aktualisieren, ohne alles kaputt zu machen, kennen Sie das Gefühl. Stellen Sie sich nun vor, dass die Codebasis DeFi-Liquidität in Millionenhöhe steuert. Die Vyper-Entwickler haben gerade ein Tool herausgebracht, das diesen Prozess deutlich weniger beängstigend machen soll.
Das Tool heißt vyupgrade und wurde am 29. Mai in Version 0.2 veröffentlicht. Es wurde hauptsächlich vom Vyper-Mitarbeiter Banteg entwickelt und automatisiert das Umschreiben älterer Vyper-Smart-Verträge in eine moderne Syntax, die mit Compiler-Versionen bis Version 0.4.3 kompatibel ist. Es unterstützt Verträge, die in so alten Versionen wie der 0.1b*-Serie geschrieben wurden, was bedeutet, dass selbst der früheste Vyper-Code in die Gegenwart gebracht werden kann.
Wie die Sicherheitsüberprüfungen tatsächlich funktionieren
Vyupgrade begegnet dem Migrationsrisiko, indem es sowohl den ursprünglichen als auch den geänderten Vertrag neu kompiliert und anschließend eine Reihe von Gleichwertigkeitsprüfungen durchführt. Es vergleicht die ABI, Methodenkennungen und Speicherlayouts zwischen den beiden Versionen. Wenn etwas nicht übereinstimmt oder ein Umschreiben möglicherweise das Verhalten ändern könnte, markiert das Tool dies explizit. Als potenziell unsicher erachtete Umschreibungen werden angezeigt und nicht stillschweigend durchgeschlichen.
Werbung
Die Schnittstelle ist unkompliziert. Entwickler können es über die Befehlszeile mit etwas wie uvx vyupgrade Contracts/ ausführen, mit Optionen wie –check for dry runs und –target-version, um anzugeben, welche Compiler-Version als Ziel verwendet werden soll.
Mit den wichtigsten DeFi-Protokollen kampferprobt
Vyupgrade v0.2 wurde auf Verträgen von Curve, Yearn und Yield Basis ausgeführt. Die Kompatibilität wurde auch für frühe Verträge wie Uniswap v1 bestätigt, das aus den Anfängen des On-Chain-Handels stammt.
Insbesondere für Curve ist dies ein relevanter Kontext. Die Smart Contracts von Curve sind bekanntermaßen in Vyper und nicht in Solidity geschrieben, eine Entscheidung, die im Juli 2023 zu einem zweischneidigen Schwert wurde, als eine Schwachstelle im Vyper-Compiler zu Exploits in mehreren Curve-Pools führte. Tools, die Curve und ähnlichen Protokollen dabei helfen, ihre Verträge mit den neuesten und sichersten Compiler-Versionen in Einklang zu bringen, sind nicht nur eine nette Sache. Sie sind eine direkte Reaktion auf historischen Schmerz.
Warum Vypers Werkzeuglücke wichtig ist
Vyper ist einfacher und überprüfbarer als Solidity und verfügt über eine Pythonic-Syntax, die absichtlich die Möglichkeiten von Entwicklern einschränkt, um die Angriffsfläche zu verringern. Der Vyper-Compiler selbst wurde aktiv weiterentwickelt, wobei v0.4.x bedeutende Änderungen an der Sprache einführte. Doch jedes Compiler-Upgrade führt zu einem Migrationsaufwand für bestehende Verträge. Ein Tool, das diese Migration automatisiert und validiert, beseitigt einen der größten Reibungspunkte bei der Aktualisierung Vyper-basierter Protokolle.
Was das für Anleger bedeutet
Smart-Contract-Schwachstellen bleiben die größte Einzelquelle für Geldverluste in DeFi, und veraltete Compiler-Versionen sind ein bekannter Angriffsvektor. Ein Tool, das es einfacher macht, Verträge für aktuelle, gepatchte Compiler-Versionen einzuhalten, verringert direkt die Wahrscheinlichkeit eines Exploits, der die TVL eines Protokolls über Nacht zerstören kann.
Für Protokolle wie Curve und Yearn, die Vyupgrade bereits getestet haben, könnte die Einführung als Glaubwürdigkeitssignal dienen. Die Ankündigung löste nur begrenzte Medienpräsenz aus und wurde hauptsächlich über X und das GitHub-Repository des Projekts verbreitet, obwohl die Reaktionen der Community überwiegend positiv waren.