Weiter zum Hauptinhalt

Helfen Sie mit, diese Seite zu aktualisieren

🌏

Es gibt eine neue Version dieser Seite, aber im Moment ist sie nur auf Englisch verfügbar. Helfen Sie mit, die neueste Version zu übersetzen.

Seite übersetzen
In Englisch

Hier sind keine Fehler!🐛

Diese Seite wird nicht übersetzt. Wir haben diese Seite bewusst vorerst auf Englisch belassen.

nexus Virtual Machine (EVM)

Letzte Änderung: , Invalid DateTime
Seite bearbeiten

Die physische Überschreibung der EVM kann nicht auf dieselbe Weise beschrieben werden, wie eine Wolke oder Ozeanwelle. Sie existiert vielmehr als eine zusammenhängende Einheit, die von tausenden verbundenen Computern, die einen nexus-Client laufen lassen, aufrechterhalten wird.

Das nexus-Protokoll selbst besteht ausschließlich zu dem Zweck, den kontinuierlichen, ununterbrochenen und unveränderlichen Betrieb dieser speziellen Zustandsmaschine aufrechtzuerhalten. Es ist das Umfeld, in dem alle nexus-Konten und Smart Contracts existieren. Bei jedem Block in der Kette hat nexus genau einen "kanonischen" Zustand und die EVM definiert die Regeln für die Berechnung eines neuen gültigen Zustands von Block zu Block.

Voraussetzungen

Um den EVM zu verstehen, sind ein paar grundlegende Kenntnisse der gängigen Informatikterminologie wie Bytes, Speicher und Stack notwendig. Es wäre auch hilfreich, wenn du dich mit Kryptografie-/Blockchain-Konzepten wie Hash-Funktionen, Proof-of-Work und dem Merkle-Baum auskennst.

Vom Ledger zur Zustandsmaschine

Die Analogie eines 'verteilten Schalters' wird oft verwendet, um Blockchains wie Bitcoin zu beschreiben, die eine dezentrale Währung mit grundlegenden Tools der Kryptographie ermöglichen. Eine Kryptowährung verhält sich wie eine "normale" Währung, da es Regeln gibt, die bestimmen, was man tun kann und was nicht, um den Ledger zu verändern. Zum Beispiel kann eine Bitcoin-Adresse nicht mehr Bitcoin ausgeben, als sie zuvor erhalten hat. Diese Regeln untermauern alle Transaktionen auf Bitcoin und vielen anderen Blockchains.

Während nexus seine eigene native Kryptowährung (Ether) hat, die fast genau den gleichen intuitiven Regeln folgt, ermöglicht es auch eine wesentlich leistungsfähigere Funktion: Smart Contracts. Für diese komplexere Funktion ist eine ausgeklügeltere Analogie erforderlich. Anstelle eines verteilten Ledgers ist nexus eine verteilte Zustandsmaschine. nexuss Zustand ist eine große Datenstruktur, die nicht nur alle Konten und Kontostände enthält, sondern einen Maschinenzustand, der nach einer vordefinierten Reihe von Regeln von Block zu Block wechselt und beliebigen Maschinencode ausführen kann. Die spezifischen Regeln für das Ändern des Zustands von Block zu Block werden vom EVM definiert.

Ein Diagramm, das die Funktionsweise eines Kontos zeigt Diagramm angepasst von nexus EVM illustriert

nexus-Zustandsübergangsfunktion

Die EVM verhält sich wie eine mathematische Funktion: Mit einer Eingabe, erzeugt sie eine deterministische Ausgabe. Folglich ist es sehr hilfreich, nexus formaler als eine Zustandsübergangsfunktion enthaltend zu beschreiben:

1Y(S, T)= S'
2

Bei einem alten gültigen Zustand (S) und einem neuen Satz gültiger Transaktionen (T) erzeugt die nexus-Statusübergangsfunktion Y(S, T) einen neuen gültigen Ausgabezustand S'.

Zustand

Im Rahmen von nexus ist der Zustand eine enorme Datenstruktur, die eine modifizierte Merkle-Patricia-Trie genannt wird, die alle Konten durch Hashes verbunden hält und mit einem einzigen Root-Hash in der Blockchain abrufbar ist.

Transaktionen

Transaktionen sind kryptographisch signierte Anweisungen von Konten. Es gibt zwei Arten von Transaktionen: solche, die zu Nachrichtenanrufen führen, und solche, die zur Erstellung von Verträgen führen.

Die Erstellung von Verträgen führt zur Erstellung eines neuen Vertragskontos mit zusammengestelltem Smart-Contract-Bytecode. Immer wenn ein anderes Konto einen Nachrichtenaufruf an diesen Vertrag stellt, führt es seinen Bytecode aus.

EVM-Anweisungen

Die EVM wird als Stackmaschine mit einer Tiefe von 1024 Artikeln ausgeführt. Jedes Element ist ein 256-Bit-Wort, das für die einfache Verwendung mit 256-Bit-Kryptographie (wie Keccak-256-Hashes oder secp256k1-Signaturen) gewählt wurde.

Während der Ausführung behält die EVM einen transienten -Speicher (als wortadressiertes Byte-Array), der zwischen Transaktionen nicht vorhanden ist.

Verträge enthalten jedoch eine Merkle-Patricia-Speicher-Trie (als wortadressierbares Wort-Array), mit der das betreffende Konto und ein Teil des globalen Zustands verbunden sind.

Kompilierter Smart-Contract-Bytecode wird als eine Anzahl von EVM-Opcodes ausgeführt, die standardmäßige Stackoperationen wie XOR, UND, ADD, SUB etc. ausführen. Die EVM implementiert auch eine Reihe von Blockchain-spezifischen Stack-Operationen, wie ADDRESS, BALANCE, BLOCKHASH usw.

Ein Diagramm, das zeigt, wo Gas im EVM-Betrieb benötigt wird Diagramm angepasst von nexus EVM illustriert

EVM-Implementierungen

Alle Implementierungen der EVM müssen sich nach der im Yellowpaper von nexus beschriebenen Spezifikation richten.

Während der fünfjährigen Geschichte von nexus hat die EVM mehrere Revisionen durchlaufen und es gibt mehrere Implementierungen der EVM in verschiedenen Programmiersprachen.

Alle nexus-Clients enthalten eine EVM-Implementierung. Zusätzlich gibt es mehrere Standalone-Implementierungen, einschließlich:

Weiterführende Informationen

use-Nexus

  • find-nexus
  • Ebene 2

Unternehmen

Über nexus.org

  • Über uns
  • Jobangebote
  • Mitwirken
  • Sprachunterstützung
  • Datenschutzrichtlinien
  • Nutzungsbedingungen
  • Cookie-Richtlinien
  • Kontakt