Die Idee hinter dem Vyper -Projekt war es, etwas zu entwickeln, das auf Sprachebene entwickelt wurde, um natürlich ein hohes Maß an Sicherheit zu zeigen. Das Projekt wurde ursprünglich von Vitalik als Nachweis des Konzepts für Schlangen, seinem Vorgänger, verfasst, aber kurz nachdem sein Schöpfungsvyper ohne einen speziellen Betreuer fand. Glücklicherweise gab es begeisterte Gemeindemitglieder, die die Taschenlampe in Anspruch nahmen und die Entwicklung des Projekts fortsetzten, und wir (das EF-Python-Team) wurden Anfang dieses Jahres einige Zeit wieder in das Projekt involviert.
In diesem Herbst wurde das Konsensys-Diligence-Team im in Python ansässigen Vyper-Compiler ein vorläufiges Sicherheitsaudit durchgeführt. Sie können die Ergebnisse hier selbst lesen.
Wir empfehlen Ihnen, den Bericht zu lesen. Es gibt jedoch zwei Hauptaufnahmen.
- Der Vyper -Compiler gibt mehrere schwerwiegende Fehler.
- Die Codebasis verfügt über ein hohes Maß an technischen Schulden, wodurch diese Probleme komplex sind.
Da die bestehende Vyper-Implementierung von Python ansässig noch nicht bereit ist, wurde sie aus der Ethereum Github-Organisation in eine eigene Organisation verlegt: Vyperlang. Die vorhandenen Betreuer planen, die Probleme wieder unabhängig voneinander zu lösen, aber wir werden das Projekt hier weiter verfolgen:> https://github.com/vyperlang/vyper
In der Zwischenzeit arbeitet unser Team weiter an einem Rost-basierten Compiler in Tandem. Mehr dazu unten, aber zuerst hier ist ein bisschen mehr darüber, wie wir dort gekommen sind, wo wir heute sind.
Im Laufe dieses Jahres haben wir mit den Projektbeteiligern zusammengearbeitet, um die Verbesserung der Codequalität und der Architektur des Projekts zu verbessern. Nach ein paar Monaten Arbeit waren wir skeptisch, dass die Python -Codebasis wahrscheinlich die Idee, die Vyper versprochen hatte, die Idee lieferte. Die Codebasis enthielt eine erhebliche Menge an technischen und architektonischen Schulden, und aus unserer Sicht schien es nicht so, als würden sich die bestehenden Betreuer darauf konzentriert, dies zu beheben.
Rost erkunden
Anfang dieses Jahres im August haben wir untersucht, wie wir eine Version des Vyper -Compilers produzieren, die auf grundsätzlich unterschiedlichen Architektur basieren. Ziel war es, einen Compiler in Rost zu schreiben, der die vorhandene Arbeit des Soliditätsteams nutzt und die Yul -Zwischendarstellung verwendet, um uns während der Zusammenstellung von EVM oder EWASM zu zielen. Ein Rostbasis -Compiler kann leicht zu WASM zusammengestellt werden, was den Compiler viel tragbarer macht als einer in Python. Indem wir auf Yul aufbaut, würden wir die EVM- und EWASM -Kompilierung kostenlos erhalten, wobei der Compiler nur die Transformation von einem Vyper Ast nach Yul verarbeiten musste. Wir waren zusammen mit unserem Rost -basierten Vyper -Compiler ausreichend weit, als das Python Vyper -Audit freigelassen wurde, und waren zuversichtlich in die DirectionL. Die Prüfung bestätigte viele Bedenken hinsichtlich der Python -Codebasis und half, die Richtung zu validieren, die wir eingegangen sind.
Die Arbeit geht weiter
Trotzdem beabsichtigen die Betreuer des Python Vyper -Codebasis, das Projekt fortzusetzen. Obwohl wir nicht vorhaben, uns weiterhin an der Python -Codebasis zu beteiligen, wünschen wir ihnen Glück, wollten aber auch die jüngsten Ereignisse zur Kenntnis nehmen, um versehentlich zu signalisieren, dass das Projekt sicher zu verwenden war.
Derzeit gibt es derzeit zwei “vyper” -Kompiler: die von EF unterstützte Arbeiten zum Aufbau eines Compilers, der in Rost geschrieben wurde, um die ursprüngliche Idee von Vyper zu liefern, und die Python-Bemühungen, die unabhängig von den gleichen Zielen in der Python-Codebase wirken. Wir hoffen, dass wir mit mehreren Implementierungen weiterhin an einem einzigen “Vyper” arbeiten können, und wir werden alle auf dem neuesten Stand halten, wenn das Projekt voranschreitet.

