Ten artykuł został nadesłany przez członków społeczności. Jego autorem jest Kenny Li, współzałożyciel Manta Network, programowalnego protokołu prywatności Warstwy 1, którego podstawą jest technologia zero-knowledge proof..
Poglądy zawarte w tym artykule są poglądami autora/współautora i nie muszą odzwierciedlać poglądów Akademii Binance.
TL;DR
Maszyna Wirtualna Ethereum zero-knowledge (zkEVM) to maszyna stanowa Ethereum, która może realizować smart kontrakty w sposób zgodny z technologią zero-knowledge proof (ZKP).
zkEVM rozszerzają możliwości zero-knowledge rollups (zk-rollups) na Ethereum, aby wspierać zdecentralizowane aplikacje (DApps).
zkEVM ułatwiają wdrażanie zarówno istniejących, jak i nowych projektów Ethereum przy użyciu ZKP, aby wzmocnić ekosystem Ethereum.
Wprowadzenie
Pierwotni twórcy Ethereum nie brali pod uwagę technologii ZKP, gdy po raz pierwszy zaproponowali sieć w 2014 roku. W ostatnich latach, ZKP zyskał jednak uwagę i oczekuje się, że odegra znacznie większą rolę w przestrzeni blockchain. W związku z tym, nasiliły się wysiłki zmierzające do połączenia technologii ZKP i maszyny wirtualnej Ethereum.
Aby zrozumieć, czym jest zkEVM, najpierw krótko przejrzyjmy jego dwie podstawowe koncepcje: zk-rollups i EVM.
Czym są Zk-Rollups?
Rollup to rozwiązanie skalujące, które kompiluje liczne wykonania transakcji poza głównym łańcuchem i wysyła dane z powrotem do sieci głównej, jako pojedynczą transakcję. Proces ten zwiększa przepustowość, przy jednoczesnym obniżeniu kosztów wykonania tych transakcji.
Na Ethereum, transakcje w ramach rollupu są kompresowane i przekazywane do mainnetu Ethereum, za cenę weryfikacji pojedynczej transakcji. Mainnet Ethereum zapewnia rozliczenie i weryfikuje dane transakcji, zawarte w rollupie.
zk-rollup to rodzaj rollupu, który wykorzystuje technologię ZKP, czyli technologię kryptograficzną, która pozwala na weryfikację ważności fragmentu informacji, bez ujawniania samej informacji. zk-rollups nie muszą publikować wszystkich danych transakcyjnych do mainnetu Ethereum; potrzebują tylko różnic stanowych (takich jak zmiany statusu konta użytkownika) i dowodu ważności, obniżając opłaty gas w procesie.
Bezpieczeństwo zk-rollups pochodzi z kryptografii ZKP, w której środki kryptograficzne są używane do weryfikacji dowodu i osiągnięcia zaufania. Różni się to od innych rollups, takich jak optymistyczne rollupy, których bezpieczeństwo pochodzi z teorii gier ekonomicznych, gdzie osoby o nieuczciwych zamiarach są zniechęcani przez potencjalne straty, a pretendenci są motywowani przez zachęty.
Czym Jest EVM?
EVM to maszyna stanowa, w której działa system kont Ethereum i smart kontrakty. Każda realizacja smart kontraktu wyzwala w EVM przejście ze starego stanu do nowego stanu. EVM określa zasadę obliczania nowych i ważnych stanów z jednego bloku do drugiego.
Stan jest ważnym pojęciem w Ethereum. Jest to struktura danych Merkle Patricia Trie, która reprezentuje obecny stan Ethereum i pozwala każdemu prześledzić informacje o transakcjach z bieżącego bloku aż do bloku genezy.
Wszystkie węzły zaangażowane w utrzymanie Ethereum istnieją w celu zapewnienia ciągłości i konsensusu, co pozwala każdemu węzłowi zobaczyć dokładny aktualny stan. EVM odgrywa krytyczną rolę w utrzymaniu tej spójności.
Jak Działa ZkEVM?
EVM nie obsługuje ZKP domyślnie. zkEVM ma na celu zapewnienie ciągłości stanu Ethereum, jednocześnie dostarczając dowód, że wszystkie informacje są poprawne. W ten sposób, weryfikowane są różne czynniki biorące udział w obliczaniu tych procesów, jednocześnie zachowując bezpieczeństwo i prywatność.
zkEVM robi to, poprzez replikację środowiska Ethereum jako zk-rollups. Pobiera stan początkowy, oblicza wszystkie transakcje, a następnie wyprowadza nowy, zaktualizowany stan wraz z towarzyszącym mu ZKP. Dowód ten jest przekazywany do smart kontraktu weryfikatora, który sprawdza poprawność zarówno wyjściowego, jak i nowego stanu bez konieczności indywidualnej weryfikacji wszystkich transakcji.
Ponieważ zkEVM są oparte na EVM, deweloperzy są w stanie łatwo portować Ethereum DApps i smart kontrakty na zkEVM, bez konieczności wykonywania prac rozwojowych ZKP. Innymi słowy, zkEVMs pozwalają zk-rollups realizować smart kontrakty, oprócz wymiany tokenów i płatności obsługiwanych wcześniej bez zkEVM.
Ze względu na funkcję kompatybilności EVM, deweloperzy mogą budować nowe produkty przy użyciu istniejących narzędzi EVM i języka programowania Solidity, jednocześnie korzystając ze zwiększonego bezpieczeństwa, które zapewnia zkEVM. Te same korzyści dotyczą również użytkowników — mogą oni nadal korzystać z tych samych DApps i znanych narzędzi, ale z dodatkowym bezpieczeństwem i prywatnością.
Kompatybilność EVM a Równoważność EVM
Kiedy blockchain jest określany jako kompatybilny z EVM, oznacza to, że oferuje środowisko, które może wdrożyć DApps napisane w języku programowania Solidity. Solidity jest przeznaczone do tworzenia smart kontraktów, które działają w sieci Ethereum.
W rzeczywistości, deweloperzy Ethereum mogą kopiować i wklejać kod istniejących DApps z Ethereum i wdrażać je na innych łańcuchach kompatybilnych z EVM, przy minimalnych modyfikacjach. Dla użytkowników, każdy adres łańcucha kompatybilny z EVM jest taki sam jak ich adres Ethereum.
Oznacza to, że adresy są kompatybilne z portfelami głównego nurtu, takimi jak Metamask i Portfel Trust. Obecnie, do głównych łańcuchów kompatybilnych z EVM należą BNB Chain, Avalanche C-Chain oraz Polygon.
Kompatybilności EVM nie należy mylić z równoważnością EVM, co oznacza, że z perspektywy dewelopera DApp, rollups Warstwy 2 są niemal identyczne z Warstwą 1 Ethereum.
Używając analogii do systemu operacyjnego, równoważność EVM przypomina przywracanie plików i ustawień za pośrednictwem Apple Cloud, jeśli poprzedni komputer użytkownika i nowy komputer działają na systemie operacyjnym Apple.
Z kolei kompatybilność EVM oznacza, że jeśli nowy komputer przejdzie na system Windows, oryginalne pliki muszą zostać pobrane za pośrednictwem pamięci masowej w chmurze i konwertowane w celu odzyskania preferowanych ustawień i starych plików.
Różne Typy ZkEVM
Generowanie i weryfikowanie ZKP bezpośrednio przy użyciu EVM jest niezwykle powolne, ponieważ Ethereum nie zostało pierwotnie zaprojektowane do obsługi technologii ZKP. W niektórych przypadkach, może to trwać nawet kilka godzin. Konieczne jest jednak znalezienie równowagi, pomiędzy kompatybilnością EVM a efektywnością ZKP.
Założyciel Ethereum Vitalik Buterin kategoryzował zkEVM na następujące cztery typy. Podobnie jak w przypadku blockchain trilemma, każdy z nich ma inne kompromisy, pomiędzy efektywnością działania ZKP a kompatybilnością EVM.
Typ 1: Równoważność na poziomie konsensusu — zkEVM, który jest całkowicie równoważny z Ethereum
Na poziomie konsensusu zkEVM Typu 1 — znany również jako zapisany rollup — jest odpowiednikiem Ethereum, a stan łańcucha zkEVM i transakcje są identyczne jak w Ethereum. Mogą one wzajemnie weryfikować bloki i być bezpośrednio używane z klientami wykonawczymi Ethereum.
Typ 1 zkEVM sprawia, że samo Ethereum jest bardziej skalowalne i może być bezpośrednio wprowadzone do mainnetu Ethereum. Wadą jest to, że efektywność ZKP jest wyjątkowo słaba i wymaga dużej ilości obliczeń do weryfikacji. Rozwiązaniem jest zastosowanie w przyszłości walidatorów równoległych na dużą skalę, lub wyspecjalizowanych układów scalonych do zk-SNARK.
Typ 1 zkEVM o wysokiej sprawności ZK byłby najbardziej idealną formą zkEVM. Obecnie, istnieje wiele projektów budujących lub badających tego typu zkEVM.
Typ 2: Równoważność na poziomie kodu bajtowego — całkowicie równoważna z EVM
Typ 2 jest całkowicie równoważny z EVM, ale nie z Ethereum. Różni się od Ethereum pod względem struktur danych (takich jak struktura blokowa i drzewo stanu) i usuwa niektóre operacje stosu, które nie są przyjazne dla ZK.
Jest w pełni kompatybilny z istniejącymi DApps Ethereum, narzędziami do debugowania i infrastrukturą deweloperską. Równoważność na poziomie kodu bajtowego może przyspieszyć czasy udowadniania, aczkolwiek nie znacząco. Wyraźnym minusem Typu 2 jest to, że jest drogi, nie synergiczny z ZK, o niskiej i drogiej skuteczności.
Typ 2.5: Podobny do Typu 2, ale z modyfikacjami dotyczącymi opłat gas
Typ 2.5 dzieli zalety i wady Typu 2, ale ma nieco niższe opłaty gas.
Typ 3: Równoważność na poziomie kodu bajtowego — prawie równoważna z EVM
Bazując na Typie 2, Typ 3 jeszcze bardziej poświęca kompatybilność na rzecz poprawy efektywności ZK. Usuwa funkcje, które są trudne do zaimplementowania na zkEVM, takie jak prekompilacje, więc niektóre kodowanie używane w DApps, które wymagają tej funkcji, musi zostać przepisane.
Typ 4: Równoważność na poziomie języka programowania — język wysokiego poziomu równoważny z EVM
EVM typu 4 mają najwyższą wydajność ZK, ale stosunkowo słabą kompatybilność.
Przemyślenia Końcowe
Głównym celem implementacji zkEVM jest rozszerzenie wsparcia obliczeń ZKP na wykonywanie smart kontraktów, a tym samym rozszerzenie DApps na wszystkie protokoły kompatybilne z EVM. Ale zastosowania ZKP na tym się nie kończą.
Technologia ZKP może być potencjalnie kompatybilna z przypadkami użycia Web2. Połączenie różnych przypadków użycia Web2 z ZKP, mogłoby uczynić aplikacje Web3 bardziej płynnymi i przyjaznymi dla użytkownika. Zapewni to również użytkownikom, którzy są już przyzwyczajeni do tradycyjnych przeglądarek internetowych, dostęp do strony Web3, co z kolei przyczyni się do przyjęcia Web3.
Dalsza Lektura
Wyłączenie Odpowiedzialności i Ostrzeżenie o Ryzyku: Niniejsza treść jest prezentowana w stanie, w jakim się znajduje, wyłącznie w celach informacyjnych i edukacyjnych, bez jakichkolwiek gwarancji. Nie należy jej interpretować jako porady finansowej, prawnej lub innej porady profesjonalnej, ani też nie ma ona na celu zalecania zakupu jakiegokolwiek konkretnego produktu lub usługi. Użytkownik powinien zasięgnąć własnej porady u odpowiednich profesjonalnych doradców. W przypadku, gdy artykuł został napisany przez osobę zewnętrzną, należy pamiętać, że wyrażone poglądy należą do osoby zewnętrznej i nie muszą odzwierciedlać poglądów Akademii Binance. Proszę przeczytać nasze pełne zastrzeżenie tutaj w celu uzyskania dalszych szczegółów. Ceny aktywów cyfrowych mogą być zmienne. Wartość Twojej inwestycji może spaść lub wzrosnąć i możesz nie odzyskać zainwestowanej kwoty. Jesteś wyłącznie odpowiedzialny(-a) za swoje decyzje inwestycyjne, a Akademia Binance nie ponosi odpowiedzialności za jakiekolwiek straty, które możesz ponieść. Ten materiał nie powinien być interpretowany jako doradztwo finansowe, prawne lub inne profesjonalne doradztwo. Więcej informacji można znaleźć w naszych Warunkach Użytkowania i Ostrzeżeniu o Ryzyku.