Heim > web3.0 > Wie beschleunigt RISC Zero Steel die ZK-Einführung von Ethereum?

Wie beschleunigt RISC Zero Steel die ZK-Einführung von Ethereum?

王林
Freigeben: 2024-06-08 17:03:32
Original
955 Leute haben es durchsucht

Zusammengestellt von Alex Liu, Foresight News

Ethereum hat erfolgreich ein boomendes dezentrales Anwendungsökosystem aufgebaut, aber seine Skalierbarkeitsherausforderungen werden immer größer. Entwickler stehen vor einer schwierigen Entscheidung: Beschränken Sie die Funktionalität und Datenvielfalt ihrer Anwendungen oder tolerieren Sie hohe Gasgebühren und Gasverbrauchsbeschränkungen. Was wäre, wenn Entwickler eine Möglichkeit hätten, diese Einschränkungen zu umgehen?

Steel verbindet RISC Zero und Ethereum

RISC Zero ist einer der größten zkVM-Entwickler. Wenn Sie oft zkEVM in Ihren Ohren hören, aber nicht wissen, was das Wort zkVM ist, können Sie auf diesen Artikel verweisen. Die neueste Einführung von RISC Zero ist Steel, eine auf Alloy basierende View-Call-Proof-Bibliothek, die die Art und Weise, wie Entwickler mit Ethereum L1 oder anderen EVM-Ketten interagieren, grundlegend verändert. Steel nutzt wissensfreie Beweise und RISC Zero zkVM und ermöglicht es Entwicklern, Ansichtsaufrufe durchzuführen und den Zustand von Ethereum nachweislich auf skalierbare, sichere und kostengünstige Weise zu lesen und zu berechnen.

Der Komfort von Solidity, die Leistungsfähigkeit von ZK

Steel schließt die Lücke zwischen der Anwendungsentwicklung von Ethereum und der Zero-Knowledge-Technologie und macht es für Entwickler einfacher, die Leistungsfähigkeit von ZK in ihren Smart Contracts zu nutzen. In Kombination mit den Funktionen von RISC Zero zkVM ermöglicht Steel Entwicklern, sicherere, skalierbarere und effizientere Anwendungen auf Ethereum L1 oder einer anderen EVM-äquivalenten Kette zu erstellen.

Mit Steel können Entwickler:

  • Solidity-Smart-Contracts direkt in zkVM ausführen, kompatibel mit komplexerer On-Chain-Logik
  • Zugriff auf den historischen Ethereum-Status in zkVM
  • Fortsetzungen für Berechnungen verwenden, unabhängig von Blöcken und Limits für Transaktionsdaten Größe
  • Gewährleistung, dass Off-Chain-Berechnungen genauso sicher und zuverlässig sind wie On-Chain-Ausführung
  • Verwendung der ersten produktionsfähigen zkVM, die von mehreren Partnern streng getestet und verwendet wurde
  • Private Berechnung des Ethereum-Status
  • Bleiben Sie flexibel mit einem Open-Source-Codebasis und Herstellerunabhängigkeit

Nahtlose Integration und Kosteneinsparungen

Mit Steel ist die Ausführung eines Ansichtsaufrufs so einfach wie die Angabe der erforderlichen Solidity-Methode. Ob es darum geht, ERC-20-Token-Guthaben abzurufen (Beispiel) oder auf alles vom Ethereum-Status aus zuzugreifen, Steel vereinfacht den Prozess durch die nahtlose Integration mit RISC Zero zkVM und gewährleistet gleichzeitig Sicherheit und Effizienz. Tests haben gezeigt, dass Steel in der Lage ist, über 100.000 SLOAD-Vorgänge in einem einzigen Aufruf abzuwickeln und so Tausende von Dollar an Gaskosten im Mainnet einzusparen. Wir können es mit Bonsai in etwa 15 Minuten beweisen, was mindestens 210 M Gas erfordert, was 7x über dem Blocklimit liegt.

Beispiel: ERC20 balanceOf

Der folgende Codeausschnitt zeigt den Prozess der Verwendung von Steel, um den Kontostand einer bestimmten Adresse für einen auf Ethereum bereitgestellten ERC-20-Vertrag nachzuweisen. Dieses Beispiel zeigt, wie Entwickler Steel nutzen können, um mit Ethereum-On-Chain-Daten innerhalb von zkVM zu interagieren. Der vollständige Code kann hier eingesehen werden.

Definieren Sie die Ansichtsfunktionssignatur

Verwenden Sie zunächst das sol!-Makro, um die BalanceOf-Funktionssignatur von ERC-20 zu definieren. Dadurch wird die Solidity-Syntax analysiert, um eine entsprechende Rust-Struktur zu generieren, die das SolCall-Merkmal implementiert und zum Aufrufen der balanceOf-Methode verwendet werden kann, die eine Kontoadresse akzeptiert und den zugehörigen ERC-20-Token-Guthaben zurückgibt.

RISC Zero Steel 如何加速以太坊的 ZK 采用?

Bereit zum Anrufen

Als nächstes richten Sie den Anruf ein, indem Sie die BalanceOfCall-Struktur mit der Zielkontoadresse instanziieren. Definieren Sie gleichzeitig Konstanten für die abzufragende Vertragsadresse und die Adresse des Anrufers.

RISC Zero Steel 如何加速以太坊的 ZK 采用?

Führen Sie den Aufruf in Main aus.

Die Hauptfunktion wird in zkVM ausgeführt, um einen wissensfreien Beweis zu generieren. Es liest zunächst die Eingabeumgebung und erstellt dann ein ViewCallEnv-Objekt, um sicherzustellen, dass der aktuelle Status mit dem erwarteten Statusstamm übereinstimmt. Nachdem Sie den entsprechenden Block-Hash und die entsprechende Blocknummer übermittelt haben, führen Sie einen Ansichtsaufruf durch und drucken Sie den Kontostand aus.

RISC Zero Steel 如何加速以太坊的 ZK 采用?

Wie es funktioniert

Steel beweist den Soliditätscode in RISC Zero zkVM in drei Schritten und vereinfacht so den Ausführungsprozess:

  1. Pre-Flight-Phase: Starten Sie den Pre-Flight, indem Sie einen View-Aufruf an den Ethereum-RPC-Knoten tätigen. Die erforderlichen Speicherplätze werden zwischengespeichert, sodass die EVM-Datenbank nur mit den für die Abfrage erforderlichen Daten gefüllt wird. Alle Speicherplätze werden anhand von Ansichtsaufrufen automatisch erkannt und abgerufen.
  2. Speicherüberprüfung: Führen Sie eine Speicherintegritätsprüfung durch, um sicherzustellen, dass die Daten in der EVM-Datenbank mit der Statuswurzel der Blockchain übereinstimmen, um deren Legitimität zu bestätigen.
  3. Solidity-Ausführung: Führt die angegebene Solidity-Funktion auf der EVM in RISC Zero zkVM aus.

Wie unterscheidet sich das vom Speichernachweis?

Beim herkömmlichen Speichernachweis müssen Entwickler die von ihren Smart Contracts verwendeten Speicherplätze manuell auswählen und die Smart Contract-Logik neu implementieren. Bei Steel werden alle Speicherplätze anhand von Ansichtsaufrufen automatisch erkannt und abgerufen. Dies spart Entwicklern viel Zeit und verringert die Wahrscheinlichkeit von Implementierungsfehlern, wodurch das Risiko von Sicherheitslücken verringert wird.

Holen Sie sich den verifizierten Block-Hash

Bei der Verifizierung mithilfe des Blockhash-Opcodes in einem Ethereum-Smart-Vertrag muss die verifizierte Verpflichtung auf einen Block-Hash verweisen, der nicht älter als 256 Blöcke ist. Wenn man davon ausgeht, dass die durchschnittliche Blockzeit 12 Sekunden beträgt, ergibt sich ein enger Zeitrahmen von etwa 50 Minuten für die vollständige Beweiserstellung und Bestätigung, dass die validierte Transaktion in einen Block aufgenommen wurde.

Wenn es notwendig ist, einen verifizierten Block-Hash in der Kette zu erhalten, der älter als 256 Blöcke ist, kann eine von mehreren Strategien verwendet werden:

  • Wenn der benötigte Block-Hash im Voraus bekannt ist (z. B. beim Start). B. einen Governance-Vorschlag), kann der Block-Hash im Vertragsstatus gespeichert werden.
  • Ein anderer Ansatz besteht darin, RISC Zero zu verwenden, um die Hash-Kette vom abgefragten Block bis zu einem der letzten 256 Blöcke zu beweisen.

Die Zukunft der On-Chain-Anwendungen

sieht eine Zukunft vor, in der Off-Chain-Berechnungen nahtlos in die On-Chain-Verifizierung integriert werden. Steel trägt zu dieser Vision bei, indem es Entwicklern ermöglicht, innerhalb von zkVM zuverlässig auf die gesamte Geschichte von Ethereum zuzugreifen und diese zu berechnen, sodass sie die nächste Generation datenreicher und leistungsfähigerer On-Chain-Anwendungen erstellen können.

Das obige ist der detaillierte Inhalt vonWie beschleunigt RISC Zero Steel die ZK-Einführung von Ethereum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:panewslab.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage