Tento článek je příspěvkem od naší komunity. Autorem je Kenny Li, spoluzakladatel programovatelného protokolu první vrstvy s ochranou soukromí, který využívá technologii důkazu s nulovou znalostí.
Názory v tomto článku jsou názory přispěvatele/autora a nemusí se nutně shodovat s názory Akademie Binance.
TL;DR
Virtuální stroj Ethereum s nulovou znalostí (zkEVM) je stavový stroj Etherea, který dokáže provozovat chytré kontrakty tak, aby podporovaly technologii důkazu s nulovou znalostí (ZKP).
Technologie zkEVM rozšiřuje možnosti rollupů s nulovou znalostí (zk-rollupů) na Ethereu o podporu decentralizovaných aplikací (DApps).
Technologie zkEVM usnadňuje spouštění stávajících i nových projektů sítě Ethereum s použitím důkazů s nulovou znalostí, které rozšiřují ekosystém Etherea.
Úvod
Původní vývojáři Etherea o technologii ZKP neuvažovali, když síť v roce 2014 poprvé navrhli. V posledních letech ale důkazy s nulovou znalostí přitahují pozornost a očekává se, že v blockchainovém prostoru budou hrát mnohem významnější roli. Proto se i zintenzivnily snahy o spojení technologie ZKP a virtuálního stroje Ethereum.
Abyste pochopili, co je zkEVM, měli bychom si nejdřív stručně přiblížit jeho dva základní koncepty: zk-rollupy a EVM.
Co jsou zk-rollupy?
Rollup je škálovací řešení, které shromažďuje celou řadu realizovaných transakcí mimo hlavní blockchain a veškerá data pak posílá zpět na hlavní síť jako jedinou transakci. Tento proces zvyšuje propustnost a zároveň snižuje náklady na realizaci transakcí.
Transakce se v rámci rollupu zkomprimují a na mainnet Etherea se odešlou za cenu ověření jedné transakce. Mainnet Etherea zajistí vypořádání a ověří data transakcí obsažená v rollupu.
Zk-rollup je typ rollupu, který využívá technologii ZKP, což je kryptografická technologie, která umožňuje ověřit platnost informace, aniž by došlo k odhalení samotné informace. Zk-rollupy nemusí mainnetu Etherea sdělovat všechna data o transakcích. Musí uvést pouze rozdíly ve stavu (například změny stavu uživatelského účtu) a důkaz platnosti, což snižuje poplatky gas použité při realizaci.
Bezpečnost zk-rollupů stojí na kryptografii důkazů s nulovou znalostí, která k ověření důkazu a dosažení systému bez nutnosti důvěry používá kryptografické prostředky. Tím se liší od jiných rollupů, jako jsou optimistic rollupy, jejichž bezpečnost stojí na ekonomické teorii her, kde jsou subjekty s nekalými úmysly demotivovány potenciálními ztrátami a konkurenti jsou motivováni pobídkami.
Co je EVM?
EVM je stavový stroj, na kterém běží systém účtů Etherea a chytré kontrakty. Každé spuštění chytrého kontraktu aktivuje přechod EVM ze starého stavu do nového stavu. EVM definuje pravidlo pro výpočet nových a platných stavů z jednoho bloku do druhého.
Stav je důležitý koncept sítě Ethereum. Jedná se o datovou strukturu Merkle Patricia Trie (stromová struktura s hashováním uložených dat), která představuje aktuální stav Etherea a umožňuje komukoli procházet informace o transakcích od aktuálního bloku až po první blok.
Všechny uzly, které se podílí na údržbě Etherea, existují proto, aby zajistily kontinuitu a konsenzus, což umožňuje každému uzlu vidět přesný aktuální stav. EVM hraje v udržování této konzistence zásadní roli.
Jak funguje zkEVM?
Virtuální stroj Ethereum standardně technologii ZKP nepodporuje. Cílem zkEVM je zajistit kontinuitu stavu Etherea a zároveň poskytnout důkaz, že veškeré informace jsou správné. Tímto způsobem je možné ověřit různé faktory zapojené do výpočtu těchto procesů a zachovat bezpečnost i soukromí.
Technologie zkEVM to dělá tak, že replikuje prostředí Etherea v podobě zk-rollupů. Vezme počáteční stav, vypočítá všechny transakce a pak spolu s doprovodným důkazem s nulovou znalostí vypíše nový, aktualizovaný stav. Tento důkaz se předá ověřovacímu chytrému kontraktu, který zkontroluje správnost výstupu počátečního i nového stavu, aniž by musel všechny transakce jednotlivě ověřovat.
Vzhledem k tomu, že technologie zkEVM vychází z virtuálního stroje Ethereum, vývojáři mohou snadno přizpůsobit decentralizované aplikace a chytré kontrakty Etherea na zkEVM, aniž by museli pracovat na vývoji ZKP. Jinými slovy, technologie zkEVM umožňuje zk-rollupům provozovat chytré kontrakty (spolu se swapováním tokenů a prováděním plateb, což bylo možné i bez zkEVM).
Díky kompatibilitě s EVM mohou vývojáři vytvářet pomocí stávajících nástrojů EVM a programovacího jazyka Solidity nové produkty a zároveň využívat zvýšenou bezpečnost, kterou přináší zkEVM. Stejné výhody platí i pro uživatele – mohou dál používat stejné decentralizované aplikace a oblíbené nástroje, ale získají větší zabezpečení a soukromí.
Kompatibilita EVM vs. ekvivalence EVM
Když se o blockchainu řekne, že je kompatibilní s EVM, znamená to, že používá prostředí, ve kterém je možné nasadit decentralizované aplikace napsané v programovacím jazyce Solidity. Solidity je navržený k vývoji chytrých kontraktů, které běží na Ethereu.
Vývojáři Etherea mohou kód existujících decentralizovaných aplikací na Ethereu zkopírovat a s minimálními úpravami ho spustit na jiných blockchainech, které jsou kompatibilní s EVM. Jakákoli adresa blockchainu kompatibilního s EVM je pro uživatele stejná jako jejich ethereová adresa.
To znamená, že adresy jsou kompatibilní s běžnými peněženkami, jako je MetaMask nebo Trust Wallet. V současné době patří mezi hlavní blockchainy kompatibilní s EVM například BNB Chain, Avalanche C-Chain a Polygon.
Kompatibilitu s EVM ale není možné zaměňovat s ekvivalencí EVM, která znamená, že z pohledu vývojáře decentralizovaných aplikací jsou rollupy druhé vrstvy téměř identické s první vrstvou Etherea.
Když použijeme analogii s operačním systémem, ekvivalenci EVM můžeme přirovnat obnově souborů a nastavení prostřednictvím služby Apple Cloud, pokud předchozí i nový počítač uživatele používá operační systém společnosti Apple.
Naproti tomu kompatibilita s EVM znamená, že pokud nový počítač uživatele používá systém Windows, je potřeba původní soubory prostřednictvím cloudového úložiště stáhnout a konvertovat je, aby bylo možné preferovaná nastavení a staré soubory obnovit.
Různé typy zkEVM
Generování a ověřování důkazů s nulovou znalostí přímo pomocí EVM je extrémně pomalé, protože Ethereum nebylo původně navrženo, aby technologii ZKP podporovalo. V některých případech to může trvat i několik hodin. Proto je nezbytné najít rovnováhu mezi kompatibilitou s EVM a účinností ZKP.
Vitalik Buterin, zakladatel Etherea, rozdělil technologie zkEVM na následující čtyři typy. Podobně jako blockchainové trilema musí všechny z nich dělat určité kompromisy mezi efektivitou výkonu ZKP a kompatibilitou s EVM.
Typ 1: ekvivalence na úrovni konsenzu – zkEVM zcela ekvivalentní s Ethereem
Typ 1 zkEVM – známý také jako enshrined rollup – je na úrovni konsenzu ekvivalentní s Ethereem a stav blockchainu zkEVM a transakce jsou totožné se stavem a transakcemi Etherea. Mohou vzájemně ověřovat bloky a být přímo používány s prováděcími klienty Etherea.
Typ 1 zkEVM zlepšuje škálovatelnost samotného Etherea a může být přímo zaveden na mainnetu Etherea. Nevýhodou je, že účinnost ZKP je velmi nízká a ověření vyžaduje vynaložení velké výpočetní síly. Řešením je použití rozsáhlých paralelních validátorů nebo specializovaných integrovaných obvodů pro budoucí zavedení technologie zk-SNARK.
Typ 1 zkEVM s vysokou účinností nulové znalosti by byl nejideálnější formou zkEVM. V současné době existuje mnoho projektů, které na tomto typu zkEVM pracují nebo ho zkoumají.
Typ 2: ekvivalence na úrovni bajtkódu – zcela ekvivalentní s EVM
Typ 2 je zcela ekvivalentní s EVM, ale ne s Ethereem. Od Etherea se liší datovými strukturami (jako je bloková struktura a stavový strom) a odstraňuje některé zásobníkové operace, které si s nulovou znalostí nerozumí.
Je plně kompatibilní se stávajícími decentralizovanými aplikacemi, nástroji pro ladění a vývojářskou infrastrukturou Etherea. Ekvivalence na úrovni bajtkódu může zrychlit dobu potřebnou dokazovateli, i když ne výrazně. Jasnou nevýhodou typu 2 je, že je nákladný, není synergický s nulovou znalostí a má nízkou účinnost.
Typ 2.5: podobný jako typ 2, ale s upravenými poplatky gas
Typ 2.5 má stejné výhody a nevýhody jako typ 2, ale má o něco nižší poplatky gas.
Typ 3: ekvivalence na úrovni bajtkódu – téměř ekvivalentní s EVM
Typ 3 vychází z typu 2 a dále obětovává kompatibilitu ve prospěch lepší účinnosti nulové znalosti. Odstraňuje funkce, které se v zkEVM obtížně implementují, jako je například předkompilování, takže část kódování používaného v decentralizovaných aplikacích, které tuto funkci vyžadují, musí být přepsáno.
Typ 4: ekvivalence na úrovni programovacího jazyka – vysoká úroveň ekvivalence jazyka s EVM
Typ 4 zkEVM má nejvyšší účinnost nulové znalosti, ale relativně nízkou kompatibilitu.
Závěrem
Hlavním účelem implementace zkEVM je rozšířit podporu výpočtů důkazů s nulovou znalostí na chytré kontrakty, a tím rozšířit decentralizované aplikace mezi všechny protokoly kompatibilní s EVM. Tím ale využití ZKP nekončí.
Technologie ZKP může být potenciálně kompatibilní s různými způsoby využití Webu 2. Kombinací různých využití z oblasti Webu 2 se ZKP by mohly vzniknout plynulejší a uživatelsky přívětivější aplikace Webu 3. Uživatelům, kteří si už zvykli na tradiční internetové prohlížeče, by to poskytlo přístup k Webu 3, což by vedlo k jeho rozšíření mezi širokou veřejnost.
Související články:
Co je důkaz s nulovou znalostí a jaký má vliv na blockchain?
Jaký je rozdíl mezi optimistic rollupem a zero-knowledge rollupem?
Zlepšení transparentnosti kryptoměn pomocí důkazu s nulovou znalostí
Vyloučení odpovědnosti a upozornění na rizika: tento obsah je vám předkládán ve stavu, v jakém je, pouze pro obecné informační a vzdělávací účely, bez jakéhokoli prohlášení nebo záruky. Neměl by být chápán jako finanční, právní nebo jiné odborné poradenství ani není jeho cílem doporučit nákup jakéhokoli konkrétního produktu nebo služby. Měli byste se poradit s příslušnými odbornými poradci. Upozorňujeme, že pokud je článek příspěvkem od třetí strany, vyjádřené názory patří této třetí straně a nemusí se nutně shodovat s názory Akademie Binance. Další podrobnosti se dozvíte v našem úplném prohlášení o vyloučení odpovědnosti zde. Ceny digitálních aktiv mohou být volatilní. Hodnota vaší investice může klesnout nebo stoupnout a investovaná částka se vám nemusí vrátit. Za svá investiční rozhodnutí nesete výhradní odpovědnost vy sami a Akademie Binance nenese odpovědnost za žádné ztráty, které vám mohou vzniknout. Tento materiál by neměl být chápán jako finanční, právní nebo jiné odborné poradenství. Další informace získáte v našich podmínkách použití a upozornění na rizika.