Mir ist nicht klar, wie wichtig die Ethereum Virtual Machine ist und warum sie verwendet wird. Es ist also naheliegend zu fragen, was passieren würde, wenn es EVM nicht gäbe? oder Ethereum hat es nicht verwendet.
Um sich zunächst eine Vorstellung von EVM zu machen, können Sie sich auf diese Frage beziehen, was EVM ist . Und dann,
Was würde passieren, wenn es die EVM nicht gäbe?
Wie ich es verstehe,
Da Ethereum eine plattformunabhängige (Sonst müssen Sie verschiedene Verträge an verschiedenen Adressen für verschiedene Plattformen bereitstellen?) Laufumgebung zur Ausführung von Smart Contracts bereitstellen sollte (die Bereitstellung einer Turing Complete -Sprache zum Schreiben von Smart Contracts ist eine Hauptspezialität von Ethereum), ist eine VM dringend benötigt. Aber warum wird nicht eine vorhandene VM verwendet? Ethereum hat andere Anforderungen als nur die Ausführung eines Codes. Diese Antwortanforderungen , die für die EVM benötigt werden, geben eine gute Vorstellung davon. Und dieser Vergleich mit JVM wird dazu mehr Einblick geben.
Hervorhebung des Sicherheitsaspekts Ethereum Virtual Machine (EVM) bietet die gesicherte Laufzeitumgebung für die Smart Contracts im Netzwerk. Smart Contracts stehen jedem im Netzwerk offen und jeder im Netzwerk darf Smart Contracts einsetzen. Wenn ein Knoten eine intelligente Vertragsfunktion ausführen muss, wird der Code in dem jeweiligen Knoten ausgeführt.
Diese Gründe eröffnen eine Sicherheitslücke, sofern die Laufzeitumgebung nicht kontrolliert wird. Im schlimmsten Fall kann dies dazu führen, dass Knoten nicht verfügbar sind und letztendlich das Netzwerk nicht verfügbar ist. Diese Schwachstellen werden durch die Kontrolle der Laufzeitumgebung durch die EVM verhindert.
Ethereum bietet zwei Hauptdienste an : Geldüberweisung und Smart Contracts-Verarbeitung. Der erste benötigt keine VM, der zweite jedoch, während ein Smart Contract ein Stück Code ist, der eine VM oder einen Compiler benötigt, um ihn auszuführen. Also keine VM, keine Fähigkeit, intelligente Verträge oder fortgeschrittene Programme zu schreiben, die mit Vermögenswerten oder Geld umgehen.
Lesen Sie diesen Beitrag, um mehr darüber zu erfahren, warum sie eine neue VM erstellen, anstatt eine vorhandene zu verwenden: Was war der Grund, die EVM zu erfinden?
Ether/Tokens werden übertragbar sein und sogar Smart Contracts können ohne eine VM erreicht werden (wie in Blockchains wie Stellar zu sehen ). Aber solche sind auf ein paar grundlegende logische Merkmale beschränkt.
Der Hauptgrund, warum Ethereum ein EVM benötigt, ist, Turing Complete Smart Contracts zu haben. dh die Fähigkeit, jeden berechenbaren Code auszuführen (im Grunde eine "virtuelle CPU")
Das Blockchain-Ökosystem wäre innerhalb von Bitcoin zentralisiert geblieben.
Die EVM ist die Essenz der Evolution hin zu programmierbaren Blockchains.
Die virtuelle Maschine ist nur ein schickes Gerede für die Skriptsprache. Wenn Sie Bitcoin studiert haben, könnten Sie sagen, dass die in Bitcoins Code eingebaute Skriptsprache die „Bitcoin Virtual Machine“ ist. Es kommt nur vor, dass es nicht Turing-vollständig ist, da die Ethereum-Skriptsprache Turing-vollständig ist und über höhere Fähigkeiten verfügt (allerdings auf Kosten einer höheren Komplexität).
Hier ist eine perfekte und vollständige Antwort auf Ihre Frage. Die Antwort war groß genug, also schrieb ich stattdessen einen Artikel. Ich hoffe, dass es vielen Menschen helfen wird.
lungj
Benutzer253751