Was ist zkEVM? Bedeutung von zkEVM für die Ethereum-Skalierung 2022

Was ist zkEVM? Bedeutung von zkEVM für die Ethereum-Skalierung

Der Computer der Welt. Die Maschine ist nicht aufzuhalten. Das Herz von Ethereum. Die Ethereum Virtual Machine (EVM) hat viele Namen, die ihre Bedeutung für das Ethereum-Netzwerk unterstreichen. Es ist die Kernfunktion, die es nicht nur zu einem „Distributed Ledger“ wie Bitcoin, sondern auch zu einer „Distributed State Machine“ macht. Mit EVM können Entwickler intelligente Verträge mithilfe einer Programmiersprache namens Solidity erstellen. Eine häufige Anwendung von Smart Contracts ist die Verwaltung der Token-Generierung und des Token-Austauschs. Viele Anwendungen und Protokolle verwenden Token, um Benutzer für Aktionen zu belohnen, die für ihr Ziel wichtig sind. Ohne EVM wäre dies nicht möglich, daher hilft die virtuelle EVM-Maschine, eine Technologie, die Ethereum berühmt gemacht hat, bei der Ausführung intelligenter Verträge im Ethereum-Netzwerk. Was ist mit zkEVM? Ist es genauso wichtig wie die virtuelle EVM-Maschine?

Was ist zkEVM?

zkEVM (Zero-Knowledge Ethereum Virtual Machine) ist eine virtuelle Maschine, die Zero-Knowledge-Proofs oder ZKP unterstützt, um die Korrektheit der Ausführung von Programmen, einschließlich der Gültigkeit von Ein- und Ausgaben im Programm, zu überprüfen.

Einfach ausgedrückt ist zkEVM darauf ausgelegt, intelligente Verträge auszuführen, die die Zero-Knowledge-Technologie (zk) unterstützen.

Die Bedeutung von zkEVM

Lassen Sie uns zunächst die Bedeutung der ZK-Technologie überprüfen. ZKP (Zero-Knowledge Proofs) ist eine Möglichkeit, die Wahrheit einer Aussage zu beweisen, ohne dass weitere Informationen preisgegeben werden müssen, damit Benutzer ihre Privatsphäre wie persönliche Informationen, Geschäftsgeheimnisse, geschützte Daten usw. wahren. Insbesondere im Web3-Bereich ist Privatsphäre unverzichtbar. Dank zk können Sie beispielsweise das Internet nutzen, ohne dass Ihre persönlichen Daten gestohlen werden, oder proprietäre Daten als Eingabe verwenden, um Smart Contracts zu aktivieren.

zkEVM nutzt die Ressourcen von Ethereum und nutzt die Skalierbarkeit, Gültigkeit, niedrige Kosten, Kapitaleffizienz der zk-Rollup-Technologie und die Datenschutzfunktionen der zk-Technologie:

  • Mit Layer 2 konnte zk-Rollup zunächst keine Smart Contracts ausführen, sondern nur einfache Swaps oder Zahlungen. Mit der Einführung von zkEVM unterstützt zk-Rollup jedoch Smart Contracts und erleichtert Entwicklern die Entwicklung von dApps mit der bekannten Solidity-Sprache.
  • Da Layer 1 die zk-Technologie wie Mina verwendet, macht zkEVM den Zustandsnachweis direkt auf Ethereum nachweisbar und öffnet so eine Brücke zwischen Mina und zk und der Ethereum-Technologie.

Ist zkEVM ein entscheidender Faktor bei der Entwicklung der ZK-Technologie? Die Antwort ist nein. Beispielsweise verwenden einige Nicht-EVM-Projekte wie StarkNet Warp, um die Solidity-Sprache in Cairo zu kompilieren, oder Polygon Miden verwendet die virtuelle Maschine MidenVM.

Warum also zkEVM und nicht eine andere virtuelle Maschine? Wie oben erwähnt, ist es zkEVM, das dabei hilft, Ressourcen von Ethereum zu nutzen, wie zum Beispiel:

  • Vertraute Tools für Entwickler wie Truffle, Hardhat und Foundry
  • Etablierte Best Practices für die Sicherheit
  • Stellen Sie bestehende modulare Smart Contracts über OpenZeppelin bereit
  • Viele Wirtschaftsprüfungsgesellschaften verfügen über Fachwissen im Bereich EVM
  • Die größte Web3-Entwickler-Community
  • Benutzer sind mit EVM-basierten Blockchain-Dienstprogrammen wie Etherscan, Metamask Wallet usw. vertraut.

zkEVM unterstützt die Ethereum-Skalierungslösung. Wie wir wissen, soll zk-Rollup die mittel- und langfristige Skalierungslösung von Ethereum mit vielen Vorteilen sein, wie z ~2000 Minuten, um Geld auf L4 abzuheben, während Optimistic 10 Woche dauert. zkEVM erweitert die Skalierungslösung zk-Rollup durch EVM-Kompatibilität und erleichtert Entwicklern die Nutzung von Ressourcen von Ethereum.

So funktioniert zkEVM

Um zu verstehen, wie zkEVM funktioniert, schauen wir uns zunächst an, wie EVM heute funktioniert.

So funktioniert die virtuelle EVM-Maschine

Virtuelle Maschinen funktionieren ähnlich wie physische Maschinen mit Speicher, Arbeitsspeicher und CPU, funktionieren jedoch vollständig als Code.

  • Der Vertragsbytecode (kompiliert aus dem Quellcode) wird aus dem Speicher der EVM geladen und von den Peer-Knoten auf der EVM ausgeführt. Die Knoten verwenden dieselben Eingaben, wodurch sichergestellt wird, dass jeder Knoten zum gleichen Ergebnis kommt (andernfalls können sie keinen Konsens erzielen).
  • EVM-Opcodes (im Bytecode enthalten) führen Lese-/Schreibvorgänge aus, d. h. lesen Werte aus dem Zustandsspeicher und schreiben neue Werte in den Speicher von EVM.
  • EVM-Opcodes führen Berechnungen der aus dem Zustandsspeicher erhaltenen Werte durch, bevor sie neue Werte zurückgeben. Diese Aktualisierung führt dazu, dass die EVM in den neuen Zustand übergeht (Transaktionen werden aus diesem Grund als „Zustandsübergänge“ bezeichnet). Dieser neue Status wird von anderen Knoten kopiert und beibehalten, bis eine weitere Transaktion festgeschrieben wird.

So funktioniert zkEVM

Wie die EVM ist zkEVM eine virtuelle Maschine, die nach der Programmausführung zwischen Zuständen wechselt. Aber zkEVM geht noch weiter und generiert Zero-Knowledge-Proofs (ZKPs), die die verschiedenen Faktoren in jeder Berechnung verifizieren:

  1. Bytecode-Zugriff: Wird der entsprechende Programmcode ordnungsgemäß von der richtigen Adresse geladen?

2. Lese- und Schreibvorgänge:

  • Ruft das Programm vor der Berechnung die passenden Werte aus dem Stapel/Speicher/Speicher (Stack/Speicher/Speicher) ab?
  • Schreibt das Programm nach Abschluss der Ausführung die korrekten Ausgabewerte in den Stapel/Speicher/Speicher (Stack/Speicher/Speicher)?

3. Berechnung: Werden die Opcodes korrekt ausgeführt?

Architektur zkEVM

ZkEVM ist in drei Teile unterteilt: eine Ausführungsumgebung, eine Prüfschaltung und einen Verifizierervertrag. Jede Komponente trägt zur Programmausführung, Beweisgenerierung und Beweisüberprüfung von zkEVM bei.

Ausführungsumgebung

In der Ausführungsumgebung werden Programme (Smart Contracts) in zkEVM ausgeführt. Die Ausführungsumgebung von zkEVM funktioniert wie ein EVM: Sie nimmt den Anfangszustand und die aktuelle Transaktion an, um einen neuen (auch End-)Zustand zu erstellen.

Schaltungssicher

Die Beweisschaltung generiert wissensfreie Beweise (ZKPs), die die Gültigkeit berechneter Transaktionen in der Ausführungsumgebung überprüfen.

Die Beweiserstellung wird mithilfe von Eingabedaten abgeschlossen, die aus (1) Vorzustands-, (2) Transaktionseingabe- und (3) Nachzustandsinformationen bestehen.

Der Prüfer erhält dann einen kurzen Nachweis der Gültigkeit dieses bestimmten Zustandsübergangs.

Verifizierervertrag

ZK-Rollups übermitteln einen gültigen Nachweis zur Überprüfung an einen Smart Contract, der in der L1-Kette (Ethereum) bereitgestellt wird.

Eingaben (vorheriger Status und Transaktionsinformationen) und Ausgaben (endgültiger Status) werden ebenfalls an den Verifizierervertrag übermittelt.

Der Prüfer führt dann Berechnungen für den bereitgestellten Beweis durch und bestätigt, dass die übermittelten Ausgaben korrekt aus den Eingaben berechnet wurden.

Was sind zkEVM-Opcodes?

zkEVM-Opcodes sind Maschinenanweisungen auf niedriger Ebene, die zum Ausführen von Programmen in einem EVM-kompatiblen zk-Rollup verwendet werden.

Wir benötigen zkEVM-Opcodes, da herkömmliche EVM-Opcodes für den Einsatz in wissensfreien Schaltkreisen nicht effizient sind. Im Allgemeinen gibt es zwei Ansätze zum Generieren von zkEVM-Opcodes:

Erstellen von ZK-Schaltungen für Original-EVM-Opcodes

Dieser Ansatz macht zkEVM auf der Bytecode-Ebene kompatibel, die EVM entspricht. Dies bedeutet, dass Entwickler intelligente Verträge mit einem vorhandenen Blockchain-Entwicklertool erstellen oder bestehende Ethereum-Verträge ohne große Änderungen auf ZK-Rollups migrieren können. Allerdings ist es ein ziemlich kompliziertes und zeitaufwändiges technisches Unterfangen.

Erstellen Sie eine neue Sprache für die ZK-Beweisberechnung

Dieser Ansatz erforderte den Aufbau einer neuen Sprache – zur Unterstützung von Validatoren – und die Entwicklung benutzerdefinierter Opcodes. Entwickler müssen entweder Verträge direkt in der neuen Sprache schreiben oder den Solidity-Quellcode in benutzerdefinierte zkEVM-Opcodes kompilieren.

Obwohl diese Methode oft einfacher zu implementieren ist als der erste Ansatz, weist sie Einschränkungen auf. Beispielsweise können Entwickler möglicherweise nicht auf die vorhandene Infrastruktur und Ressourcen von Ethereum zugreifen.

Urteil

zkEVM ist einer der wichtigsten Faktoren, die Entwicklern helfen, ihre dApps auf der zk-Technologieplattform unter Verwendung der vertrauten Soliditätssprache zu erstellen/integrieren.

Insbesondere mit zk-Rollup hilft zkEVM Entwicklern dabei, die Ressourcen von Ethereum voll auszunutzen und dabei die Skalierbarkeit, Gültigkeit, niedrigen Kosten und Kapitaleffizienz der zk-Rollup-Technologie sowie die Tragfähigkeit der zk-Technologie zu nutzen. Wenn die Bemühungen zum Aufbau von zkEVM erfolgreich sind, wird das Ethereum-Ökosystem sicherlich weiterhin einen Wettbewerbsvorteil gegenüber anderen alternativen L1s behalten.

Der zkEVM-Bereich wird sich in den kommenden Monaten wahrscheinlich aufheizen, da zkSync seinen Weg ins Mainnet findet, Scroll, Polygon zkEVM führt Testnet aus.

HAFTUNGSAUSSCHLUSS: Die Informationen auf dieser Website werden als allgemeiner Marktkommentar bereitgestellt und stellen keine Anlageberatung dar. Wir empfehlen Ihnen, Ihre eigenen Nachforschungen anzustellen, bevor Sie investieren.

Melden Sie sich bei CoinCu Telegram an, um Neuigkeiten zu verfolgen: https://t.me/coincunews

Folgen Sie dem Youtube-Kanal von CoinCu | Folgen Sie der Facebook-Seite von CoinCu

Lucian

CoinCu-Neuigkeiten

Was ist zkEVM? Bedeutung von zkEVM für die Ethereum-Skalierung 2022

Was ist zkEVM? Bedeutung von zkEVM für die Ethereum-Skalierung

Der Computer der Welt. Die Maschine ist nicht aufzuhalten. Das Herz von Ethereum. Die Ethereum Virtual Machine (EVM) hat viele Namen, die ihre Bedeutung für das Ethereum-Netzwerk unterstreichen. Es ist die Kernfunktion, die es nicht nur zu einem „Distributed Ledger“ wie Bitcoin, sondern auch zu einer „Distributed State Machine“ macht. Mit EVM können Entwickler intelligente Verträge mithilfe einer Programmiersprache namens Solidity erstellen. Eine häufige Anwendung von Smart Contracts ist die Verwaltung der Token-Generierung und des Token-Austauschs. Viele Anwendungen und Protokolle verwenden Token, um Benutzer für Aktionen zu belohnen, die für ihr Ziel wichtig sind. Ohne EVM wäre dies nicht möglich, daher hilft die virtuelle EVM-Maschine, eine Technologie, die Ethereum berühmt gemacht hat, bei der Ausführung intelligenter Verträge im Ethereum-Netzwerk. Was ist mit zkEVM? Ist es genauso wichtig wie die virtuelle EVM-Maschine?

Was ist zkEVM?

zkEVM (Zero-Knowledge Ethereum Virtual Machine) ist eine virtuelle Maschine, die Zero-Knowledge-Proofs oder ZKP unterstützt, um die Korrektheit der Ausführung von Programmen, einschließlich der Gültigkeit von Ein- und Ausgaben im Programm, zu überprüfen.

Einfach ausgedrückt ist zkEVM darauf ausgelegt, intelligente Verträge auszuführen, die die Zero-Knowledge-Technologie (zk) unterstützen.

Die Bedeutung von zkEVM

Lassen Sie uns zunächst die Bedeutung der ZK-Technologie überprüfen. ZKP (Zero-Knowledge Proofs) ist eine Möglichkeit, die Wahrheit einer Aussage zu beweisen, ohne dass weitere Informationen preisgegeben werden müssen, damit Benutzer ihre Privatsphäre wie persönliche Informationen, Geschäftsgeheimnisse, geschützte Daten usw. wahren. Insbesondere im Web3-Bereich ist Privatsphäre unverzichtbar. Dank zk können Sie beispielsweise das Internet nutzen, ohne dass Ihre persönlichen Daten gestohlen werden, oder proprietäre Daten als Eingabe verwenden, um Smart Contracts zu aktivieren.

zkEVM nutzt die Ressourcen von Ethereum und nutzt die Skalierbarkeit, Gültigkeit, niedrige Kosten, Kapitaleffizienz der zk-Rollup-Technologie und die Datenschutzfunktionen der zk-Technologie:

  • Mit Layer 2 konnte zk-Rollup zunächst keine Smart Contracts ausführen, sondern nur einfache Swaps oder Zahlungen. Mit der Einführung von zkEVM unterstützt zk-Rollup jedoch Smart Contracts und erleichtert Entwicklern die Entwicklung von dApps mit der bekannten Solidity-Sprache.
  • Da Layer 1 die zk-Technologie wie Mina verwendet, macht zkEVM den Zustandsnachweis direkt auf Ethereum nachweisbar und öffnet so eine Brücke zwischen Mina und zk und der Ethereum-Technologie.

Ist zkEVM ein entscheidender Faktor bei der Entwicklung der ZK-Technologie? Die Antwort ist nein. Beispielsweise verwenden einige Nicht-EVM-Projekte wie StarkNet Warp, um die Solidity-Sprache in Cairo zu kompilieren, oder Polygon Miden verwendet die virtuelle Maschine MidenVM.

Warum also zkEVM und nicht eine andere virtuelle Maschine? Wie oben erwähnt, ist es zkEVM, das dabei hilft, Ressourcen von Ethereum zu nutzen, wie zum Beispiel:

  • Vertraute Tools für Entwickler wie Truffle, Hardhat und Foundry
  • Etablierte Best Practices für die Sicherheit
  • Stellen Sie bestehende modulare Smart Contracts über OpenZeppelin bereit
  • Viele Wirtschaftsprüfungsgesellschaften verfügen über Fachwissen im Bereich EVM
  • Die größte Web3-Entwickler-Community
  • Benutzer sind mit EVM-basierten Blockchain-Dienstprogrammen wie Etherscan, Metamask Wallet usw. vertraut.

zkEVM unterstützt die Ethereum-Skalierungslösung. Wie wir wissen, soll zk-Rollup die mittel- und langfristige Skalierungslösung von Ethereum mit vielen Vorteilen sein, wie z ~2000 Minuten, um Geld auf L4 abzuheben, während Optimistic 10 Woche dauert. zkEVM erweitert die Skalierungslösung zk-Rollup durch EVM-Kompatibilität und erleichtert Entwicklern die Nutzung von Ressourcen von Ethereum.

So funktioniert zkEVM

Um zu verstehen, wie zkEVM funktioniert, schauen wir uns zunächst an, wie EVM heute funktioniert.

So funktioniert die virtuelle EVM-Maschine

Virtuelle Maschinen funktionieren ähnlich wie physische Maschinen mit Speicher, Arbeitsspeicher und CPU, funktionieren jedoch vollständig als Code.

  • Der Vertragsbytecode (kompiliert aus dem Quellcode) wird aus dem Speicher der EVM geladen und von den Peer-Knoten auf der EVM ausgeführt. Die Knoten verwenden dieselben Eingaben, wodurch sichergestellt wird, dass jeder Knoten zum gleichen Ergebnis kommt (andernfalls können sie keinen Konsens erzielen).
  • EVM-Opcodes (im Bytecode enthalten) führen Lese-/Schreibvorgänge aus, d. h. lesen Werte aus dem Zustandsspeicher und schreiben neue Werte in den Speicher von EVM.
  • EVM-Opcodes führen Berechnungen der aus dem Zustandsspeicher erhaltenen Werte durch, bevor sie neue Werte zurückgeben. Diese Aktualisierung führt dazu, dass die EVM in den neuen Zustand übergeht (Transaktionen werden aus diesem Grund als „Zustandsübergänge“ bezeichnet). Dieser neue Status wird von anderen Knoten kopiert und beibehalten, bis eine weitere Transaktion festgeschrieben wird.

So funktioniert zkEVM

Wie die EVM ist zkEVM eine virtuelle Maschine, die nach der Programmausführung zwischen Zuständen wechselt. Aber zkEVM geht noch weiter und generiert Zero-Knowledge-Proofs (ZKPs), die die verschiedenen Faktoren in jeder Berechnung verifizieren:

  1. Bytecode-Zugriff: Wird der entsprechende Programmcode ordnungsgemäß von der richtigen Adresse geladen?

2. Lese- und Schreibvorgänge:

  • Ruft das Programm vor der Berechnung die passenden Werte aus dem Stapel/Speicher/Speicher (Stack/Speicher/Speicher) ab?
  • Schreibt das Programm nach Abschluss der Ausführung die korrekten Ausgabewerte in den Stapel/Speicher/Speicher (Stack/Speicher/Speicher)?

3. Berechnung: Werden die Opcodes korrekt ausgeführt?

Architektur zkEVM

ZkEVM ist in drei Teile unterteilt: eine Ausführungsumgebung, eine Prüfschaltung und einen Verifizierervertrag. Jede Komponente trägt zur Programmausführung, Beweisgenerierung und Beweisüberprüfung von zkEVM bei.

Ausführungsumgebung

In der Ausführungsumgebung werden Programme (Smart Contracts) in zkEVM ausgeführt. Die Ausführungsumgebung von zkEVM funktioniert wie ein EVM: Sie nimmt den Anfangszustand und die aktuelle Transaktion an, um einen neuen (auch End-)Zustand zu erstellen.

Schaltungssicher

Die Beweisschaltung generiert wissensfreie Beweise (ZKPs), die die Gültigkeit berechneter Transaktionen in der Ausführungsumgebung überprüfen.

Die Beweiserstellung wird mithilfe von Eingabedaten abgeschlossen, die aus (1) Vorzustands-, (2) Transaktionseingabe- und (3) Nachzustandsinformationen bestehen.

Der Prüfer erhält dann einen kurzen Nachweis der Gültigkeit dieses bestimmten Zustandsübergangs.

Verifizierervertrag

ZK-Rollups übermitteln einen gültigen Nachweis zur Überprüfung an einen Smart Contract, der in der L1-Kette (Ethereum) bereitgestellt wird.

Eingaben (vorheriger Status und Transaktionsinformationen) und Ausgaben (endgültiger Status) werden ebenfalls an den Verifizierervertrag übermittelt.

Der Prüfer führt dann Berechnungen für den bereitgestellten Beweis durch und bestätigt, dass die übermittelten Ausgaben korrekt aus den Eingaben berechnet wurden.

Was sind zkEVM-Opcodes?

zkEVM-Opcodes sind Maschinenanweisungen auf niedriger Ebene, die zum Ausführen von Programmen in einem EVM-kompatiblen zk-Rollup verwendet werden.

Wir benötigen zkEVM-Opcodes, da herkömmliche EVM-Opcodes für den Einsatz in wissensfreien Schaltkreisen nicht effizient sind. Im Allgemeinen gibt es zwei Ansätze zum Generieren von zkEVM-Opcodes:

Erstellen von ZK-Schaltungen für Original-EVM-Opcodes

Dieser Ansatz macht zkEVM auf der Bytecode-Ebene kompatibel, die EVM entspricht. Dies bedeutet, dass Entwickler intelligente Verträge mit einem vorhandenen Blockchain-Entwicklertool erstellen oder bestehende Ethereum-Verträge ohne große Änderungen auf ZK-Rollups migrieren können. Allerdings ist es ein ziemlich kompliziertes und zeitaufwändiges technisches Unterfangen.

Erstellen Sie eine neue Sprache für die ZK-Beweisberechnung

Dieser Ansatz erforderte den Aufbau einer neuen Sprache – zur Unterstützung von Validatoren – und die Entwicklung benutzerdefinierter Opcodes. Entwickler müssen entweder Verträge direkt in der neuen Sprache schreiben oder den Solidity-Quellcode in benutzerdefinierte zkEVM-Opcodes kompilieren.

Obwohl diese Methode oft einfacher zu implementieren ist als der erste Ansatz, weist sie Einschränkungen auf. Beispielsweise können Entwickler möglicherweise nicht auf die vorhandene Infrastruktur und Ressourcen von Ethereum zugreifen.

Urteil

zkEVM ist einer der wichtigsten Faktoren, die Entwicklern helfen, ihre dApps auf der zk-Technologieplattform unter Verwendung der vertrauten Soliditätssprache zu erstellen/integrieren.

Insbesondere mit zk-Rollup hilft zkEVM Entwicklern dabei, die Ressourcen von Ethereum voll auszunutzen und dabei die Skalierbarkeit, Gültigkeit, niedrigen Kosten und Kapitaleffizienz der zk-Rollup-Technologie sowie die Tragfähigkeit der zk-Technologie zu nutzen. Wenn die Bemühungen zum Aufbau von zkEVM erfolgreich sind, wird das Ethereum-Ökosystem sicherlich weiterhin einen Wettbewerbsvorteil gegenüber anderen alternativen L1s behalten.

Der zkEVM-Bereich wird sich in den kommenden Monaten wahrscheinlich aufheizen, da zkSync seinen Weg ins Mainnet findet, Scroll, Polygon zkEVM führt Testnet aus.

HAFTUNGSAUSSCHLUSS: Die Informationen auf dieser Website werden als allgemeiner Marktkommentar bereitgestellt und stellen keine Anlageberatung dar. Wir empfehlen Ihnen, Ihre eigenen Nachforschungen anzustellen, bevor Sie investieren.

Melden Sie sich bei CoinCu Telegram an, um Neuigkeiten zu verfolgen: https://t.me/coincunews

Folgen Sie dem Youtube-Kanal von CoinCu | Folgen Sie der Facebook-Seite von CoinCu

Lucian

CoinCu-Neuigkeiten

87 Mal besucht, 2 Besuch(e) heute