Eine der vielversprechendsten Technologien innerhalb des Ethereum-Ökosystems ist zkEVM oder Zero-Knowledge EVM, ein Projekt, das nicht nur darauf abzielt, die Leistung der Ethereum Virtual Machine zu verbessern, sondern auch einen enormen Technologiesprung zu machen, der nicht nur dazu führen wird höhere Betriebsgeschwindigkeit, aber auch durch das Hinzufügen von Verbesserungen, die unsere Privatsphäre schützen, wenn wir mit den Smart Contracts interagieren, die bei Verwendung dieses neuen EVM ausgeführt werden.
EDieses Projekt wird von den Entwicklern von zkSync vorangetrieben, einem Unternehmen namens Matter Labs, das seit 2018 versucht, eine einzigartige Skalierbarkeits- und Datenschutzlösung zu entwickeln. Da es sich außerdem um eine freie Softwarelösung handelt, kann sie an alle von Ethereum abgeleiteten Projekte angepasst werden und fördert so die Entwicklung dieses Ökosystems auf der Suche nach neuen Horizonten.
zkEVM, die Leistung von ZKP erreicht intelligente Verträge
Um zu verstehen, was zkEVM ist, müssen wir die beiden Technologien kennen, die dieses Projekt vereinen möchte. Erstens ist das Akronym zk darauf zurückzuführen, dass dieses Projekt das Bekannte verwendet Keine Wissensbeweise für seine Funktionsfähigkeit. Mit dieser Funktion können Sie einzigartige Funktionen hinzufügen, die darauf abzielen, den Smart-Contract-Ausführungen, die auf dem EVM stattfinden und in der Blockchain gespeichert werden, eine privatere Umgebung zu bieten.
Denken Sie daran, dass dieser Prozess bei jeder Interaktion, die wir mit einem Smart Contract durchführen (z. B. wenn wir einen Austausch auf Uniswap durchführen), eine Reihe von Daten generiert, die in der Ethereum-Blockchain (oder dem von uns verwendeten Netzwerk) gespeichert werden.
Alle diese Informationen sind öffentlich und pseudoanonym und können jederzeit überprüft und nachverfolgt werden. Pseudo-Anonymität schützt unsere Privatsphäre auf jeden Fall recht effektiv, hinterlässt aber immer Spuren, die andere nutzen können, um unsere Aktivitäten zu verfolgen und uns im wirklichen Leben zu identifizieren. Mit ZKPs ist es nicht nur möglich, diese Schwachstelle zu vermeiden, sondern gleichzeitig sorgen wir dafür, dass kryptografische Operationen weniger Platz beanspruchen, gleichermaßen überprüfbar und überprüfbar sind und darüber hinaus die Möglichkeit eröffnen, Computerzustände viel effektiver und effizienter zu verwalten Weg.
Wenn wir nun die ZKPs vereinen und in die EVM integrieren, haben wir die Möglichkeit, Netzwerke wie Etheruem und Derivate in viel sicherere, leistungsfähigere und skalierbarere Räume zu verwandeln, genau die Ziele, die die zkEVM erreichen möchte:
- Reduzieren Sie Transaktionsprovisionen aufgrund der Reduzierung der Rechenkosten für den Betrieb.
- Sorgen Sie für einen vertrauenswürdigen Betrieb von Netzwerken, die zkEVMs implementieren.
- Verbessern Sie den Datenschutz und die Sicherheit des Netzwerks, in dem zkEVM implementiert ist.
- Ermöglichen Sie neue Technologien, die auf intelligente Verträge angewendet werden können. Zum Beispiel die Möglichkeit, die Erfahrung bei der Verwendung von NFT-Tokens oder anderen erweiterten Funktionen für andere Standards zu verbessern.
zk, eine Technologie, die alles verändert
Lassen Sie uns nun einige Konzepte etwas ausführlicher erklären, bevor wir fortfahren:
Was ist zk?
Wenn wir zk im Namen von zkEVM sehen, müssen wir an das denken, was wir bereits über ZKP oder Zero Knowledge Proofs erwähnt haben.
Ein Zero Knowledge Protocol oder ZKP ist ein fortschrittliches Kryptografieprotokoll, das zur Erstellung hochsicherer und anonymer verteilter Systeme verwendet wird. ZKP-Protokolle ermöglichen den Austausch und die Überprüfung von Informationen, ohne dass unnötige Daten preisgegeben werden, wodurch ein sehr hohes Maß an Sicherheit gewährleistet wird.
Im Grunde zielt dieser kryptografische Mechanismus darauf ab, der Welt zu zeigen, dass ein Geheimnis existiert, etwas, das so geheim ist, dass nur die Person, die das Geheimnis in seinem Besitz hat, genau weiß, was es ist.
Aber wie zeigt man, dass man ein Geheimnis hat, ohne es preiszugeben? Zu diesem Zweck verwendet ZKP eine Reihe mathematischer Daten, die es anderen Personen ermöglichen, zu überprüfen, ob das Geheimnis tatsächlich existiert und sich im Besitz der Person befindet, die behauptet, es zu besitzen. Es liegen jedoch zu keinem Zeitpunkt Informationen über das Geheimnis oder seinen Inhalt vor enthüllt, noch irgendetwas, das einen Zusammenhang zwischen den zur Überprüfung gegebenen Informationen und der Art des Geheimnisses selbst ermöglicht.
Somit ermöglicht Ihnen ZKP, ein Geheimnis zu enthüllen, ohne es tatsächlich preiszugeben, und liefert lediglich den mathematischen Beweis, dass das Geheimnis existiert und dass Sie dieser Realität vertrauen können. Das Gute an dieser Art von Kryptografie ist, dass sie nicht nur vor aktuellen, sondern auch vor zukünftigen Angriffen sicher ist (z. B. ist ZKP resistent gegen Quantencomputer) und außerdem recheneffizienter in Bezug auf die Ausführung und den von ihnen genutzten Platz kryptografische Beweise. Daher sind viele Projekte an dieser Art von Technologien interessiert, um die Effizienz, Sicherheit und Skalierbarkeit von Blockchain-Netzwerken zu verbessern.
zk-Rollup, die Weiterentwicklung von Rollups
Obwohl ZKPs äußerst leistungsfähig sind, ändern sich die Dinge radikal zum Besseren, wenn wir diese Leistung mit Rollups kombinieren. Rollups sind eine Sidechain-Skalierbarkeitstechnologie, die ganz einfach funktioniert. Die Idee besteht darin, eine Reihe von Transaktionen (z. B. alle Operationen eines Blocks) zu gruppieren und daraus eine einzelne Transaktion zu generieren, die im Mainnet des Netzwerks veröffentlicht wird, mit dem die Sidechain verknüpft ist.
Somit fungiert ein Rollup als zusammenfassende Transaktion von Vorgängen, die in einem Mainnet veröffentlicht wird, während sie mit einer Reihe von Vorgängen in einer Sidechain verknüpft ist und dort klar und sicher überprüft werden kann. Dies ist keine neue Technologie, tatsächlich verwendet das Lightning Network ein sehr ähnliches System, da die Operationen der LN-Kanäle letztendlich in einer einzigen Operation innerhalb von Bitcoin zusammengefasst werden.
Rollups sind sehr nützlich, aber es gibt ein Problem: Die derzeit in der Blockchain verwendete Kryptografie (asymmetrische Kryptografie) generiert große Beweise, die rechentechnisch ineffizient sind und einige Fungibilitätsprobleme aufweisen (z. B. ist es bei optimistischen Rollups möglich, Vorgänge wirtschaftlich zu manipulieren).
Mit dem Ziel, diese Technologie zu verbessern, wurden daher zk-Rollups geboren, die nicht nur alle Vorteile von Rollups und ZKP bieten, sondern auch die Sicherheitsprobleme einiger Rollups-Implementierungen lösen.
Architektur und Betrieb von zkEVM
Nun ist es recht komplex, den Prozess zu erreichen, der die Funktion von zkEVM ermöglicht, und daran arbeiten die Matter Labs-Entwickler seit 2018.
Verstehen, wie das EVM funktioniert
Schauen wir uns zunächst an, wie das normale EVM funktioniert: tWir haben Smart Contracts, das sind all diese in Solidity geschriebenen Programme, die wir in den Blockchain- und Software-Repositories der uns bekannten DApps-Projekte sehen können. Man kann sagen, dass dieser Code dafür verantwortlich ist, dass Dapps funktioniert, obwohl das nicht ganz richtig ist. Die EVM führt die Solidity-Sprache nicht direkt aus, da die EVM die Sprache nicht direkt interpretiert.
Damit kommen wir zum zweiten Punkt, der Zusammenstellung der Smart Contracts. Jeder in Solidity (oder kompatibel) geschriebene Smart Contract wird kompiliert und ein Bytecode generiert, ein Maschinencode, den das EVM verarbeiten kann. Dieser Bytecode wird als Smart Contract Bytecode bezeichnet und ist der Auftakt für die Ausführung von Smart Contracts im Netzwerk.
Natürlich besteht dieser Bytecode aus einer Reihe von OP_CODE oder OperationscodesDabei handelt es sich um präzise Anweisungen, die das EVM implementiert hat und ausführen kann, damit die Smart Contracts tatsächlich funktionieren. Dieser generierte OP_CODE gibt die genauen Anweisungen an, die das EVM ausführen muss, um seine Aufgabe zu erfüllen: Ermöglichen Sie uns die Verwendung von Dapps oder anderen Vorgängen innerhalb des Netzwerks. Dieser OP_CODE kann im Detail in der Spezifikation überprüft werden Gelbes Ethereum-Papier.
Schließlich führen die Netzwerkknoten, alle mit einem EVM, diesen Code aus, überprüfen, ob alles korrekt ist, und fügen die Transaktionen und Zustände zur Blockchain hinzu, sodass ein klarer Konsens darüber und ein überprüfbarer Beweis für solche Vorgänge entstehen.
EVM mit zkEVM verbessern
Die obige Operation ist das, was wir im EVM und seinen Derivaten sehen können, und dazu gehört auch das zkEVM. Der grundlegendste Unterschied zwischen EVM und zkEVM besteht darin, dass letzteres eine sichere und abgeschirmte Ausführungsumgebung gegen externe Agenten generiert, selbst wenn diese zum selben Netzwerk gehören.
Beispielsweise kann ein Knotenbetreiber in der EVM die ausgeführten Vorgänge sehen. Sie können sie in dem Sinne „sehen“, dass Sie die Eingabe- und Ausgabedaten dieser Vorgänge einschließlich ihrer Zwischenzustände verfolgen können. Dies ist möglich, weil die EVM über eine offene Ausführungsumgebung verfügt und die im Prozess verwendete Kryptografie nur dazu dient, bestimmte Abschnitte des Codes zu schützen (z. B. Adressen und Autorisierung für die Token-Verarbeitung).
Aber in zkEVM ändert sich das radikal. In einer ZKP-Umgebung können wir die Eingabedaten sehen, aber es handelt sich tatsächlich nicht um die tatsächlichen Daten, sondern um eine Reihe von Daten, die durch die ZKP-Kryptographie generiert wurden. Somit handelt es sich bei der Dateneingabe grundsätzlich um eine Reihe von Daten, die es dem zkEVM ermöglichen, zu überprüfen, ob das, was wir sagen, wahr ist, ohne jedoch jemals die tatsächlichen Informationen preiszugeben, die zu diesen Daten geführt haben.
Diese Eingabedaten werden von Ausführungsdaten und einer Reihe von Zeugendaten begleitet, die zkEVM gruppiert. Nach der Gruppierung verfügt die zkEVM über alles Notwendige, um den Prozess anzuwenden, der es ihr ermöglicht, festzustellen, ob die Eingabedaten korrekt sind. Wenn sie korrekt sind, generiert die zkEVM die Zustandsänderungen, die dem Netzwerk anzeigen, dass der Smart Contract ausgeführt wurde Darüber hinaus werden Tests generiert, die anzeigen, dass diese Daten und die Ausführung korrekt sind.
Letztendlich können diese Daten abhängig von der Bereitstellung des zkEVM (z. B. nativ – L1 oder innerhalb einer Sidechain – L2) an die Netzwerkknoten gesendet werden, damit zusätzliche Verifizierungsschritte ausgeführt werden können, was mit endet der Prozess.
Entwicklung erleichtern
Warum sollte man sich nun die Mühe machen, das Design des EVM zu komplizieren? Nun, zunächst einmal ermöglicht uns zkEVM nicht nur, die Ausführung von Smart Contracts privater zu gestalten, sondern gibt uns auch die Möglichkeit, die Rechenressourcen der Knoten effektiver zu nutzen.
zkEVM wurde speziell als Lösung für die Implementierung in der Sidechain entwickelt, genauer gesagt in zkSync und seinen berühmten zk-Rollups. Dies hat drei Ziele:
- Da es sich um eine Sidechain handelt, können bestimmte Konsensprozesse gelockert werden, um die Skalierbarkeit zu erhöhen. Da die Sidechain-Verbindung jedoch direkt zu L1 erfolgt, generiert jede Transaktion im zkEVM einzigartige und überprüfbare Beweise, die nicht nur in der Sidechain, sondern auch in L1 als Rollup aufgezeichnet werden. Ziel ist es, ein hohes Maß an Sicherheit aufrechtzuerhalten und gleichzeitig die Skalierbarkeit zu erhöhen, nicht nur bei Sidechains, sondern auch beim Sharding.
- Die Programmiersprache mit zkEVM kann weiterentwickelt werden. Während Solidity durch Konvention und Kompatibilität verwendet werden kann, kann zkEVM andere von LLVM unterstützte Sprachen verwenden, und dazu gehören Sprachen wie C/C++, Zinc (eine Entwicklungssprache und ein Framework, die von Rust inspiriert sind und darauf aufbauen). Dies bedeutet, dass zkEVM recheneffizienter arbeiten kann, indem es die Ressourcen der Knoten direkter nutzt, sogar mit der Möglichkeit, Parallelität zu erreichen.
3. Erleichtert die Entwicklung von ZKP-Anwendungen, da das Zinc-Framework dabei hilft, ZKP-Anwendungen sicher für diese VM zu generieren.
Weitere Projekte am Horizont
zkEVM von Matter Labs ist das Projekt, mit dem die gesamte Entwicklung von ZKP auf dem EVM begonnen wurde, aber andere Projekte haben sich dieser Initiative bereits angeschlossen. Beispielsweise hat Polygon (MATIC) auch eine eigene zkEVM-Lösung angekündigt, die auch als Polygon Hermez bekannt ist und im März 2021 eingeführt wurde. Natürlich funktioniert Polygon zkEVM völlig anders als zkEVM von Matter Labs.
Ebenso haben wir Projekte wie Scroll oder StarkNet, zwei Projekte, die sich darauf konzentrieren, einzigartige und leistungsstarke zk-Rollups-Lösungen anzubieten, die erstklassige Skalierbarkeitslösungen für Ethereum und andere kompatible Netzwerke werden sollen.
Dies sind derzeit die größten und am weitesten entwickelten Projekte, aber wir werden sicherlich noch weitere Projekte dieser Art sehen und der Welt vorgestellt werden. Letztlich scheint die Blockchain-Entwicklung unaufhaltsam zu sein und Projekte wie zkEVM zeigen dies sehr deutlich.