Zephyrnet-logo

Polygon ZK-RollUp: een ongelooflijk eenvoudige uitleg 

Datum:

Leestijd: 9 minuten

Polygon behoudt zijn kroon door ZKrollup in te schakelen.

Probleem met Ethereum Mainnet

Ethereum is de ruggengraat van het web3-ecosysteem. Het blijft de meest briljante geesten ter wereld verrassen met het potentieel dat het met zich meebrengt. Het potentieel van gediversifieerde toepassingen zou zelfs Einstein even op zijn hoofd doen krabben.

Maar ja, het is geen sprookje. Elk geweldig ding heeft een beperking of beperking. De constante beperking waar Ethereum mee te maken heeft, zijn de "Gas Fees", of in andere termen, Schaalbaarheid, Ethereum Classic heeft een limiet van het uitvoeren van 15 transacties per seconde. ETH 2.0 zal echter veel sneller zijn dan dit, maar we hebben nog een lange weg te gaan.

Oplossingen geprobeerd

Na jaren van onderzoek, langdurige studies en enorme toewijding is de web3-gemeenschap erin geslaagd om met een aantal oplossingen te komen die helpen om beter te schalen

  1. Layer 1 Scaling:- Dit is de methodologie waarmee we blockchain beter proberen te maken door enkele wijzigingen in de architectuur aan te brengen. ETH 2.0 is bijvoorbeeld een Layer 1-schaaloplossing omdat het probeert PoS voor PoW in ETH Classic tot stand te brengen. Dit type oplossing is duur en tijdrovend.
  2. Roll Ups: - Dit is een laag 2-oplossing die de meest veelbelovende kanshebber is. De gebruikers krijgen beveiliging ondersteund door de Ethereum-blockchain met hoge doorvoer.
  3. Sidechains: - Deze zijn EVM-compatibel en kunnen algemene toepassingen opschalen, maar ze hebben nadelen. Omdat Ethereum zijn beveiliging niet ondersteunt, moet de Web3 Community voortdurend op de hoogte zijn. Dit valt onder laag 2 schaling.

https://twitter.com/MessariCrypto/status/1377655515099062273/photo/1

Polygoon neemt

Begonnen als een ethereum-schaalproject Polygon, voorheen bekend als Matic Network, kwam naar voren als een stralende ster in de web3-ruimte. Het kost centen om een ​​transactie op een polygoonnetwerk te bevestigen, terwijl dezelfde transactie dollars zou kosten op het Ethereum Mainnet. Dit was allemaal mogelijk vanwege de sidechain die bovenop het Ethereum-mainnet is gebouwd.

Later onderzocht Matic Network meer verschillende manieren om de Ethereum-blockchain te schalen en werd het omgedoopt tot "Polygoon" om verschillende oplossingen te bieden om de Ethereum-blockchain beter te schalen.

Er zijn verschillende projecten op het moment van schrijven van deze blog:-

  1. Polygoon PoS
  2. Polygoon-supernetten
  3. Veelhoek nul
  4. Polygoon Miden
  5. Veelhoek zkEVM

In deze blog zullen we Polygon's nieuwe release zkEVM verkennen, een van de populaire projecten voor het opschalen van Ethereum.

Veelhoek zkEVM

Polygon zkEVM is een product van polygon om Ethereum te schalen om gaskosten te verlagen en de doorvoer te verhogen. De “ZK” staat voor “zero knowledge”, een soort Roll up. Voordat we verder gaan, hebben we inzicht nodig in RollUps.

Wat zijn roll-ups

Stel je het zo voor, stel dat er een postdienst is van stad A naar stad B, maar dat er maar 1 voertuig is, dat slechts 100 enveloppen per dag kan vervoeren. Je vindt het beperkend en probeert een manier te vinden. Wat je kunt doen is, neem 10 brieven en schrijf hun samenvatting in een enkele brief en stop het in een envelop om te posten. zodat we 99 + (10) brieven kunnen posten. Dit is in wezen wat roll-ups zijn.

Dat is hoe roll-ups in wezen werken op het Ethereum-mainnet. We nemen een deel van de transacties, verzamelen ze in een "roll-up", vatten ze samen en pushen het vervolgens naar het mainnet. Dit verhoogt de doorvoer. De transactiekosten worden verdeeld over de verschillende partijen die betrokken zijn bij de transacties in de batch die wordt opgerold. Zo verlagen we de gastarieven flink.

Oprolmechanismen

Elke roll-up implementeert enkele slimme contracten op laag 1, die verband houden met: -

  1. Stortingen verwerken
  2. Onttrekkingen
  3. Bewijzen verifiëren

Het belangrijkste aandachtspunt hierbij is het verificatiemechanisme. Hoe controleren we of de roll-up ingediend bij laag 1 niet frauduleus is? Om dit te controleren, hebben we twee validatiemechanismen:-

  1. nul kennis: - Dit mechanisme maakt gebruik van geldigheidsbewijzen en wordt mogelijk gemaakt door cryptografie. De batch transacties die wordt opgerold, bevat een cryptografisch bewijs dat bekend staat als "zk-snark". Het bewijs wordt snel geverifieerd door de Layer 1 smart contracts wanneer de transactiebatch wordt ingediend, en ongeldige transacties worden afgewezen.
  2. Optimisme: - Dit mechanisme werkt fraudebestendig. Dit betekent dat we moeten bewijzen dat de batch die wordt ingediend bij laag 1 niet frauduleus is. Er zijn 2 partijen bij betrokken, de ene partij onderwerpt de batch aan het Layer 1-protocol en zegt dat de batch correct is en zet wat geld op het spel als het fout kan worden bewezen, en de andere partij probeert fraudebestendig in te dienen en beweert dat deze batch kwaadaardig is en met deze bewering staat er wat op het spel. Als iemand bewijs van fraude aanvoert, wordt de batch gecontroleerd op het Layer 1-protocol en wordt de partij die het bij het verkeerde eind heeft, bestraft.

De architectuur van polygon's zkEVM:-

U moet nu een goed begrip hebben van hoe roll-ups werken, in het bijzonder zk-roll-up. De belangrijkste componenten die we vinden in zkEVM van polygon zijn:-

  • Consensuscontract (PolygonZkEVM.sol)
  • zkNode
  • zkProver

Consensuscontract

Dit contract wordt ingezet op L1 en speelt een cruciale rol door geldigheidsbewijs te gebruiken om de robuustheid van toestandsovergangen te waarborgen. Om dit te doen, heeft het vooraf bepaalde regels die worden gevolgd om toestandsovergangen mogelijk te maken.

Om de succesvolle voltooiing van de statusovergang te verifiëren, maakt dit contract gebruik van zk-SNARK-circuits. Dit systeem is gebaseerd op twee processen, transacties die batching zijn en transactievalidatie, zoals eerder uitgelegd.

Om transactiebatches en transactievalidatie uit te voeren, heeft zkEVM twee deelnemers in dienst:

  1. Sequencers: - stel transactiebatches voor aan het netwerk.
  2. Aggregators: - Controleer de geldigheid van de transactiebatches en lever een geldig bewijs.

Later meer over Sequencers en aggregators, laten we ons concentreren op dit contract. Het contract maakt twee oproepen-

  1. om de batches van Sequencers te ontvangen
  2. aan aggregators die de validatie van batches vragen

Dit hele proces kan worden samengevat in het volgende diagram (hier is PoE ons consensuscontract): -

https://wiki.polygon.technology/docs/zkEVM/protocol/consensus/

zkNode

We maakten kennis met Sequencer en Aggregator in Consensus Contract, deze twee zijn cruciale onderdelen van de zkEVM-architectuur, en zkNode is de software die hen daartoe in staat stelt. zkNode is een client die nodig is om synchronisatie te implementeren en Sequencers en Aggregators te beheren. Dus, zkNode-software vergemakkelijkt 4 aspecten: -

  1. Sequencers: - Een sequencer is degene die L2-transacties van de gebruikers ontvangt en deze voorverwerkt tot een nieuwe L2-batch, die vervolgens wordt voorgesteld aan het Concensous Contract. De sequencer ontvangt de vergoeding die door de gebruikers is ingediend voor hun transacties op L2. Om deze batch naar de L1 te publiceren, moet de Sequencer L1-vergoedingen betalen en moet hij ook enkele MATIC-tokens betalen, die de aggregators stimuleren om deze batch te valideren. Sequencer is dus winstgevend als: - txn-vergoedingen (ontvangen door de gebruikers in L2 voor hun transactie) > L1-oproep (gasvergoeding om te publiceren op L1) + MATIC-vergoeding (om de aggregators te stimuleren om te valideren)
  2. Aggregators: - Aggregators zijn cruciaal om de integriteit van de batch te verifiëren. Aggregators ontvangen alle transactie-informatie en sturen deze vervolgens naar "zkProver" (daarover later meer), die op zijn beurt een "zk-Proof" levert die het resultaat is van complexe polynoomberekeningen. Het "zk-bewijs" wordt vervolgens naar het slimme contract gestuurd om te controleren of het bewijs correct is. Deze batch wordt dan als correct gemarkeerd en is klaar om toegevoegd te worden. De aggregator is winstgevend als: - MATIC-vergoeding (door Sequencer)> L1-oproep (gasvergoeding) + serverkosten (om bewijs te bouwen)
  3. Synchronizer: - Het belangrijkste aspect van de synchronisator is om gebeurtenissen uit de Ethereum-blockchain te lezen en de nieuwe batches op te nemen om de status gesynchroniseerd te houden. De informatie van deze gebeurtenissen wordt opgeslagen in de database. Synchronizer haalt de gegevens uit Smart Contracts. Al deze gegevens worden vervolgens via de JSON-RPC-service aan derden aangeboden.
  4. RPC:- JSON-RPC is een cruciale interface die compatibel is met Ethereum. Wanneer we een softwaretoepassing nodig hebben om verbinding te maken met de Ethereum-blockchain, maakt deze verbinding met een Ethereum-knooppunt. Zo komt RPC in beeld. Het stelt zkEVM in staat om Metamask en Etherscan te integreren en communiceert met Pool- en State-transacties.

https://wiki.polygon.technology/assets/images/fig3-zkNode-arch-aa4d18996fba1849291ea18e3f11d955.png

zkProver

Dit deel van de zkEVM-architectuur is het meest technologisch georiënteerd en complex. Het zal je verbazen om te weten dat je dit moet doen. De ontwikkelaars moesten twee nieuwe programmeertalen ontwikkelen om de benodigde elementen te implementeren:

  1. Nul - Kennisverzameling: - In eenvoudige bewoordingen wijst deze taal instructies van de Main State Machine van zkProver toe aan andere State Machines. Kijk voor meer informatie over deze taal dit.
  2. Polynomial Identity Language (PIL): - Er is veel onderzoek gedaan om het blockchain-trilemma van privacy, veiligheid en schaalbaarheid op te lossen. Tot op de dag van vandaag zijn er verschillende pogingen en verschillende theoretische pogingen geweest, maar degene die tot nu toe het meest geaccepteerd is, is het "Polynomial Commitment Scheme". Daarom is het alleen handig om berekeningen in een polynoomtaal uit te voeren. PIL-codes vormen dus de basis van de verificatiecode van de zkProver. Om er meer over te weten, volg hier.

zkProver wordt ondersteund door vele jaren onderzoek in verschillende afdelingen, waardoor de complexiteit gerechtvaardigd is. Er zijn voornamelijk enkele belangrijke componenten van zkProver: -

  1. De uitvoerder: - Dit deel behandelt de uitvoering van de zkEVM vanaf de Main State Machine. Dit is waar de EVM Bytecodes worden geïnterpreteerd met behulp van de nieuwe "zero-knowledge Assembly Language" (zkASM) die eerder is besproken. In dit deel behandelen we het opzetten van polynoombeperkingen waaraan elke geldige batch transacties moet voldoen en die de invoer moet voeden, zoals transacties, oude/nieuwe status, keten-ID enz. Hier is de PIL (Polynomial Identity Language) om de polynoombeperkingen. De uitvoer van deze stap is de "Commitment Polynomials", die het resultaat is van de uitvoering van alle instructies bovenop PIL-hardware.
  2. Grimmige recursiecomponent: - Deze stap omvat de interactie van drie belangrijke ingangen: vastgelegde polynomen, constante polynomen en een lijst met instructies. Deze drie ingangen vermengen zich om zk-STARK-bewijzen te genereren. Deze verschillende zk-STARK-proeven worden verzameld in bundels van enkele zk-STARK-proeven en produceren een zk-STARK-proef van elke bundel. Vervolgens worden die bewijzen in een bundel gestopt en verzameld om één enkele zk-STARK-proef te vormen. Dit is hoe honderden zk-STARK-bewijzen worden weergegeven en bewezen met slechts één zk-STARK-bewijs.
  3. CIRCOM-bibliotheek: - Deze stap omvat de interactie met de Verifier-gegevens en het enkele zk-STARK-bewijs gemaakt via Stark Recursion Componenet om een ​​"getuige" te genereren. Deze stap is nodig voor de volgende stap om het zk-STARK-bewijs om te zetten naar de zk- SNARK-proof.
  4. Rapid Snark: - Dit is het laatste onderdeel van de zkProver. Dit is het stadium waarin de "getuige" de uitvoer van de CIRCOM-bibliotheek samen met de STARK-verificatiegegevens invoert om het zk-SNARK-bewijs te maken.

De zk-STARK-proeven worden gebruikt vanwege hun snelheid, maar ze zijn veel groter dan de zk-SNARK-proeven. Om die reden gebruikt zkProver de zk-SNARK die in de laatste stap is gemaakt met behulp van de gegevens van zk-STARK-proeven. De interactie van deze vier componenten kan worden gezien als: -

https://wiki.polygon.technology/assets/images/fig5-main-prts-zkpr-042cd579e903d351ced9ec16a8ee7d9c.png

Kijkend naar het veiligheidsaspect

Qua beveiliging bevindt het zkEVM-project zich in de middeleeuwse fase en is het polygoonteam voortdurend betrokken geweest bij interne en externe audits. De informatie over de resultaten van interne audits is grotendeels geheim, maar Polygon heeft hulp gekregen van twee externe auditors (Hexens en Spearbit). Presentatie van de moeten slimme contractaudits krijgen zelfs door de grote reuzen. Het is waar dat "hacks onverwacht komen". Inderdaad, je kunt nooit zo zeker en veilig zijn. De meeste reuzen in het web3-ecosysteem begrijpen dit en doen er alles aan om zichzelf te beveiligen.

Meer dan ooit moeten we web3. In dit stadium is een professionele codebeoordeling van slimme contracten van vitaal belang, waardoor ontwikkelaars talloze werkuren besparen. Ervoor zorgen dat uw contracten veilig zijn, is belangrijker dan ooit. Samen kunnen we van Web3 een veiligere ruimte maken. Bezoek QuillAudits om verschillende diensten en oplossingen te verkennen.

16 keer bekeken

spot_img

Laatste intelligentie

spot_img