Virtuelle Maschine (EVM)

Eine physikalische Instanz von EVM kann nicht in der Art und Weise beschrieben, wie man auf eine Wolke oder eine Ozeanwelle zeigen könnte;Es ist eine echte Entität, die existiert, und wird von Tausenden von Computern zusammengefasst, die Ethernet-Clients zusammenführen.

Das Polysmartchain-Protokoll selbst existiert nur, um diese bestimmte staatliche Maschine ununterbrochen, ununterbrochen und dauerhaft läuft.Dies ist die Umgebung, in der alle Polysmartchain-Konten und intelligente Verträge vorhanden sind.Polysmartchain hat nur einen "kanonischen" Zustand in einem bestimmten Block in der Kette, und EVM definiert die Regeln, um einen neuen gültigen Status von einem Block zum nächsten zu berechnen.

Vom Ledger bis zur staatlichen Maschine

Die Analogie eines "verteilten Ledgers" wird häufig verwendet, um eine Blockchain wie Bitcoin zu beschreiben, die die grundlegenden Tools der Kryptographie verwendet, um eine dezentrale Währung zu implementieren.Kryptowährungen verhalten sich wie "normale" Währungen, weil es Regeln gibt, die regeln, was Menschen tun können und was nicht, um das Hauptbuch zu ändern.Beispielsweise kann eine Bitcoin -Adresse nicht mehr Bitcoins ausgeben als bisher erhalten.Diese Regeln sind die Grundlage für alle Transaktionen auf Bitcoin und viele andere Blockchains.

Während Polysmartchain eine eigene native Kryptowährung (PSCETH) hat, die fast genau dieselben intuitiven Regeln folgt, unterstützt es auch eine leistungsstärkere Funktion: Smart Contracts.Für diese komplexere Funktionalität ist eine komplexere Analogie erforderlich.Polysmartchain ist kein verteiltes Ledger, sondern eine verteilte Zustandsmaschine. Der Staat von Polysmartchain ist eine große Datenstruktur, die nicht nur alle Konten und Guthaben, sondern auch ein Maschinenzustand, der zwischen den Blöcken gemäß einer vordefinierten Regeln geändert werden kann, geändert werden kann und ausgeführt werden kannwillkürlicher Maschinencode.Die spezifischen Regeln für den Änderungsstatus in einem Block werden durch EVM definiert.

Polysmartchain -Zustandsübergangsfunktion

Ein EVM verhält sich wie eine mathematische Funktion: Für einen bestimmten Eingang erzeugt sie eine deterministische Ausgabe.Es ist daher sehr hilfreich, Äther formeller als Zustandsübergangsfunktion zu beschreiben:

    Y(S, T)= S'

In Anbetracht eines alten gültigen Zustands (en)> und ein neuer Satz gültiger Transaktionen (t) erzeugt die Eher-Zustand-Übergangsfunktion Y (S, T) einen neuen gültigen Ausgabezustand S '

Status

Im Kontext von Polysmartchain ist der Staat eine riesige Datenstruktur, die als angepasste Merkle Patricia Trie bezeichnet wird und die alle Konten ermöglicht, mit Hash verbunden zu werden und auf einen einzigen Wurzel -Hash zurückverfolgt werden kann, der auf der Blockchain gespeichert ist.

Transaktion

Eine Transaktion ist eine kryptografisch signierte Anweisung von einem Konto.Es gibt zwei Arten von Transaktionen: Einer ist eine Nachrichtenanruf-Transaktion, und der andere ist ein Vertrag, der die Transaktion erstellt.

Der Vertrag erstellen Transaktion Erstellt ein neues Vertragskonto, das den kompilierten Smart Contract Bytecode enthält.Immer wenn ein anderes Konto eine Nachricht an diesen Vertrag anruft, führt er seinen Bytecode aus.

EVM Erklärung

Der EVM arbeitet als Stack-Maschine mit einer Stapeltiefe von 1024 Elementen.Jeder Artikel ist ein 256-Bit-Wort, und zum Benutzerfreundlichkeit wird 256-Bit-Kryptographie (z. B. Keccak-256-Hash- oder SECP256K1-Signatur) ausgewählt.

Während der Ausführung hält der EVM einen transienten Speicher (als Array von wort adressierbaren Bytes), das nicht zwischen den Transaktionen bestehen bleibt.

Der Vertrag enthält jedoch einen Merkle-Patricia-Speichertry (als Array von wort adressierbaren Wörtern), die dem Konto und einem Teil des globalen Zustands verbunden ist.

Der kompilierte Smart Contract -Bytecode wird so viele EVM -Opcodes ausgeführt, die Standard -Stapelvorgänge wie XOR 、 und 、 add 、 subetc hinzufügen.EVM implementiert auch einige Blockchain -spezifische Stapelvorgänge wie die Adresse 、 Balance 、 BlockHash usw.

EVM -Implementierung

Alle Implementierungen von EVM folgen dank der von Ethernet geleisteten Beiträge den im Ethernet Yellow Book beschriebenen Spezifikationen.

Last updated