Zum Inhalt springen

Warum Move?

Die Programmiersprache Move wurde ursprünglich von einem Team von Ingenieuren bei Facebook für das Diem Payment Network entwickelt. Move ist als plattformunabhängige Sprache konzipiert, um gemeinsame Bibliotheken, Tools und Entwicklergemeinschaften über verschiedene Blockchains mit völlig unterschiedlichen Daten- und Ausführungsmodellen hinweg zu ermöglichen. Bei Aptos glauben wir an den Aufbau einer starken Entwicklergemeinschaft in Move und laden sie ein, auf dem Move on Aptos Stack aufzubauen und zur Open-Source-Software beizutragen.

Move basiert auf den folgenden Prinzipien:

PrinzipErklärung
Standardmäßig sicherFinanzsysteme sind darauf ausgelegt, sicherzustellen, dass Benutzer keine Gelder verlieren. Move wurde entwickelt, um ganze Klassen von Angriffen und Fehlern wie Reentrancy-Angriffe, Double Spends und arithmetische Überläufe zu verhindern. Typsicherheit und Compile-Time-Checks stehen im Vordergrund der Sicherheit.
LaufzeitverifikationDer Bytecode kann zur Laufzeit verifiziert werden, um zu überprüfen, dass nichts schief gelaufen ist, was zusätzliche Sicherheit bietet und böswillige Akteure verhindert.
Formale VerifikationMove on Aptos bietet eine Spezifikationssprache zur formalen Verifikation von Verträgen. Dies ermöglicht es, Invarianten zu beweisen und bei Code-Audits zu helfen.
EinfachheitDie Befehle und der Bytecode sind bewusst einfach gehalten. Dies ermöglicht eine einfache Dekompilierung, Laufzeitverifikation und Code-Inspektion. Die Verwendung regulärer Programmiersprachen für Blockchains erfordert oft, große Teile der Sprache zu ignorieren, um sie für Smart Contracts geeignet zu machen (z.B. Rust).

Move on Aptos unterstützt die vollständige Sprache, die vom Team bei Facebook entwickelt wurde, mit zusätzlichen Erweiterungen zur Verbesserung der Sicherheit und der Entwicklererfahrung.

VorteileErklärung
Formale VerifikationDas Aptos Framework ist vollständig spezifiziert und formal mit dem Move Prover verifiziert. Dies umfasst die Kernverträge für Governance, NFTs und Token.
Gas-AbdeckungMove VM hat 100% Gas-Abdeckung. Gas wird basierend auf der tatsächlichen Nutzung im System (CPU, Speicher, Storage, I/O) berechnet. Mit anderen Worten, keine Gas-Exploits.
SicherheitsredundanzSicherheitsredundanz durch Laufzeit-Sicherheitschecks.
BerechtigungskontrollenBerechtigungskontrollen können flexibel auf verschiedenen Ebenen aufgebaut werden. Zum Beispiel existieren standardmäßig Token-Level-Berechtigungskontrollen, um RWA-Tokenisierung zu ermöglichen.
VorteileErklärung
Move-Entwicklungstools- Unit-Tests: Move hat eingebaute Unit-Tests für alle Verträge. Aptos bietet zusätzlich Testfunktionalität im Framework zum Testen verschiedener Szenarien.
- Coverage: Coverage-Tools ermöglichen sowohl Quell- als auch Bytecode-Level-Coverage-Berichte.
- Decompiler: Für bessere Sicherheit kann On-Chain-Bytecode disassembliert oder dekompiliert werden, um Einblick in die tatsächlichen Verträge zu geben.
- IDE-Plugins: Aptos unterstützt alle wichtigen IDEs: VSCode, Cursor etc. und IntelliJ.
DatenmodellAptos hat ein zugängliches Datenmodell mit der On-Chain gespeicherten Datendefinition. Objekte und Konten können mehrere unterschiedliche Strukturen in einem leicht zu parsenden Format haben.
UpgradefähigkeitUpgradefähigkeit stellt sicher, dass Anwendungsschnittstellen nicht beschädigt werden können und keine explizite Übernahme von nachgelagerten Anwendungen erfordern. Verträge können einfach an Ort und Stelle aktualisiert werden, um Fehler zu beheben.
Cross-InteraktionMove ermöglicht die Interaktion zwischen Verträgen durch die Verwendung typsicherer Strukturen.
Code-SpeicherungAptos speichert Quellcode On-Chain, was die Fähigkeit zur Überprüfung und Sicherstellung der Vertrags-zu-Bytecode-Korrektheit verbessert.
Gesponserte TransaktionenNative Unterstützung für gesponserte Transaktionen ermöglicht es, dass Transaktionen von anderen Benutzern bezahlt werden, ohne dass spezielle Dienste oder vertragsspezifischer Code erforderlich sind.
Robuste Token-StandardsDie Digital Asset und Fungible Asset Standards bieten Flexibilität und einen einheitlichen Standard für verschiedene Arten von Token und digitalen Assets On-Chain. Diese wurden von bestehenden Standards wie ERC-20, ERC-721, ERC-1155 und Token-2022 beeinflusst.
On-Chain-ZufälligkeitNative On-Chain-unvoreingenommene Zufälligkeit bietet eine sichere und konsistente Möglichkeit, Zufallszahlen zu erhalten, mit zusätzlichen Sicherheitschecks zur Compile-Zeit.