Ten artykuł jest zgłoszeniem społeczności. Autorem jest Kenny Li, współzałożyciel Manta Network, programowalnego protokołu warstwy 1 zapewniającego prywatność, opartego na technologii odpornej na wiedzę zerową.

Poglądy zawarte w tym artykule są poglądami współautora/autora i niekoniecznie odzwierciedlają poglądy Binance Academy.

TL;DR

  • Maszyna wirtualna Ethereum o wiedzy zerowej (zkEVM) to maszyna stanu Ethereum, która może realizować inteligentne kontrakty w sposób zgodny z technologią dowodu wiedzy zerowej (ZKP).

  • zkEVM rozszerzają możliwości pakietów zbiorczych o zerowej wiedzy (zk-rollups) w Ethereum w celu obsługi zdecentralizowanych aplikacji (DApps).

  • zkEVM ułatwiają wdrażanie zarówno istniejących, jak i nowych projektów Ethereum przy użyciu ZKP w celu ulepszenia ekosystemu Ethereum.

Wstęp

Pierwotni twórcy Ethereum nie wzięli pod uwagę technologii ZKP, kiedy po raz pierwszy proponowali sieć w 2014 r. Jednak w ostatnich latach ZKP zyskało na popularności i oczekuje się, że będzie odgrywać znacznie bardziej znaczącą rolę w przestrzeni blockchain. W związku z tym zintensyfikowano wysiłki mające na celu połączenie technologii ZKP i maszyny wirtualnej Ethereum.

Aby zrozumieć, czym jest zkEVM, najpierw krótko przeanalizujmy jego dwie podstawowe koncepcje: zk-rollupy i EVM.

Czym są Zk-Rollupy?

Pakiet zbiorczy to rozwiązanie skalujące, które kompiluje wiele realizacji transakcji poza głównym łańcuchem i wysyła dane z powrotem do sieci głównej jako pojedynczą transakcję. Proces ten zwiększa przepustowość, jednocześnie zmniejszając koszty realizacji tych transakcji.

W Ethereum transakcje w ramach pakietu zbiorczego są kompresowane i przesyłane do sieci głównej Ethereum w celu pokrycia kosztów weryfikacji pojedynczej transakcji. Sieć główna Ethereum zapewnia rozliczenia i weryfikację danych transakcyjnych zawartych w rollupie.

Zk-rollup to rodzaj rollupu wykorzystujący technologię ZKP – technologię kryptograficzną, która umożliwia weryfikację ważności informacji bez ujawniania samych informacji. zk-rollups nie muszą publikować wszystkich danych transakcji w sieci głównej Ethereum; potrzebują jedynie różnic stanu (takich jak zmiany statusu konta użytkownika) i dowodu ważności, co obniża opłaty za gaz.

Bezpieczeństwo zk-rollupów wynika z kryptografii ZKP, w której stosowane są środki kryptograficzne w celu weryfikacji dowodu i osiągnięcia braku zaufania. Różni się to od innych pakietów typu rollup, takich jak pakiety optymistyczne, których bezpieczeństwo wynika z teorii gier ekonomicznych, w której złych aktorów zniechęcają potencjalne straty, a pretendentów motywują zachęty.

Co to jest EVM?

EVM to maszyna stanu, w której działa system kont Ethereum i inteligentne kontrakty. Każde wykonanie inteligentnego kontraktu powoduje przejście EVM ze starego stanu do nowego. EVM definiuje regułę 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 aktualny stan Ethereum i pozwala każdemu prześledzić informacje o transakcjach od bieżącego bloku aż do bloku genesis.

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 bieżący stan. EVM odgrywa kluczową rolę w utrzymaniu tej spójności.

Jak działa ZkEVM?

EVM domyślnie nie obsługuje ZKP. zkEVM ma na celu zapewnienie ciągłości stanu Ethereum, jednocześnie zapewniają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, przy jednoczesnym zachowaniu bezpieczeństwa i prywatności.

zkEVM robi to poprzez replikację środowiska Ethereum jako pakiety ZK. Przyjmuje stan początkowy, oblicza wszystkie transakcje, a następnie wyprowadza nowy, zaktualizowany stan wraz z towarzyszącym ZKP. Dowód ten jest przekazywany do weryfikatora inteligentnego kontraktu, który sprawdza poprawność zarówno stanu początkowego, jak i wyjścia nowego stanu, bez konieczności weryfikowania wszystkich transakcji z osobna.

Ponieważ zkEVM opierają się na EVM, programiści mogą łatwo przenosić aplikacje Ethereum DApps i inteligentne kontrakty na zkEVM bez konieczności wykonywania prac programistycznych ZKP. Innymi słowy, zkEVM umożliwiają zk-rollupom wykonywanie inteligentnych kontraktów, oprócz wymiany tokenów i płatności obsługiwanych wcześniej bez zkEVM.

Dzięki funkcji kompatybilności EVM programiści mogą tworzyć nowe produkty, korzystając z istniejących narzędzi EVM i języka programowania Solidity, ciesząc się jednocześnie zwiększonym bezpieczeństwem zapewnianym przez zkEVM. Te same korzyści dotyczą również użytkowników — mogą nadal korzystać z tych samych DApps i znanych narzędzi, ale z dodatkowym bezpieczeństwem i prywatnością.

Zgodność EVM a równoważność EVM

Kiedy blockchain jest określany jako kompatybilny z EVM, oznacza to, że oferuje środowisko, w którym można wdrażać DAppy napisane w języku programowania Solidity. Solidity przeznaczony jest do tworzenia inteligentnych kontraktów działających w sieci Ethereum.

W rzeczywistości programiści Ethereum mogą kopiować i wklejać kod istniejących DApps z Ethereum i wdrażać go w innych łańcuchach kompatybilnych z EVM przy minimalnych modyfikacjach. Dla użytkowników każdy adres łańcucha zgodny z EVM jest taki sam, jak ich adres Ethereum.

Oznacza to, że adresy są kompatybilne z głównymi portfelami, takimi jak Metamask i Trust Wallet. Obecnie główne łańcuchy kompatybilne z EVM obejmują BNB Chain, Avalanche C-Chain i Polygon.

Kompatybilności EVM nie należy mylić z równoważnością EVM, co oznacza, że ​​z punktu widzenia programisty DApp, pakiety zbiorcze warstwy 2 są prawie identyczne z pakietami warstwy 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 zarówno poprzedni komputer użytkownika, jak i nowy komputer działają w systemie operacyjnym Apple.

Natomiast kompatybilność z EVM oznacza, że ​​jeśli nowy komputer przejdzie na system Windows, oryginalne pliki należy pobrać z chmury i przekonwertować, aby odzyskać preferowane ustawienia i stare pliki.

Różne typy ZkEVM

Generowanie i weryfikacja ZKP bezpośrednio przy użyciu EVM jest niezwykle powolna, ponieważ Ethereum nie zostało pierwotnie zaprojektowane do obsługi technologii ZKP. W niektórych przypadkach może to zająć nawet kilka godzin. Konieczne jest jednak znalezienie równowagi pomiędzy kompatybilnością z EVM a wydajnością ZKP.

Założyciel Ethereum, Vitalik Buterin, podzielił zkEVM na cztery następujące typy. Podobnie jak w przypadku trylematu blockchain, każdy z nich ma inne kompromisy między wydajnością ZKP a kompatybilnością z EVM.

Typ 1: Równoważność na poziomie konsensusu — zkEVM, który jest całkowicie równoważny Ethereum

Na poziomie konsensusu zkEVM typu 1 – znany również jako zapisany pakiet zbiorczy – jest odpowiednikiem Ethereum, a stan łańcucha i transakcje zkEVM są identyczne jak w Ethereum. Mogą wzajemnie weryfikować bloki i być bezpośrednio używane z klientami wykonawczymi Ethereum.

Typ 1 zkEVM sprawia, że ​​sam Ethereum jest bardziej skalowalny i można go bezpośrednio wprowadzić do sieci głównej Ethereum. Wadą jest to, że wydajność ZKP jest wyjątkowo słaba i wymaga dużej ilości obliczeń w celu sprawdzenia. Rozwiązaniem będzie zastosowanie w przyszłości wielkoskalowych równoległych walidatorów lub wyspecjalizowanych układów scalonych dla zk-SNARK.

Najbardziej idealną formą zkEVM byłyby typy 1 zkEVM o wysokiej wydajności ZK. Obecnie istnieje wiele projektów budujących lub eksplorujących tego typu zkEVM.

Typ 2: Równoważność na poziomie kodu bajtowego — całkowicie równoważna EVM

Typ 2 jest całkowicie równoważny EVM, ale nie Ethereum. Różni się od Ethereum pod względem struktur danych (takich jak struktura bloków i drzewo stanów) i usuwa niektóre operacje na stosie, które nie są przyjazne dla ZK.

Jest w pełni kompatybilny z istniejącymi aplikacjami DApps, narzędziami do debugowania i infrastrukturą programistów Ethereum. Równoważność na poziomie kodu bajtowego może przyspieszyć czas sprawdzania, choć nie znacząco. Wyraźną wadą typu 2 jest to, że jest drogi, nie ma synergii z ZK, przy niskiej i kosztownej wydajności.

Typ 2.5: Podobny do typu 2, ale ze zmianami w opłatach za gaz

Typ 2,5 ma takie same zalety i wady jak Typ 2, ale wiąże się z nieco niższymi opłatami za gaz.

Typ 3: Równoważność na poziomie kodu bajtowego — prawie równoważna EVM

Oparty na typie 2, typ 3 dodatkowo poświęca kompatybilność na rzecz lepszej wydajności ZK. Usuwa funkcje trudne do zaimplementowania w zkEVM, takie jak prekompilacje, więc niektóre kody używane w DApps, które wymagają tej funkcji, muszą zostać przepisane.

Typ 4: Równoważność na poziomie języka rozwojowego — język wysokiego poziomu równoważny EVM

EVM typu 4 mają najwyższą wydajność ZK, ale stosunkowo słabą kompatybilność.

Zamykające myśli

Głównym celem wdrożenia zkEVM jest rozszerzenie wsparcia obliczeń ZKP na realizację inteligentnych kontraktów, a tym samym rozszerzenie DApps na wszystkie protokoły kompatybilne z EVM. Na tym jednak wnioski ZKP się nie kończą.

Technologia ZKP może potencjalnie być kompatybilna z przypadkami użycia Web2. Łączenie różnych przypadków użycia Web2 z ZKP może sprawić, że aplikacje Web3 będą płynniejsze i bardziej przyjazne dla użytkownika. Zapewniłoby to również użytkownikom, którzy są już przyzwyczajeni do tradycyjnych przeglądarek internetowych, dostęp do Web3, co z kolei przyczyniłoby się do adopcji Web3.

Dalsze czytanie

  • Co to jest dowód wiedzy zerowej i jaki ma wpływ na Blockchain?

  • Rollupy optymistyczne a rollupy o zerowej wiedzy: jaka jest różnica?

  • Poprawa przejrzystości kryptowalut dzięki dowodowi wiedzy zerowej


Zastrzeżenie i ostrzeżenie o ryzyku: Niniejsza treść jest prezentowana użytkownikowi w stanie „takim, jakim jest” wyłącznie w celach informacyjnych i edukacyjnych, bez jakichkolwiek oświadczeń ani gwarancji. Nie należy jej interpretować jako porady finansowej, prawnej lub innej profesjonalnej, ani też nie ma na celu rekomendowania zakupu jakiegokolwiek konkretnego produktu lub usługi. Powinieneś zasięgnąć porady u odpowiednich profesjonalnych doradców. Jeżeli artykuł został napisany przez osobę trzecią, pamiętaj, że wyrażone poglądy należą do osoby trzeciej i niekoniecznie odzwierciedlają poglądy Binance Academy. Aby uzyskać więcej informacji, prosimy o zapoznanie się z naszym pełnym zastrzeżeniem tutaj. Ceny aktywów cyfrowych mogą być zmienne. Wartość Twojej inwestycji może spaść lub wzrosnąć, a zainwestowana kwota może nie zostać zwrócona. Ponosisz wyłączną odpowiedzialność za swoje decyzje inwestycyjne, a Binance Academy nie ponosi odpowiedzialności za jakiekolwiek straty, które możesz ponieść. Materiał ten nie powinien być interpretowany jako porada finansowa, prawna lub inna profesjonalna. Aby uzyskać więcej informacji, zapoznaj się z naszymi Warunkami użytkowania i Ostrzeżeniem o ryzyku.