Heim > Die heutigen Krypto-News
bitcoin
bitcoin

$98433.185399 USD

1.59%

ethereum
ethereum

$2763.459218 USD

1.27%

xrp
xrp

$2.668025 USD

-0.54%

tether
tether

$1.000217 USD

0.02%

bnb
bnb

$653.708822 USD

0.95%

solana
solana

$175.851956 USD

2.55%

usd-coin
usd-coin

$0.999920 USD

0.00%

dogecoin
dogecoin

$0.253731 USD

-0.29%

cardano
cardano

$0.797338 USD

1.97%

tron
tron

$0.250127 USD

5.04%

chainlink
chainlink

$18.347549 USD

1.13%

sui
sui

$3.505087 USD

6.65%

avalanche
avalanche

$25.192409 USD

5.07%

stellar
stellar

$0.339360 USD

-0.30%

litecoin
litecoin

$133.960706 USD

3.07%

Move (Programmiersprache)

Was ist Move (Programmiersprache)?

Die Programmiersprache Move wurde ursprünglich zum Aufbau der Diem-Blockchain verwendet. Es wurde von der Diem Association gegründet, einem von Meta unterstützten Technologiekonsortium. Obwohl die Blockchain schließlich verworfen wurde, wird Move noch heute verwendet.

Die Programmiersprache Move ist eine ausführbare Bytecode-Sprache. Es implementiert intelligente Verträge und benutzerdefinierte Transaktionen. Move zielt darauf ab, Probleme zu beheben, die durch andere Blockchain-Programmiersprachen wie Solidity entstehen. Die grundlegenden Ziele der Erreichung digitaler Knappheit und der Kontrolle über digitale Vermögenswerte bleiben jedoch dieselben. Insbesondere zielt es auch darauf ab, doppelte Ausgaben zu verhindern und ermöglicht es den Inhabern digitaler Vermögenswerte, Eigentumsinformationen zu pflegen.

Dadurch maximiert Move die Sicherheit und behält gleichzeitig ein optimiertes Design und deutlich niedrigere Gaskosten bei als Blockchains, die nicht auf Move basieren.

Wie funktioniert die Programmiersprache Move?

Move verwendet lineare Logik, was bedeutet, dass Ressourcen nur einmal verwendet und niemals kopiert oder implizit verworfen werden können. Dadurch können Entwickler benutzerdefinierte Ressourcentypen kodieren, die nicht gelöscht oder dupliziert werden können und besser behandelt werden als andere.

Im statischen Typsystem von Move müssen Variablen als Typ (eine Zahl/ein Wort) definiert werden. Es schützt priorisierte Ressourcen. Dennoch können sie wie reguläre Elemente verwendet und in Datenstrukturen gespeichert oder als Werte in Berechnungen bereitgestellt werden. Auch in Modulen sind Ressourcen transparent und vor dem Abruf durch externe Quellen verborgen.

Darüber hinaus sind Module in Move flexibel und sicher, da die Beziehung zwischen Modulen, Ressourcen und Prozeduren der Beziehung zwischen Klassen, Objekten und Methoden in der objektorientierten Programmierung ähnelt.

Move kann auch alle Sicherheitsmerkmale in der Kette überprüfen und statische Überprüfungstools außerhalb der Kette unterstützen. Dies reduziert die Komplexität der On-Chain-Verifizierung erheblich. Sein Design basiert auf drei Kernentscheidungen:

  • Das Fehlen eines dynamischen Versands vermeidet die Erstellung von Anrufdiagrammen und ermöglicht die statische Bestimmung des Anrufstandorts. Dadurch kann Move die Auswirkungen eines Prozeduraufrufs einfacher und ohne zusätzliche Komplexität erkennen.

  • Dank seiner Modularität können Module zur Funktionsüberprüfung isoliert werden und helfen bei der Abstraktion von Daten und der Lokalisierung kritischer Vorgänge auf Ressourcen. Die Sicherheit wird durch die Kapselung des Moduls neben dem Typsystem der Sprache gewährleistet, was bedeutet, dass der Code außerhalb eines Moduls seine Typen nicht verletzen kann. Darüber hinaus wird durch die Untersuchung isolierter Module eine gründliche Funktionsüberprüfung für signifikante Modulinvarianten bereitgestellt.

  • Schließlich ermöglicht seine begrenzte Veränderbarkeit die Verwendung von Referenztypen ähnlich wie C++. Referenzen sind für die Mutation jedes Move-Werts von entscheidender Bedeutung. Normalerweise werden die temporären Werte innerhalb eines Transkriptionsskripts erstellt und zerstört. Ähnlich wie bei Rust führt der Bytecode-Verifizierer von Move „Borrow-Checks“ durch, um mindestens eine veränderbare Referenz zu bestätigen.

Schließlich lehnt Move Programme ab, die nicht der Typensicherheit, Speichersicherheit und Ressourcensicherheit entsprechen. Stattdessen kann eine höhere Programmiersprache mit einem Compiler verwendet werden, der für die Überprüfung der Eigenschaften zuständig ist. Die Alternative ist eine untypisierte Baugruppe auf niedriger Ebene mit Sicherheitsprüfungen.

Wie unterscheidet sich die Programmiersprache Move?

Die Programmiersprache Move hebt sich in mehrfacher Hinsicht von anderen Blockchain-Programmiersprachen ab:

  • Es gibt keine Einschränkungen bei der Definition benutzerdefinierter Datentypen von Prozeduren.

  • Es bettet Zugriffskontrollrichtlinien in die Sprachsemantik ein.

  • Dadurch wird ein Standardtypsystem für digitale Vermögenswerte abgeschafft (im Gegensatz zu Bitcoin oder Ethereum).

  • Es ermöglicht das Auffinden einzelner Assets mit Darstellung in der Programmiersprache. Benutzerdefinierte Assets sollten von ihrem Entwickler auf Sicherheitseigenschaften überprüft werden.

Dies ermöglicht es Move, problemlos neue Assets mit Knappheit zu erstellen, ohne Entwickler dazu zu zwingen, diese selbst zu entwickeln. Darüber hinaus können Entwickler die Zugriffskontrolle ändern und anpassen, wodurch die Programmiersprache vielseitiger und skalierbarer wird als ihre Konkurrenten.

Komponenten der Move-Programmiersprache

Die Programmiersprache Move besteht aus mehreren Komponenten, die ihre Grundlage bilden.

Typen

Dies können boolesche, vorzeichenlose Ganzzahlen (64-Bit), Byte-Arrays fester Größe und Adressdatentypen (256-Bit) sein.

Struktur

Zwei spezifische Typen: freundlich und uneingeschränkt. Ersteres bezieht sich auf Ressourcenstrukturen und letzteres auf allgemeine Strukturen.

Verfahren

Methoden, die entweder öffentlich oder intern sind. Die azyklische Modulabhängigkeit hilft bei der Abwehr von Wiedereintrittsangriffen.

Bytecode-Verifizierer

Der Schwerpunkt liegt auf der Überprüfung auf Sicherheitsmerkmale vor der Veröffentlichung des Moduls. Bevor Programme im Netzwerk live geschaltet werden, durchlaufen sie den Verifizierer und durchlaufen mehrere Verifizierungsphasen wie:

  • Typprüfung

  • Überprüfung des Stapelsaldos

  • Referenzprüfung

  • Entwicklung von Kontrollgraphen

  • Referenzverlinkung

  • Ressourcenprüfung

Bytecode-Interpreter

Es folgt der Verifizierung und ähnelt Ethereum, das Gas verwendet. Dadurch werden Endlosschleifenausführungen gewährleistet.

Virtuelle Maschine verschieben

Ähnlich wie bei anderen Blockchains, wobei Blöcke mehrere Transaktionen enthalten und jede Transaktion ausgeführt wird, um einen Transaktionseffekt zu erzeugen. Der Effekt generiert den aktualisierten globalen Zustand der Blockchain, mit einer Trennung zwischen Effekten und Zustandsübergängen.

Welche Blockchains verwenden die Programmiersprache Move?

Move wurde in der verworfenen Diem-Blockchain von Meta verwendet. Zu den aktuellen Blockchains, die auf Move aufbauen, gehören die Aptos-Blockchain und die Sui-Blockchain.

Vertrauenswürdige Ausführungsumgebungen (T -Shirts)

Vertrauenswürdige Ausführungsumgebungen (TEEs) sind sichere Bereiche innerhalb eines Hauptprozessors, die einen geschützten Raum bieten, in dem sensible Code und Daten ohne Angst vor Manipulationen oder Beobachtungen von außen ausführen können.

Menschliche Schlüssel

Menschliche Schlüssel sind kryptografische Schlüssel, die aus dem abgeleitet sind, was Sie sind, was Sie wissen oder was Sie haben. Sie werden verwendet, um digitale Vermögenswerte zu sichern, die Privatsphäre zu schützen und auf das dezentrale Web zuzugreifen.

Open Finance (OpenFI)

OpenFi, kurz für "Open Finance", ist ein finanzieller Rahmen, der traditionelle Finanzierung (Tradfi) in die dezentrale Finanzierung (DEFI) integriert.

Rollups-as-a-Service (RAAS)

Rollups-as-a-Service (RAAS) ermöglicht es den Bauherren, ihre eigenen Rollups schnell zu bauen und zu starten. RAAS-Anbieter liefern End-to-End-Lösungen wie Anpassungen des zugrunde liegenden Tech-Stacks, des No-Code-Managements und des Ein-Klick-Integrationen mit Kerninfrastruktur.

Datenverfügbarkeitsabtastung (DAS)

Die Datenverfügbarkeitstichprobe (DAS) ist eine Methode, mit der dezentrale Anwendungen die Verfügbarkeit von Blockdaten überprüfen können, ohne dass der gesamte Datensatz von jedem Teilnehmer heruntergeladen werden muss.

Mehrfach Datenverfügbarkeit (Multida)

Diese Blockchain -Architektur verwendet mehr als einen Datenverfügbarkeitsdienst (DA), um die Redundanz von Daten zu gewährleisten.