Hier ist eine einfache und leicht verständliche Einführung in Null-Wissen-Beweise:
Stellen Sie sich vor, Sie sind in der Grundschule. Der Lehrer ist der Verifizierer, und Sie als Schüler sind der Beweiser. Wie können Sie beweisen, dass Sie die Formel zur Lösung quadratischer Gleichungen verstehen? Hier kommt eine Mathematikprüfung ins Spiel.
Der Lehrer wird Ihnen zehn verwandte Fragen zufällig stellen, und wenn Sie das Konzept wirklich verstehen, werden Sie in der Lage sein, alle zu lösen. Während dieses Prozesses müssen Sie sich nicht die spezifischen Inhalte der Formel merken oder aufschreiben, aber der Lehrer kann leicht Ihr Wissensniveau überprüfen.
Tatsächlich handelt es sich um die Methode, die von Tartaglia und Cardano (ja, das ist der Name) verwendet wurde, um darum zu konkurrieren, wer die Lösung für die kubische Gleichung entdeckt hat. Beide wollten den Inhalt ihrer Formeln nicht gegenseitig offenlegen, aber durch Problemlösung konnten sie leicht überprüfen und bestimmen, ob sie dieses Wissen beherrscht hatten, ohne die Einzelheiten preiszugeben.
Was ist der Zweck von Zero-Knowledge-Beweisen? Der Zweck besteht darin, Rechenleistung zu sparen und den On-Chain-Speicherplatz im gesamten Prozess zu reduzieren. Darüber hinaus bietet es Datenschutz, der sich mit den Eigenschaften der Vertrauenslosigkeit in der Blockchain und den Prinzipien der Kryptographie deckt.
Im Bereich der Blockchain bezieht sich der Begriff "zk", der verwendet oder erwähnt wird, in der Regel nicht auf tatsächliche Zero-Knowledge-Beweise, sondern bezieht sich oft auf Gültigkeitsbeweise. Aufgrund der Begriffsverwirrung werden in bestimmten Teilen dieses Textes weiterhin diese "falsch verwendeten" Begriffe verwendet.
In der aktuellen Blockchain-Landschaft kann zk als die führende und optimale Lösung für Blockchain-Skalierbarkeit (nicht true zk, sondern Validity Proof) und Datenschutztechnologie (true zk) angesehen werden, die in Projekten wie Tornado.cash, ZCash, zkSync, zk.money, Filecoin und Mina verwendet wird.
Die aktuellen technischen Lösungen sind hauptsächlich in zwei Kategorien unterteilt: SNARK und STARK. Bei STARK steht das "S" für skalierbar, was bedeutet, dass die bewiesenen Aussagen wiederkehrende Strukturen aufweisen, während SNARK beliebige Schaltkreise unterstützt, die vorverarbeitet werden, um prägnante Beweise zu erbringen. Dabei hat die praktische Implementierung von SNARKs die führende Position eingenommen, während STARKs hauptsächlich in großem Maßstab in den von StarkWare eingeführten Produkten angenommen werden. Im Folgenden folgt ein Vergleich zwischen ihnen.
Aus der Perspektive von Meme ist STARK besser als SNARK (😊, Star Wars, Star Trek).
Wenn SNARK die Zukunft von Ethereum 2.0 ist, dann wird STARK die Zukunft von Ethereum 3.0 sein. Ernsthaft, die Vorteile von STARK sind:
Die von STARK generierten Proofs sind jedoch sehr umfangreich. Aufgrund bestimmter Einschränkungen, wie z. B. der WASM, können während des Baus zusätzliche Vorgänge erforderlich sein (hier beziehen wir uns auf SNARK). Kürzlich hat Mir eine praktische Implementierung eines AIR-basierten STARK unter Verwendung von Starky bereitgestellt, das Teil von Plonky2 ist (die Beziehung zwischen Plonky2 und Starky ist ziemlich komplex...). Meiner persönlichen Meinung nach kann die Größe zwar mit verschiedenen Techniken optimiert werden, aber es ist schwierig, die Zeitkomplexität des Algorithmus selbst weiter zu komprimieren.
Diese Zero-Knowledge-Proof-Technologien können auf vernünftige Weise kombiniert werden, um leistungsstärkere Anwendungen zu entwickeln. Zum Beispiel verwendet Polygon Hermez SNARK, um die Korrektheit von STARK zu überprüfen und damit die Gasgebühr beim Veröffentlichen des Nachweises zu reduzieren.
Insgesamt sind SNARK und STARK beide ausgezeichnete Zero-Knowledge-Beweistechnologien, von denen jede ihre eigenen Stärken hat, und ihre vernünftige Kombination hat noch mehr Potenzial.
Die zuvor genannten Tornado.cash und zk.money sind ähnliche Anwendungen, die nur Transferoperationen unter Verwendung von Zero-Knowledge-Beweisen unterstützen. Sie unterstützen keine allgemeine Berechnung. Im Vergleich dazu haben diese Anwendungen nur die Funktionalität von Bitcoin, weit weniger als das Turing-vollständige Ethereum, geschweige denn den Aufbau eines Ökosystems (Die Smart Contracts auf Bitcoin müssen noch ein blühendes Ökosystem etablieren).
zkVM ist eine virtuelle Maschine, die sichere, überprüfbare und vertrauenswürdige Eigenschaften mithilfe von Zero-Knowledge-Beweisen gewährleistet. In einfachen Worten nimmt sie einen alten Zustand und ein Programm als Eingabe und gibt einen neuen Zustand zurück. Sie verleiht allen Anwendungen die Superkraft der Zero-Knowledge-Beweise.
Midens Präsentation auf der ETH Amsterdam fasste effektiv zusammen, was zkVM mit einer einzigen Folie ist.
Vorteile von zkVM:
Nachteile von zkVM:
Derzeit gibt es drei Haupttypen von zkVM, mit ihren jeweiligen Anweisungssätzen in Klammern: Mainstream (WASM, RISC-V), EVM (EVM-Bytecode), ZK-Optimized (ein neuer Befehlssatz, optimiert für Zero-Knowledge-Beweise, wie Cairo und zkSync). Im Folgenden finden Sie eine Vergleichstabelle dieser Typen basierend auf Miden's Präsentation auf der ETH Amsterdam.
Vieles, was im Nullwissensbeweis-Entwicklungssystem getan wird, dreht sich hauptsächlich darum, Entwickler zu befähigen, die Circom-Bibliothek (und zum Beispiel Snarkyjs) oder andere neu erstellte Sprachen (wie Leo oder Cairo, die ihre eigenen einzigartigen Einschränkungen haben) für die Entwicklung von allgemeinen zk DApps zu nutzen. Dies ist jedoch nicht so geradlinig und einfach zu erlernen wie die Verwendung von Solidity auf Ethereum.
Darüber hinaus gibt es viele Projekte wie zkSync, Scroll oder mehrere unter dem Dach von Polygon, die mit zkEVM oder anderen zkVM-Lösungen experimentieren.
Die EVM ist Ethereums virtuelle Maschine, die auch als Satz von Ausführungsumgebungen für die Ausführung von Smart Contracts verstanden werden kann.
Im Laufe der Jahre haben verschiedene öffentliche Blockchains kontinuierlich versucht, kompatibel mit der EVM zu werden und sich damit in das Entwicklungsökosystem von Ethereum zu integrieren. Dieses Konzept hat zur Ableitung von Begriffen wie EVM-Kompatibilität, EVM-Äquivalenz und anderen Definitionen geführt.
Lassen Sie uns zkEVM weiter interpretieren. Nach Definition ist zkEVM eine virtuelle Maschine, die mit EVM kompatibel ist und auch freundlich zu Zero-Knowledge-Beweisen ist, um die vollständige Korrektheit von Programmen, Operationen und Ein- / Ausgabe zu gewährleisten.
Um eine universelle Berechnung zu erreichen, gibt es zwei Hauptprobleme bei der Entwicklung von zkEVM:
Verschiedene Verträge erfordern die Generierung verschiedener Schaltkreise, und diese Schaltkreise sind ziemlich 'komplex'.
Dieser Aspekt beruht hauptsächlich auf verschiedenen Optimierungen. Zum Beispiel verwendet Aleo (obwohl es nicht vom direkten ZK-Typ ist... nur ein Beispiel für Optimierung) verteilte Cluster für gleichzeitige Beweisberechnungen oder verschiedene Hardware-Optimierungen zur Beschleunigung.
zkEVM erfordert nicht nur eine Neukonstruktion des EVM, sondern auch eine Neukonstruktion des gesamten Zustandsübergangs von Ethereum unter Verwendung der Zero-Knowledge-Proof-Technologie.
Das ursprüngliche Design der EVM hat die Entwicklung von zkEVM nicht vorausgesehen, was zu erheblichen Schwierigkeiten geführt hat. Dies hat zu zwei Ansätzen geführt, wie im Diagramm dargestellt.
Oder, um nach der Architektur einer virtuellen Maschine (VM) zu unterscheiden, wie im Diagramm unten (großer Dank an Scroll Tech für die ursprüngliche Bildzusammenfassung!). Opcode bezieht sich auf EVM-Opcode. Der StarkWare-Bereich verwendet Warp, um Solidity-Verträge in Cairo-Verträge umzuwandeln, oder kann Verträge direkt in Cairo schreiben und trotzdem eine gute Entwicklungserfahrung und einen vollständigen Satz von Tools erhalten.
Auf Entwickler- und Benutzerebene sind diese Lösungen meiner Meinung nach im Grunde nicht voneinander zu unterscheiden. In Bezug auf die Infrastruktur gilt: Je weiter rechts die Lösung ist, desto besser ist die EVM-Kompatibilität. Sie kann nahtlos in die Infrastruktur wie Geth integriert werden, aber der Entwicklungsfortschritt ist im Allgemeinen langsamer.
Die Existenz von zkEVM ist meiner Meinung nach innovativ und trägt zur Prosperität von Ethereum und seinem Ökosystem bei. Auf der anderen Seite stärkt die Existenz des zkVM Ethereum möglicherweise nicht unbedingt, aber sie bietet eine größere Vorstellungskraft.
Obwohl das Cairo VM von StarkNet möglicherweise nicht das perfekte zkVM ist, das ich mir vorgestellt hatte, kann es mehr als das EVM oder zkEVM. Diese Funktionen gehen über das Niveau der EIP-Erweiterungen hinaus. Auf dem Cairo VM können Machine-Learning-Modelle ausgeführt werden, und es wird sogar eine Plattform für Machine-Learning-Modelle auf StarkNet aufgebaut.
Im Vergleich zu zkEVM ist der Aufbau eines zkVM einfacher (ohne sich um die technischen Schulden von EVM zu kümmern), flexibler (ohne sich um Updates von EVM zu kümmern) und einfacher zu optimieren (Schaltkreis- und Beweisoptimierer sind viel einfacher und günstiger als der Aufbau von zkEVM).
Allerdings hat zkVM einen kleinen, aber potenziell tödlichen Nachteil. Wenn zkVM keine EVM-Kompatibilität auf der Ebene der Solidity-Sprache bieten kann, wird es für zkVM schwierig sein, ein umfassendes und ausgereiftes Web3-Entwicklungsumfeld ähnlich dem von EVM zu schaffen.
zkVM könnte ein größerer Trend sein, der die vertikale Optimierung des EVM ermöglichen und die horizontale Erweiterung des EVM-Ökosystems vorantreiben kann, um sich von den Einschränkungen des EVM zu lösen.
Wenn es eine universelle zkVM gäbe, die Smart Contracts aller Programmiersprachen, nicht nur Solidity, nicht nur Cairo, sondern auch Rust, C++, Go, sicher mit Zero-Knowledge-Proofs ausführen könnte, wäre das nicht großartig? (Stellar hat es versucht, ist aber gescheitert.)
Wie @kelvinfichtererwähnt: Warum zkEVM, wenn zkMIPS? Wie@KyleSamaniErwähnt: EVM ist ein Fehler, kein Feature. Warum zkEVM, wenn zkVM?
Winterfall, Distaff, Miden VM und andere zkVMs haben noch kein hohes Maß an Entwicklerfreundlichkeit erreicht. Nervos verfügt über eine RISC-V VM, nutzt jedoch keine Zero-Knowledge-Proof-Technologie.
Die optimale Lösung in der aktuellen Situation besteht darin, einen WASM oder RISC-V zkVM zu erstellen, noch besser, wenn es Sprachen wie Rust, Go, C++ und sogar Solidity unterstützen könnte (zkSync scheint bedeutende Beiträge leisten zu können). Wenn es einen solchen universellen zkVM gäbe, wäre dies ein erheblicher Schlag für zkEVM.
Die Anzahl der Web3-Entwickler beträgt ungefähr 0,07% aller Entwickler. Dies impliziert, dass die Anzahl der Solidity-Entwickler noch kleiner als 0,07% ist, und noch weniger Entwickler würden Cairo zur Vertragsverfassung oder Leo zur Schaltungserstellung verwenden. Aus diesem Grund zielt das perfekte zkVM darauf ab, fast 100% der Entwickler zu bedienen, da jeder Entwickler eine perfekte Zero-Knowledge-Ausführungsumgebung mit nahezu jeder Programmiersprache erhalten kann.
Wenn Web3 und Krypto eines Tages die Welt dominieren sollten, glaube ich, dass es definitiv nicht das EVM-Ökosystem sein wird, das 100 % aller Entwickler einnimmt, sondern dass sich alle Entwickler allmählich zu Web3- und Krypto-Entwicklern entwickeln. Hier liegt die Genialität des universellen zkVM.
Native zkEVM ist die Zukunft der Blockchain.
Universal zkVM ist die Zukunft von Web3.
Hier ist eine einfache und leicht verständliche Einführung in Null-Wissen-Beweise:
Stellen Sie sich vor, Sie sind in der Grundschule. Der Lehrer ist der Verifizierer, und Sie als Schüler sind der Beweiser. Wie können Sie beweisen, dass Sie die Formel zur Lösung quadratischer Gleichungen verstehen? Hier kommt eine Mathematikprüfung ins Spiel.
Der Lehrer wird Ihnen zehn verwandte Fragen zufällig stellen, und wenn Sie das Konzept wirklich verstehen, werden Sie in der Lage sein, alle zu lösen. Während dieses Prozesses müssen Sie sich nicht die spezifischen Inhalte der Formel merken oder aufschreiben, aber der Lehrer kann leicht Ihr Wissensniveau überprüfen.
Tatsächlich handelt es sich um die Methode, die von Tartaglia und Cardano (ja, das ist der Name) verwendet wurde, um darum zu konkurrieren, wer die Lösung für die kubische Gleichung entdeckt hat. Beide wollten den Inhalt ihrer Formeln nicht gegenseitig offenlegen, aber durch Problemlösung konnten sie leicht überprüfen und bestimmen, ob sie dieses Wissen beherrscht hatten, ohne die Einzelheiten preiszugeben.
Was ist der Zweck von Zero-Knowledge-Beweisen? Der Zweck besteht darin, Rechenleistung zu sparen und den On-Chain-Speicherplatz im gesamten Prozess zu reduzieren. Darüber hinaus bietet es Datenschutz, der sich mit den Eigenschaften der Vertrauenslosigkeit in der Blockchain und den Prinzipien der Kryptographie deckt.
Im Bereich der Blockchain bezieht sich der Begriff "zk", der verwendet oder erwähnt wird, in der Regel nicht auf tatsächliche Zero-Knowledge-Beweise, sondern bezieht sich oft auf Gültigkeitsbeweise. Aufgrund der Begriffsverwirrung werden in bestimmten Teilen dieses Textes weiterhin diese "falsch verwendeten" Begriffe verwendet.
In der aktuellen Blockchain-Landschaft kann zk als die führende und optimale Lösung für Blockchain-Skalierbarkeit (nicht true zk, sondern Validity Proof) und Datenschutztechnologie (true zk) angesehen werden, die in Projekten wie Tornado.cash, ZCash, zkSync, zk.money, Filecoin und Mina verwendet wird.
Die aktuellen technischen Lösungen sind hauptsächlich in zwei Kategorien unterteilt: SNARK und STARK. Bei STARK steht das "S" für skalierbar, was bedeutet, dass die bewiesenen Aussagen wiederkehrende Strukturen aufweisen, während SNARK beliebige Schaltkreise unterstützt, die vorverarbeitet werden, um prägnante Beweise zu erbringen. Dabei hat die praktische Implementierung von SNARKs die führende Position eingenommen, während STARKs hauptsächlich in großem Maßstab in den von StarkWare eingeführten Produkten angenommen werden. Im Folgenden folgt ein Vergleich zwischen ihnen.
Aus der Perspektive von Meme ist STARK besser als SNARK (😊, Star Wars, Star Trek).
Wenn SNARK die Zukunft von Ethereum 2.0 ist, dann wird STARK die Zukunft von Ethereum 3.0 sein. Ernsthaft, die Vorteile von STARK sind:
Die von STARK generierten Proofs sind jedoch sehr umfangreich. Aufgrund bestimmter Einschränkungen, wie z. B. der WASM, können während des Baus zusätzliche Vorgänge erforderlich sein (hier beziehen wir uns auf SNARK). Kürzlich hat Mir eine praktische Implementierung eines AIR-basierten STARK unter Verwendung von Starky bereitgestellt, das Teil von Plonky2 ist (die Beziehung zwischen Plonky2 und Starky ist ziemlich komplex...). Meiner persönlichen Meinung nach kann die Größe zwar mit verschiedenen Techniken optimiert werden, aber es ist schwierig, die Zeitkomplexität des Algorithmus selbst weiter zu komprimieren.
Diese Zero-Knowledge-Proof-Technologien können auf vernünftige Weise kombiniert werden, um leistungsstärkere Anwendungen zu entwickeln. Zum Beispiel verwendet Polygon Hermez SNARK, um die Korrektheit von STARK zu überprüfen und damit die Gasgebühr beim Veröffentlichen des Nachweises zu reduzieren.
Insgesamt sind SNARK und STARK beide ausgezeichnete Zero-Knowledge-Beweistechnologien, von denen jede ihre eigenen Stärken hat, und ihre vernünftige Kombination hat noch mehr Potenzial.
Die zuvor genannten Tornado.cash und zk.money sind ähnliche Anwendungen, die nur Transferoperationen unter Verwendung von Zero-Knowledge-Beweisen unterstützen. Sie unterstützen keine allgemeine Berechnung. Im Vergleich dazu haben diese Anwendungen nur die Funktionalität von Bitcoin, weit weniger als das Turing-vollständige Ethereum, geschweige denn den Aufbau eines Ökosystems (Die Smart Contracts auf Bitcoin müssen noch ein blühendes Ökosystem etablieren).
zkVM ist eine virtuelle Maschine, die sichere, überprüfbare und vertrauenswürdige Eigenschaften mithilfe von Zero-Knowledge-Beweisen gewährleistet. In einfachen Worten nimmt sie einen alten Zustand und ein Programm als Eingabe und gibt einen neuen Zustand zurück. Sie verleiht allen Anwendungen die Superkraft der Zero-Knowledge-Beweise.
Midens Präsentation auf der ETH Amsterdam fasste effektiv zusammen, was zkVM mit einer einzigen Folie ist.
Vorteile von zkVM:
Nachteile von zkVM:
Derzeit gibt es drei Haupttypen von zkVM, mit ihren jeweiligen Anweisungssätzen in Klammern: Mainstream (WASM, RISC-V), EVM (EVM-Bytecode), ZK-Optimized (ein neuer Befehlssatz, optimiert für Zero-Knowledge-Beweise, wie Cairo und zkSync). Im Folgenden finden Sie eine Vergleichstabelle dieser Typen basierend auf Miden's Präsentation auf der ETH Amsterdam.
Vieles, was im Nullwissensbeweis-Entwicklungssystem getan wird, dreht sich hauptsächlich darum, Entwickler zu befähigen, die Circom-Bibliothek (und zum Beispiel Snarkyjs) oder andere neu erstellte Sprachen (wie Leo oder Cairo, die ihre eigenen einzigartigen Einschränkungen haben) für die Entwicklung von allgemeinen zk DApps zu nutzen. Dies ist jedoch nicht so geradlinig und einfach zu erlernen wie die Verwendung von Solidity auf Ethereum.
Darüber hinaus gibt es viele Projekte wie zkSync, Scroll oder mehrere unter dem Dach von Polygon, die mit zkEVM oder anderen zkVM-Lösungen experimentieren.
Die EVM ist Ethereums virtuelle Maschine, die auch als Satz von Ausführungsumgebungen für die Ausführung von Smart Contracts verstanden werden kann.
Im Laufe der Jahre haben verschiedene öffentliche Blockchains kontinuierlich versucht, kompatibel mit der EVM zu werden und sich damit in das Entwicklungsökosystem von Ethereum zu integrieren. Dieses Konzept hat zur Ableitung von Begriffen wie EVM-Kompatibilität, EVM-Äquivalenz und anderen Definitionen geführt.
Lassen Sie uns zkEVM weiter interpretieren. Nach Definition ist zkEVM eine virtuelle Maschine, die mit EVM kompatibel ist und auch freundlich zu Zero-Knowledge-Beweisen ist, um die vollständige Korrektheit von Programmen, Operationen und Ein- / Ausgabe zu gewährleisten.
Um eine universelle Berechnung zu erreichen, gibt es zwei Hauptprobleme bei der Entwicklung von zkEVM:
Verschiedene Verträge erfordern die Generierung verschiedener Schaltkreise, und diese Schaltkreise sind ziemlich 'komplex'.
Dieser Aspekt beruht hauptsächlich auf verschiedenen Optimierungen. Zum Beispiel verwendet Aleo (obwohl es nicht vom direkten ZK-Typ ist... nur ein Beispiel für Optimierung) verteilte Cluster für gleichzeitige Beweisberechnungen oder verschiedene Hardware-Optimierungen zur Beschleunigung.
zkEVM erfordert nicht nur eine Neukonstruktion des EVM, sondern auch eine Neukonstruktion des gesamten Zustandsübergangs von Ethereum unter Verwendung der Zero-Knowledge-Proof-Technologie.
Das ursprüngliche Design der EVM hat die Entwicklung von zkEVM nicht vorausgesehen, was zu erheblichen Schwierigkeiten geführt hat. Dies hat zu zwei Ansätzen geführt, wie im Diagramm dargestellt.
Oder, um nach der Architektur einer virtuellen Maschine (VM) zu unterscheiden, wie im Diagramm unten (großer Dank an Scroll Tech für die ursprüngliche Bildzusammenfassung!). Opcode bezieht sich auf EVM-Opcode. Der StarkWare-Bereich verwendet Warp, um Solidity-Verträge in Cairo-Verträge umzuwandeln, oder kann Verträge direkt in Cairo schreiben und trotzdem eine gute Entwicklungserfahrung und einen vollständigen Satz von Tools erhalten.
Auf Entwickler- und Benutzerebene sind diese Lösungen meiner Meinung nach im Grunde nicht voneinander zu unterscheiden. In Bezug auf die Infrastruktur gilt: Je weiter rechts die Lösung ist, desto besser ist die EVM-Kompatibilität. Sie kann nahtlos in die Infrastruktur wie Geth integriert werden, aber der Entwicklungsfortschritt ist im Allgemeinen langsamer.
Die Existenz von zkEVM ist meiner Meinung nach innovativ und trägt zur Prosperität von Ethereum und seinem Ökosystem bei. Auf der anderen Seite stärkt die Existenz des zkVM Ethereum möglicherweise nicht unbedingt, aber sie bietet eine größere Vorstellungskraft.
Obwohl das Cairo VM von StarkNet möglicherweise nicht das perfekte zkVM ist, das ich mir vorgestellt hatte, kann es mehr als das EVM oder zkEVM. Diese Funktionen gehen über das Niveau der EIP-Erweiterungen hinaus. Auf dem Cairo VM können Machine-Learning-Modelle ausgeführt werden, und es wird sogar eine Plattform für Machine-Learning-Modelle auf StarkNet aufgebaut.
Im Vergleich zu zkEVM ist der Aufbau eines zkVM einfacher (ohne sich um die technischen Schulden von EVM zu kümmern), flexibler (ohne sich um Updates von EVM zu kümmern) und einfacher zu optimieren (Schaltkreis- und Beweisoptimierer sind viel einfacher und günstiger als der Aufbau von zkEVM).
Allerdings hat zkVM einen kleinen, aber potenziell tödlichen Nachteil. Wenn zkVM keine EVM-Kompatibilität auf der Ebene der Solidity-Sprache bieten kann, wird es für zkVM schwierig sein, ein umfassendes und ausgereiftes Web3-Entwicklungsumfeld ähnlich dem von EVM zu schaffen.
zkVM könnte ein größerer Trend sein, der die vertikale Optimierung des EVM ermöglichen und die horizontale Erweiterung des EVM-Ökosystems vorantreiben kann, um sich von den Einschränkungen des EVM zu lösen.
Wenn es eine universelle zkVM gäbe, die Smart Contracts aller Programmiersprachen, nicht nur Solidity, nicht nur Cairo, sondern auch Rust, C++, Go, sicher mit Zero-Knowledge-Proofs ausführen könnte, wäre das nicht großartig? (Stellar hat es versucht, ist aber gescheitert.)
Wie @kelvinfichtererwähnt: Warum zkEVM, wenn zkMIPS? Wie@KyleSamaniErwähnt: EVM ist ein Fehler, kein Feature. Warum zkEVM, wenn zkVM?
Winterfall, Distaff, Miden VM und andere zkVMs haben noch kein hohes Maß an Entwicklerfreundlichkeit erreicht. Nervos verfügt über eine RISC-V VM, nutzt jedoch keine Zero-Knowledge-Proof-Technologie.
Die optimale Lösung in der aktuellen Situation besteht darin, einen WASM oder RISC-V zkVM zu erstellen, noch besser, wenn es Sprachen wie Rust, Go, C++ und sogar Solidity unterstützen könnte (zkSync scheint bedeutende Beiträge leisten zu können). Wenn es einen solchen universellen zkVM gäbe, wäre dies ein erheblicher Schlag für zkEVM.
Die Anzahl der Web3-Entwickler beträgt ungefähr 0,07% aller Entwickler. Dies impliziert, dass die Anzahl der Solidity-Entwickler noch kleiner als 0,07% ist, und noch weniger Entwickler würden Cairo zur Vertragsverfassung oder Leo zur Schaltungserstellung verwenden. Aus diesem Grund zielt das perfekte zkVM darauf ab, fast 100% der Entwickler zu bedienen, da jeder Entwickler eine perfekte Zero-Knowledge-Ausführungsumgebung mit nahezu jeder Programmiersprache erhalten kann.
Wenn Web3 und Krypto eines Tages die Welt dominieren sollten, glaube ich, dass es definitiv nicht das EVM-Ökosystem sein wird, das 100 % aller Entwickler einnimmt, sondern dass sich alle Entwickler allmählich zu Web3- und Krypto-Entwicklern entwickeln. Hier liegt die Genialität des universellen zkVM.
Native zkEVM ist die Zukunft der Blockchain.
Universal zkVM ist die Zukunft von Web3.