Sestavil: Filippo Armani

Sestavil: Shenchao TechFlow

ZK Rollups, také známé jako Validity Rollups, jsou revolučním způsobem škálování Etherea, který umožňuje zpracovávat transakce mimo řetězec a sloučit je do jedné komprimované transakce v hlavním řetězci. Tento proces zvyšuje propustnost transakcí a snižuje poplatky při zachování bezpečnosti a decentralizace hlavního řetězce.

Jedním z charakteristických rysů ZK Rollups je to, že využívají důkazy nulových znalostí (ZKP), typ kryptografického důkazu, který umožňuje jedné straně (ověřovateli) prokázat druhé straně (ověřovateli), že prohlášení je správné, aniž by odhalení jakýchkoli dalších informací. V kontextu ZK Rollups zajišťuje ZKP integritu off-chain transakcí a umožňuje prokazatelům prokázat platnost dávek transakcí, aniž by prozrazovaly konkrétní detaily transakcí nebo vyžadovaly, aby validátoři kontrolovali všechny transakce před přijetím nového stavu.

 

ZK Rollups nabízejí vyšší úroveň zabezpečení než Optimistic Rollups, protože nezavádějí žádné další předpoklady důvěry nad Ethereum a spoléhají na Ethereum a matematiku pro zabezpečení. Optimistic Rollups se spoléhají na teorii her a předpoklad poctivého uzlu 1/n, což znamená, že pro každou dávku transakcí vždy existuje alespoň jeden poctivý uzel, který může napadnout škodlivou transakci.

 

Na druhou stranu provozovatelé ZK Rollups, také známí jako sekvenceři a dokazovači, nemají šanci ohrozit finanční prostředky uživatelů, protože jejich úlohou je „pouze“ sbírat transakční dávky a generovat důkazy ZK, zatímco prostředky uživatelů zůstávají Na Ethereum L1 je Ethereum v konečném důsledku odpovědné za ověření důkazu ZK předloženého L2 a dokončení podkladové transakce. Důkazy platnosti jsou generovány prováděním složitých polynomiálních výpočtů na stavových datech. Pokud jsou údaje o stavu neplatné, nelze vygenerovat potvrzení o platnosti. Ověřovatel na L1 vloží stavová data pro ověření důkazu platnosti, takže pokud ověřovatel změní stavová data, ověřovatel důkaz nepřijme.

 

ZK Rollups mají také dvě výhody oproti Optimistic Rollups. Za prvé, urychlují konečnost, protože transakce jsou potvrzeny na Ethereu, jakmile je předložen důkaz o platnosti, zatímco Optimistic Rollups vyžadují týden, aby se zajistilo, že nebudou žádné problémy, než bude transakce považována za legální a konečnou. Zadruhé, pokud jde o dostupnost dat, ZK Rollups jsou efektivnější, protože je třeba zveřejňovat pouze rozdíly ve stavu, protože všechny transakce nemusí být rekonstruovány pro ověření, zatímco Optimistic Rollups musí publikovat kompletní data, aby kdokoli mohl rekonstruovat transakce a případně zpochybnit jim .

 

Výsledkem je, že ZK Rollups využívají mnohem menší šířku datového pásma na Ethereu (vzácný zdroj, který musí sdílet všechny Rollupy, bez ohledu na to, který systém používají k provádění transakcí, včetně obvodů ZK), což uživatelům umožňuje získat ještě více levných poplatků (nebo dokonce nulové poplatky).

 

Zk-rollups jsou považovány za konečné řešení pro škálovatelnost Etherea, ale protože virtuální stroj Ethereum (EVM) není navržen pro podporu obvodů ZK, je jejich implementace obtížná. K vyřešení tohoto problému se mnoho organizací a výzkumníků pokusilo vytvořit virtuální stroj s podporou Rollup nazvaný zkEVM, který dokáže spouštět chytré kontrakty způsobem kompatibilním s výpočtem s nulovými znalostmi.

 

Nejkomplexnější analýzu těchto různých pokusů lze nalézt ve Vitalikově příspěvku na blogu, kde nastiňuje čtyři typy zkEVM založené na kompatibilitě s Ethereem. Je třeba poznamenat, že čím blíže je zkEVM k funkčnosti Etherea, tím pomalejší a dražší bude generování důkazů Zk. Na druhou stranu, pokud bude blockchain nebo Rollup více v souladu se specifikacemi a standardy Etherea, bude pro vývojáře snazší na něm stavět aplikace a integrovat se do ekosystému Ethereum. Stručně řečeno, blockchain, který je vysoce kompatibilní s Ethereem, může mít konkurenční výhodu.

 

Kategorie 1: Souhrny ZK, které jsou zcela ekvivalentní Ethereu, přesně replikují Ethereum ve všech částech včetně hash, stavového stromu, transakčního stromu, předkompilace nebo jakékoli jiné konsensuální logiky. Dosud žádný zkEVM nedosáhl ekvivalence s Ethereem.

 

Kategorie 2: Zk rollups, které jsou zcela ekvivalentní EVM, se snaží být ekvivalentní EVM, ale nejsou zcela ekvivalentní Ethereu. Jsou plně kompatibilní se stávajícími aplikacemi, ale mají několik drobných úprav Etherea, aby se usnadnil vývoj a rychleji se generovaly důkazy. Scroll a zkEVM Polygon do této kategorie teoreticky v praxi patří, aktuálně patří do třetí skupiny.

 

Kategorie 3: Téměř ekvivalentní EVM, obětuje více prvků a ekvivalenci, aby bylo generování důkazů rychlejší. Polygon zkEVM a Scroll aktuálně spadají do této kategorie. Tato kategorie je často odrazovým můstkem do druhé kategorie.

 

Kategorie 4: Ekvivalence jazyka na vysoké úrovni, což znamená, že oba přijímají chytré smlouvy napsané v Solidity a poté je převádějí do jiného vlastního jazyka připraveného pro ZK. zkSync a StarkNet spadají do této kategorie, i když zkSync může časem přidat kompatibilitu s EVM bytecode a nakonec přejít na vyšší typy.

 

Přestože klasifikace navržená Vitalikem je v současnosti nejpopulárnější a nezaujatá, existují i ​​jiné klasifikační metody. Immutable, L2 založený na StarkWare speciálně pro NFT, poskytl v jednom ze svých blogových příspěvků následující užitečnou kategorizaci:

 

 

Tyto kategorie jsou ve srovnání s Vitalikovou klasifikací jasněji založeny na existujících zkEVM dosahujících své kompatibility nebo ekvivalence s Ethereem na konkrétní úrovni zásobníku (vysokoúrovňový jazyk, bytecode nebo runtime prostředí).

 

Solidnost kompatibilní. Kompatibilita s Ethereem je implementována na jazykové úrovni Solidity na vysoké úrovni, což znamená, že vývojáři mohou nadále psát chytré smlouvy v jazyce, který jsou na Ethereu zvyklí používat. Tyto kumulativní soubory však okamžitě převedou Solidity na jejich zprostředkující reprezentaci, která je pak zkompilována v jejich bajtkódu a spuštěna v jejich vlastním prostředí. Konkrétně tyto L2 používají transpilery k převodu Solidity kódu na čitelný kód pro vlastní VM (Cairo pro StarkWare, LLVM-IR pro zkSync). Tyto transpilátory nepodporují určité funkce Solidity, takže vývojáři možná budou muset upravit své chytré smlouvy. Například: zkSync a StarkNet.

 

EVM kompatibilní. Z jazykové úrovně jsou tyto souhrny kompatibilní s EVM, ale mají svůj vlastní bytekód, což znamená, že Solidity lze zkompilovat přímo do operačních/bytekódů EVM a poté převést na vlastní slova před vlastním kódem sekce běhu virtuálního počítače. Ve skutečnosti jsou tyto souhrny kompatibilní s většinou programů Ethereum, ale některé aplikace mohou vyžadovat přepsání. Navíc nejsou podporovány některé funkce bajtového kódu (například předkompilace). Například: Polygon zkEVM.

 

Ekvivalent EVM. Tyto souhrny vytvářejí ověřovací obvod zk, který může číst operační kódy EVM a bytecode přímo, i když se samotný VM liší od EVM. Tyto Rollups jsou plně kompatibilní se stávajícími aplikacemi, ale v Ethereu lze provést některé drobné úpravy, aby byl vývoj jednodušší a generování důkazů rychlejší. Například: Scroll.

 

Ekvivalent Etherea. To znamená replikaci Etherea na všechny jeho součásti, podobně jako to udělal Polygon. Do této kategorie zatím žádný zk Rollup nespadá.

 

Kombinací tohoto rámce s rámcem navrženým Immutable a přidáním některých dalších informací lze nastínit následující graf, který zdůrazňuje některé konstrukční rozdíly a podobnosti, které je třeba vzít v úvahu při porovnávání různých implementací zkEVM, než budou k dispozici data o výkonu:

 

 

zkSync 2.0 (právě přejmenován na zkSync Era před uvedením na mainnet) je škálovací řešení pro síť Ethereum, které je plně kompatibilní s programovacím jazykem Solidity. Pomocí zkSync si uživatelé mohou vybrat mezi dvěma typy dostupnosti dat: zkSync Rollup a zkSync Porter. První publikuje data přímo na Ethereu, díky čemuž je stejně bezpečná jako Ethereum L1, zatímco druhá ukládá data mimo řetězec, což vede k rychlejším a levnějším transakcím, ale s nižší úrovní zabezpečení.

 

zkSync je kompatibilní s EVM v tom, že dokáže převést inteligentní smluvní kód napsaný v Solidity na Yul, převést Yul na LLVM-IR a poté jej znovu zkompilovat do vlastního bajtu kompatibilního s obvody, který je speciálně navržen pro použití se sadou kódů EVM zkSync. I když to vyžaduje přechodný krok, umožňuje to také přidání dalších funkcí mimo EVM, jako je abstrakce účtu. Společnost zkSync, Matter Labs, navíc plánuje postupnou kompatibilitu se sadou nástrojů Ethereum a připravuje spuštění svého prvního třívrstvého prototypu, zkSync Opportunity, v oblasti škálovatelnosti a interoperability, jako součást svých ambicí Vyzkoušejte online verzi.

 

V době psaní tohoto článku byl zkSync Era právě spuštěn, takže je příliš brzy komentovat jeho výkon. zkSync 1.0 (nyní nazývaný zkSync Lite), který podporuje pouze jednoduché transakce, je jedním z největších zk rollupů. Podle statistik TVL bylo zablokováno více než 83 milionů amerických dolarů a kumulativní objem transakcí přesáhl 19 milionů, zatímco TVL společnosti StarkNet. přesahuje pouze 19 milionů amerických dolarů, kumulativní objem transakcí je 4 miliony.

 

StarkNet je zk-rollup vyhovující Type 4/Solidity, který využívá jiný typ důkazů s nulovými znalostmi nazývaný STARKs (Scalable Transparent ARgument of Knowledge), aby byla zajištěna integrita transakcí mimo řetězec. STARK jsou považovány za efektivnější a škálovatelnější než SNARK, ale mohou vyžadovat složitější technické nastavení.

 

Ačkoli StarkNet také podporuje chytré kontrakty, jeho možnosti jsou relativně malé kvůli použití STARKů a skutečnosti, že smlouvy StarkNet a StarkNet OS jsou napsány v jazyce Cairo. Aby byl vývoj jednodušší, StarkWare nedávno upgradoval na Cairo 1.0, který emuluje Rust. Stejně jako zkSync Era lze StarkNet klasifikovat jako „Solidity Compatible“, protože nespouští programy v rámci EVM, ale místo toho vytváří zcela nový, účelově vytvořený VM a používá vlastní bajtový kód. StarkWare používá Warp překladač k převodu Solidity kódu na Cairo VM bytecode.

 

Na rozdíl od zkSync Era a dalších implementací zkEVM se však tým StarkNet nesnaží být kompatibilní s EVM nebo jinými komponentami Etherea, ale spíše usiluje o to, aby byl virtuální počítač StarkNet co nejúčinnější zavedením vlastního klientského API, knihovny JavaScript, a peněženkový systém, který přinutí nástroje kompatibilní s Ethereum ručně přidat podporu StarkNet. Ačkoli Cairo 1.0 také zavádí Sierra - Secure Intermediate Representation - jako novou mezilehlou reprezentační vrstvu mezi Cairo 1.0 a Cairo bytecode, překladač Warp nepodporuje některé funkce Solidity a zdaleka nedosahuje kompatibility EVM zkSync Era.

 

Polygon zkEVM je souhrn zk, který používá vlastní jazyk, zkASM, k interpretaci kódu zkEVM a ověření inteligentního provedení smlouvy v běhovém prostředí bez EVM. Projekt začal v roce 2021 akvizicí Hermez Network za 250 milionů dolarů na vývoj ekvivalentního systému EVM, který kombinuje bezpečnost a efektivitu STARK a SNARK. Zatímco STARK se používá ke generování důkazů platnosti pro stavy transakcí, SNARK se používají k hodnocení správnosti důkazů STARK. Kombinace těchto řešení umožňuje bezpečnost, rychlost a nízké transakční poplatky.

 

V červenci 2022 Polygon oznámil, že Polygon Hermez bude přejmenován na Polygon zkEVM, který byl právě spuštěn v době psaní. Nejnovější verze testovací sítě Polygon zkEVM zavádí rekurzivní funkcionalitu, která umožňuje použít jeden důkaz platnosti ZK k ověření dávek jiných důkazů ZK, kde každý důkaz může ověřit více transakcí. Tuto funkcionalitu umožňuje Plonky2, rekurzivní SNARK, který je 100x rychlejší než stávající alternativy a je nativně kompatibilní se samotným Ethereem.

 

Kromě Polygon zkEVM vyvinul Polygon také Polygon Avail, blockchain optimalizovaný pouze pro dostupnost dat. Síť bude bez oprávnění, což umožní komukoli připojit se jako ověřovatel, a na rozdíl od stávajících DAC (Výbory pro dostupnost dat) bude mít stovky uzlů spolupracujících na zabezpečení sítě. Avail bude fungovat ve spojení s Polygon Hermez (Rollup) a bude nahrávat stavová data z Hermezu namísto jejich publikování na Ethereum, což poskytuje řešení mezi Validium a Rollup.

 

Zatímco někteří odborníci poznamenávají, že specifikace poskytované Polygonem jsou lépe popsány jako kompatibilita EVM, tým usilovně pracuje na vytvoření prvního plně ekvivalentního řešení EVM.

 

Scroll je ekvivalent EVM zk-rollup vyvinutý týmem Scroll ve spolupráci se skupinou PSE (Privacy and Scaling Explorations) nadace Ethereum. V současné době je ve stádiu Pre-Alpha testnetu a jeho cílem je konkurovat Ethereum Virtual na úrovni bytecode. Plně kompatibilní s EVM. To znamená, že vývojáři mohou vytvářet chytré smlouvy pomocí libovolného jazyka kompatibilního s EVM a nasazovat je do Scroll. Ačkoli Scroll v současné době nepodporuje operační kódy EVM, existují plány, jak to udělat vytvořením mapování operačních kódů 1:1 a přijetím operačních kódů EVM přímo bez kompilátoru.

 

Architektura Scroll zahrnuje centralizovaný serializační uzel a decentralizovanou atestační síť. Centralizovaný serializační uzel je zodpovědný za objednávání transakcí, vytváření bloků a odesílání transakčních dat jako dat volání do Rollup kontraktu na Ethereum pro dostupnost dat. Scroll plány na postupnou decentralizaci uzlů serializace. Na druhé straně decentralizovaný generátor nátisků nazvaný Roller generuje nátisky a publikuje je v síti L1, přičemž využívá distribuovaný výpočetní výkon. Válečky jsou náhodně vybírány a pro zvýšení rychlosti lze paralelně generovat více nátisků různých bloků na různých válečcích.

 

*I když v současné době podporuje pouze dostupnost dat v řetězci, původní design Scroll také zahrnoval režim Validium.

 

Ve skutečnosti, jak Scroll, tak Polygon používají k vytváření svých zkEVM přístup na úrovni bajtkódu. Tento přístup zcela eliminuje krok překladu, což znamená, že tyto zkEVM nepřevádějí kód Solidity do jiných jazyků před jeho kompilací a interpretací. Nicméně, zatímco jediný rozdíl mezi Scroll a Ethereum je běhové prostředí, Polygon vytvoří vlastní VM, optimalizuje ho a poté převede bajtkód EVM na bajtkód pro tento VM. Na rozdíl od Scroll běhové prostředí Polygonu ("zkExecutor") spouští vlastní operační kódy "zkASM" (mikrooperační kódy v diagramu) namísto operačních kódů EVM pro optimalizaci interpretace EVM (tj. snížení počtu omezení namísto přímého ověření EVM). Polygon zkEVM nemusí být 100% kompatibilní s kódem Solidity, nástroji a aplikacemi, ačkoli většina ano.

 

Zatímco se jedná o nejvýznamnější projekty zaměřené na zavedení obecné implementace zkEVM, technologie zk v praxi využívají i jiné projekty specifické pro konkrétní aplikace.

 

Looping je aplikace zk-rollup specifická pro podporu protokolů decentralizované výměny (DEX). Loopring je také platforma, která umožňuje komukoli sestavit dex pomocí důkazů zk. Immutable X je další zk-rollup specifický pro aplikaci postavený na StarkWare pro obchodování a hraní NFT. Aztec je zk-rollup na bázi Etherea zaměřený na soukromí, který šifruje data, aby zachoval transparentnost dat a dostupnost protokolu a zároveň chránil soukromí uživatelů. Kromě toho Aztec vynalezl systém PLONK proof, který také používá zkSync a další projekty.

 

Immutable X, Sorare, rhino.fi, ApeX, dYdX a mnoho dalších protokolů je postaveno na StarkEx. V projektech využívajících StarkEx ZK-Rollup jsou data odesílána do Etherea jako calldata a publikována v řetězci. V režimu Validium jsou data uložena mimo řetězec a pouze hash jsou uloženy v řetězci. Zatímco režim Rollup zajišťuje vyšší zabezpečení (uživatelé jednoduše interagují s blockchainem Ethereum, aby znovu vytvořili stav účetní knihy), režim Validium zajišťuje nižší náklady a vyšší soukromí.

 

Celkově, zatímco zkSync Lite je největší zk rollup, StarkWare má největší ekosystém včetně projektů postavených na StarkEx a má také největší TVL a podíl na trhu.

 

 

 

Shrnout

Stručně řečeno, zk-rollup je slibné řešení pro škálování blockchainových sítí s různými implementacemi, které splňují různé potřeby a požadavky. I když některé klasifikace existují, stojí za zmínku, že jde o přibližné interpretace a postrádají shodu v definicích a technických rozdílech. Jak přiznává spoluzakladatel společnosti Scroll Sandy Peng: „Neexistuje jasný konsensus o žádné definici „Celý výzkumný tým společnosti Scroll“ se přiklání k určitému příběhu nebo určitému pohledu, ale není to jasná věc. Náš výzkumný tým se ani neshodne na tom, co všechno znamená. "

 

Nicméně mezi implementacemi zk rollup se objevují některé společné trendy. Zaprvé se zdá, že všechny zaujímají hybridní přístup k dostupnosti dat a nabízejí kumulativní verzi tradičního on-chain úložiště dat a validium verzi off-chain úložiště dat. "Podle mého názoru zjistíte, že každý rollup bude mít rollup verzi a validium verzi," řekl Blockworks generální ředitel Avail Anurag Arjun.

 

Za druhé, většinou se vyhýbají používání čistého open source kódu, dokud skutečně neběží, což také souvisí se silnou konkurencí optimistických rollupů, jako je Arbitrum a Optimism. Zk-rollups slibují, že budou efektivnější, ale jejich implementace je technicky obtížnější. Kromě toho, jak je zřejmé z výše uvedené tabulky, optimistické rollupy, zejména Arbitrum, těží z výhody prvního tahu a vedou trh z hlediska aplikací, objemu transakcí a podílu na trhu. Pokud se osvědčí, optimistické souhrny by mohly integrovat modely proof-of-validity s jejich již zavedenou uživatelskou základnou (např. upgrade Optimism na Bedrock by mohl zavést proof-of-validity).

 

Kromě toho, zatímco všechny implementace začínaly centralizovaným sekvencerem, aby se zlepšila efektivita, všechny pracovaly na progresivní decentralizaci, aby řešily obavy z centralizace. Je zajímavé, že decentralizovaní zadavatelé mohou vyžadovat ekonomické pobídky v nativním tokenu, takže všechny zmíněné projekty by měly tento krok učinit.

 

A konečně, úžasné výsledky dosažené těmito implementacemi zkEVM za poslední rok vedly k nové vlně zájmu o technologii zk obecně, přičemž společnosti se zaměřovaly na různé aspekty vývoje, včetně vývoje nového hardwaru zk pro zvýšení rychlosti důkazu. generace.

 

I když stále existují určité problémy, které je třeba vyřešit, pokrok dosažený v návrhu zkEVM za něco málo přes rok je pozoruhodný a rok 2023 by mohl být pro tuto technologii určujícím rokem.

 

Původní odkaz