Scenariusz: Filippo Armani
Opracowano przez: Shenchao TechFlow
ZK Rollups, znane również jako Validity Rollups, to rewolucyjny sposób skalowania Ethereum, który umożliwia przetwarzanie transakcji poza łańcuchem i łączenie ich w jedną skompresowaną transakcję w głównym łańcuchu. Proces ten zwiększa przepustowość transakcji i zmniejsza opłaty przy jednoczesnym zachowaniu bezpieczeństwa i decentralizacji głównego łańcucha.
Jedną z cech wyróżniających ZK Rollupy jest to, że wykorzystują one dowód wiedzy zerowej (ZKP), czyli rodzaj dowodu kryptograficznego, który umożliwia jednej stronie (weryfikatorowi) udowodnienie drugiej stronie (weryfikatorowi), że zdanie jest poprawne bez ujawnienie wszelkich dodatkowych informacji. W kontekście ZK Rollups ZKP zapewnia integralność transakcji poza łańcuchem, umożliwiając dowodom wykazanie ważności paczek transakcji bez ujawniania konkretnych szczegółów transakcji lub wymagania od walidatorów sprawdzania wszystkich transakcji przed przyjęciem nowego statusu.
ZK Rollups oferują wyższy poziom bezpieczeństwa niż Optimistic Rollups, ponieważ nie wprowadzają żadnych dodatkowych założeń dotyczących zaufania poza Ethereum i opierają się na Ethereum i matematyce w zakresie bezpieczeństwa. Optymistyczne podsumowania opierają się na teorii gier i założeniu, że 1/n węzłów jest uczciwymi węzłami. Oznacza to, że w każdej partii transakcji zawsze będzie co najmniej jeden uczciwy węzeł, który może zakwestionować złośliwe transakcje.
Z drugiej strony operatorzy ZK Rollups, znani również jako sekwencery i proofery, nie mają żadnych szans na narażenie środków użytkowników, ponieważ ich rola polega „tylko” na zbieraniu pakietów transakcji i generowaniu dowodów ZK, podczas gdy środki użytkowników pozostają w ZK Rollups. W Ethereum L1, Ethereum jest ostatecznie odpowiedzialne za weryfikację dowodu ZK przesłanego przez L2 i ukończenie transakcji bazowych. Dowód ważności generowany jest poprzez wykonanie złożonych obliczeń wielomianowych na danych stanu. Jeśli dane stanu są nieprawidłowe, nie można wygenerować dowodu ich prawidłowości. Weryfikator w L1 wprowadzi dane stanu, aby zweryfikować dowód ważności, więc jeśli weryfikator zmieni dane stanu, weryfikator nie zaakceptuje dowodu.
ZK Rollups mają jeszcze dwie zalety w porównaniu z Optimistic Rollups. Po pierwsze, przyspieszają finalizację transakcji, ponieważ są one potwierdzane na Ethereum natychmiast po dostarczeniu dowodu ich ważności; podczas gdy w przypadku Optimistic Rollups trzeba odczekać tydzień, aby mieć pewność, że nie pojawią się żadne wyzwania, zanim transakcja zostanie uznana za legalną i ostateczną. Po drugie, w odniesieniu do dostępności danych, podsumowania ZK są bardziej wydajne, ponieważ należy publikować tylko różnice stanu, ponieważ nie ma potrzeby rekonstruowania wszystkich transakcji w celu weryfikacji, natomiast podsumowania optymistyczne wymagają publikowania pełnych danych, aby każdy mógł rekonstruować transakcje i w końcu rzucić im wyzwanie.
W rezultacie ZK Rollups wykorzystują znacznie mniej pasma danych w Ethereum (rzadki zasób, którym muszą dzielić się wszystkie Rollupy, niezależnie od tego, jakiego systemu używają do wykonywania transakcji, w tym obwodów ZK), co pozwala użytkownikom na jeszcze niższe opłaty (lub nawet (zero opłat).
Zk-rollupy są uważane za najlepsze rozwiązanie zapewniające skalowalność Ethereum, ale ich wdrożenie jest trudne, ponieważ Ethereum Virtual Machine (EVM) nie została zaprojektowana do obsługi obwodów ZK. Aby rozwiązać ten problem, wiele organizacji i badaczy podjęło próbę stworzenia maszyny wirtualnej obsługującej Rollup, zwanej zkEVM. Maszyna ta może uruchamiać inteligentne kontrakty w sposób zgodny z obliczeniami opartymi na dowodach zerowej wiedzy.
Najbardziej kompleksową analizę tych różnych prób można znaleźć we wpisie blogowym Vitalika, w którym przedstawia on cztery typy zkEVM w oparciu o kompatybilność z Ethereum. Należy zauważyć, że im bliższa jest funkcjonalność zkEVM Ethereum, tym wolniejsze i droższe będzie generowanie dowodów Zk. Z drugiej strony, jeśli blockchain lub Rollup będzie bardziej zgodny ze specyfikacjami i standardami Ethereum, deweloperom łatwiej będzie tworzyć na nim aplikacje i integrować je z ekosystemem Ethereum. Podsumowując, blockchainy o wysokim stopniu kompatybilności z Ethereum mogą zapewnić przewagę konkurencyjną.
Pierwsza kategoria: pakiety zk, które są dokładnie równoważne Ethereum, dokładnie replikując Ethereum we wszystkich częściach (w tym skrótach, drzewach stanów, drzewach transakcji, kompilacjach wstępnych lub innej logice konsensusu). Do tej pory żaden zkEVM nie osiągnął poziomu równoważności z Ethereum.
Druga kategoria: pakiety Zk, które są w pełni równoważne EVM, starają się być równoważne EVM, ale nie są w pełni równoważne Ethereum. Są one w pełni kompatybilne z istniejącymi aplikacjami, ale wprowadzają pewne drobne modyfikacje do Ethereum, aby ułatwić rozwój i przyspieszyć generowanie dowodów. Teoretycznie Scroll i zkEVM Polygon należą do tej kategorii, w praktyce jednak plasują się obecnie w trzeciej grupie.
Kategoria 3: Prawie odpowiednik EVM, poświęcający więcej elementów i równoważności w celu przyspieszenia generowania dowodu. Obecnie do tej kategorii zaliczają się Polygon zkEVM i Scroll. Kategoria ta jest często trampoliną do drugiej kategorii.
Czwarta kategoria: odpowiednik języka wysokiego poziomu, co oznacza, że wszystkie akceptują inteligentne kontrakty napisane w Solidity i konwertują je na inny, niestandardowy język przyjazny dla zk. zkSync i StarkNet zaliczają się do tej kategorii, chociaż zkSync może z czasem zwiększyć kompatybilność z bajtkodem EVM i ostatecznie przejść na wyższe typy.
Chociaż klasyfikacja zaproponowana przez Vitalika jest obecnie najpopularniejsza i najbardziej sprawiedliwa, istnieją inne metody klasyfikacji. Immutable, oparta na StarkWare aplikacja L2 ukierunkowana specjalnie na NFT, udostępnia następującą pomocną kategoryzację w poście na blogu:

Kategorie te opierają się wyraźniej niż kategoria Vitalika na zgodności lub równoważności, jaką istniejąca wersja zkEVM osiąga z Ethereum na określonym poziomie stosu (język wysokiego poziomu, kod bajtowy lub środowisko wykonawcze).
Zgodny z Solidnością. Zgodność z Ethereum została osiągnięta na poziomie języka wysokiego poziomu Solidity, co oznacza, że programiści mogą nadal pisać inteligentne kontrakty w języku, którego przywykli używać w Ethereum. Jednakże te Rollupy natychmiast konwertują Solidity do swojej pośredniej reprezentacji, która jest następnie kompilowana w ich bajtkodzie i wykonywana w ich niestandardowym środowisku. Dokładniej rzecz biorąc, te L2 wykorzystują transpilator do konwersji kodu Solidity na kod czytelny dla niestandardowej maszyny wirtualnej (Cairo dla StarkWare, LLVM-IR dla zkSync). Te transpilatory nie obsługują niektórych funkcji Solidity, więc programiści mogą musieć dostosować swoje inteligentne kontrakty. Na przykład: zkSync i StarkNet.
Kompatybilny z EVM. Te Rollupy są zgodne z EVM na poziomie języka, ale mają własny bajtkod, co oznacza, że Solidity można skompilować bezpośrednio do kodów operacji/bajtkodów EVM, a następnie przekonwertować na niestandardowe bajty przed niestandardowym środowiskiem wykonawczym VM. Kod sekcji. W praktyce te pakiety Rollup są kompatybilne z większością programów Ethereum, ale niektóre aplikacje mogą wymagać przepisania. Ponadto niektóre funkcje bajtkodu (takie jak prekompilacja) nie są obsługiwane. Na przykład: Wielokąt zkEVM.
Odpowiednik EVM. Tego typu pakiety zbiorcze tworzą obwód zweryfikowany przez zk, który może bezpośrednio odczytywać kody operacji i kody bajtowe EVM, mimo że sama maszyna wirtualna różni się od EVM. Tego typu pakiety są w pełni kompatybilne z istniejącymi aplikacjami, ale mogą wprowadzać drobne modyfikacje do Ethereum, ułatwiając rozwój i przyspieszając generowanie dowodów. Na przykład: Przewiń.
Odpowiednik Ethereum. Oznacza to replikację Ethereum we wszystkich jego komponentach, podobnie jak zrobił to Polygon. Jak dotąd żaden zk Rollup nie pasuje do tej kategorii.
Łącząc te ramy z ramami proponowanymi przez Immutable i dodając pewne dodatkowe informacje, można stworzyć poniższą tabelę, podkreślającą niektóre różnice i podobieństwa projektowe, które należy wziąć pod uwagę podczas porównywania różnych implementacji zkEVM przed udostępnieniem jakichkolwiek danych dotyczących wydajności:

zkSync 2.0 (przemianowany na zkSync Era tuż przed uruchomieniem sieci głównej) to skalowalne rozwiązanie dla sieci Ethereum, które jest w pełni kompatybilne z językiem programowania Solidity. Dzięki zkSync użytkownicy mogą wybierać pomiędzy dwoma typami dostępności danych: zkSync Rollup i zkSync Porter. Pierwsza z nich publikuje dane bezpośrednio w Ethereum, co czyni ją tak bezpieczną jak Ethereum L1, druga natomiast przechowuje dane poza łańcuchem, co przyspiesza transakcje i obniża koszty, ale charakteryzuje się niższym poziomem bezpieczeństwa.
zkSync jest zgodny z EVM, ponieważ może konwertować kod inteligentnego kontraktu napisany w Solidity na Yul, a Yul na LLVM-IR, który jest następnie kompilowany ponownie do niestandardowych bajtów zgodnych z obwodem, specjalnie zaprojektowanych do użytku z EVM zkSync. Zestaw kodów. Choć wymaga to wykonania kroków pośrednich, pozwala także na dodanie innych funkcjonalności niezwiązanych z EVM, takich jak Abstrakcja Konta. Ponadto firma zkSync, Matter Labs, planuje stopniowo zwiększać jego kompatybilność z zestawami narzędzi Ethereum i przygotowuje się do uruchomienia swojego pierwszego trójwarstwowego prototypu, zkSync Opportunity, w obszarze skalowalności i interoperacyjności jako części swoich ambicji, aby przetestować wydanie online .
W chwili pisania tego tekstu technologia zkSync Era została dopiero wprowadzona na rynek, więc jest za wcześnie, aby komentować jej wydajność. zkSync 1.0 (obecnie nazywany zkSync Lite), który obsługuje tylko proste transakcje, jest jednym z największych zk rollupów. Według statystyk TVL zablokował ponad 83 miliony dolarów i zgromadził ponad 19 milionów transakcji, podczas gdy TVL StarkNet wynosi tylko ponad 19 milionów dolarów, przy łącznym wolumenie transakcji wynoszącym 4 miliony.
StarkNet to protokół zk-rollup zgodny z typem 4 / Solidity, który wykorzystuje inny typ dowodów zerowej wiedzy, zwany STARK (Scalable Transparent ARgument of Knowledge), aby zapewnić integralność transakcji poza łańcuchem. STARK-i są uważane za bardziej wydajne i skalowalne niż SNARK-i, ale mogą wymagać bardziej złożonej konfiguracji technicznej.
Chociaż StarkNet obsługuje również inteligentne kontrakty, jego możliwości są stosunkowo ograniczone ze względu na użycie języka STARK oraz fakt, że kontrakty StarkNet i system operacyjny StarkNet OS zostały napisane w języku Cairo. Aby ułatwić rozwój, StarkWare niedawno dokonało aktualizacji do Cairo 1.0, który emuluje Rust. Podobnie jak zkSync Era, StarkNet można sklasyfikować jako „kompatybilny z Solidity”, ponieważ nie wykonuje programów w EVM, ale zamiast tego tworzy zupełnie nową, specjalnie zaprojektowaną maszynę wirtualną, która wykorzystuje niestandardowy kod bajtowy. StarkWare używa transpilatora Warp do konwersji kodu Solidity na bajtkod Cairo VM.
Jednak w przeciwieństwie do zkSync Era i innych implementacji zkEVM, zespół StarkNet nie ma na celu zapewnienia kompatybilności z EVM lub innymi komponentami Ethereum, lecz raczej chce uczynić maszynę wirtualną StarkNet tak wydajną, jak to możliwe, poprzez wdrożenie własnego niestandardowego interfejsu API klienta, biblioteki JavaScript i system portfela, co zmusi narzędzia zgodne ze standardem Ethereum do ręcznego dodania obsługi StarkNet. Chociaż Cairo 1.0 wprowadza również Sierra — Secure Intermediate Representation — jako nową pośrednią warstwę reprezentacji między Cairo 1.0 a Cairo bytecode, transpiler Warp nie obsługuje niektórych funkcji Solidity i wciąż jest daleki od zgodności z EVM zkSync Era. Daleka droga przed nami .
Polygon zkEVM to zk-rollup wykorzystujący niestandardowy język zkASM do interpretowania kodu zkEVM i weryfikowania wykonywania inteligentnych kontraktów w środowisku wykonawczym innym niż EVM. Projekt rozpoczął się w 2021 r. od przejęcia Hermez Network za kwotę 250 mln dolarów, aby rozpocząć opracowywanie systemu równoważnego EVM, który łączy w sobie bezpieczeństwo i wydajność STARK i SNARK. Podczas gdy STARK-i służą do generowania dowodów poprawności stanów transakcji, SNARK-i służą do oceny poprawności dowodów STARK-ów. Połączenie tych rozwiązań zapewnia bezpieczeństwo, szybkość i niskie opłaty transakcyjne.
W lipcu 2022 r. firma Polygon ogłosiła zmianę nazwy Polygon Hermez na Polygon zkEVM, która w momencie pisania tego tekstu została właśnie wprowadzona na rynek. Najnowsza wersja testowa sieci zkEVM firmy Polygon wprowadza możliwości rekurencji, umożliwiając wykorzystanie jednego dowodu ważności ZK do weryfikacji partii innych dowodów ZK, przy czym każdy dowód może weryfikować wiele transakcji. Funkcjonalność ta jest możliwa dzięki Plonky2, rekurencyjnemu SNARK-owi, który jest 100 razy szybszy od istniejących alternatyw i natywnie kompatybilny z samym Ethereum.
Oprócz Polygon zkEVM, firma Polygon opracowała również Polygon Avail, blockchain optymalizujący wyłącznie dostępność danych. Sieć nie będzie wymagała żadnych zezwoleń, co oznacza, że każdy będzie mógł dołączyć jako walidator i, w przeciwieństwie do istniejących komitetów ds. dostępności danych (DAC), będzie składać się z setek węzłów współpracujących ze sobą w celu zapewnienia bezpieczeństwa sieci. Avail będzie działać w parze z Polygon Hermez (Rollup), przesyłając dane o stanie z Hermez zamiast publikować je w Ethereum, zapewniając rozwiązanie pośrednie między Validium i Rollup.
Chociaż niektórzy eksperci zauważyli, że specyfikacje udostępnione przez Polygon lepiej opisać jako zgodne z EVM, zespół ciężko pracuje nad stworzeniem pierwszego rozwiązania, które będzie w pełni równoważne z EVM.
Scroll to odpowiednik EVM zk-rollup opracowany przez zespół Scroll we współpracy z grupą PSE (Privacy and Scaling Explorations) Ethereum Foundation. Obecnie znajduje się w fazie testnetowej Pre-Alpha i ma być kompatybilny z Ethereum Virtual Machine na poziomie kodu bajtowego. EVM jest w pełni kompatybilny. Oznacza to, że programiści mogą tworzyć inteligentne kontrakty w dowolnym języku zgodnym z EVM i wdrażać je w Scroll. Mimo że Scroll nie obsługuje obecnie kodów operacji EVM, planuje to zrobić poprzez zbudowanie mapowania kodów operacji 1:1 i akceptowanie kodów operacji EVM bezpośrednio, bez konieczności używania kompilatora.
Architektura Scroll składa się z centralnego węzła serializacji i zdecentralizowanej sieci dowodowej. Centralny węzeł serializacji odpowiada za porządkowanie transakcji, tworzenie bloków i przesyłanie danych transakcji jako calldata do kontraktu Rollup w Ethereum w celu zapewnienia dostępności danych. Przewiń plany stopniowej decentralizacji węzłów serializacji. Z drugiej strony zdecentralizowany generator dowodów o nazwie Roller będzie generował dowody i publikował je w sieci L1, wykorzystując rozproszoną moc obliczeniową. Rolki są wybierane losowo, a w celu zwiększenia szybkości możliwe jest równoległe generowanie wielu kopii dla różnych bloków na różnych rolkach.
*Chociaż obecnie obsługiwana jest wyłącznie dostępność danych w łańcuchu, oryginalny projekt Scroll obejmował również tryb Validium.
Rzeczywiście, zarówno Scroll, jak i Polygon zastosowali podejście na poziomie bajtkodu do budowy swoich maszyn zkEVM. Takie podejście całkowicie eliminuje etap transpilacji, co oznacza, że maszyny zkEVM nie konwertują kodu Solidity na inny język przed jego skompilowaniem i zinterpretowaniem. Chociaż jedyną różnicą między Scroll a Ethereum jest środowisko wykonawcze, Polygon utworzył niestandardową maszynę wirtualną i ją zoptymalizował, a następnie przekonwertował bajtkod EVM na bajtkod tej maszyny wirtualnej. W przeciwieństwie do Scroll, środowisko wykonawcze Polygon („zkExecutor”) uruchamia niestandardowe kody operacji „zkASM” (mikrokody na diagramie) zamiast kodów operacji EVM w celu zoptymalizowania interpretacji EVM (tj. zmniejszenia liczby ograniczeń zamiast bezpośredniego dowodu EVM). Polygon zkEVM prawdopodobnie nie będzie w 100% kompatybilny z kodem, narzędziami i aplikacjami Solidity, choć większość tak.
Chociaż poniższe projekty skupiają się na wdrażaniu uniwersalnych implementacji zkEVM, to inne projekty ukierunkowane na konkretne zastosowania również wykorzystują technologię zk w praktyce.
Looping to specyficzny dla aplikacji mechanizm zk-rollup służący do obsługi protokołów zdecentralizowanej wymiany (DEX). Loopring to również platforma wykorzystująca dowody zk, która pozwala każdemu na zbudowanie zwinności. Immutable X to kolejny zk-rollup przeznaczony do konkretnych zastosowań, zbudowany na platformie StarkWare, z myślą o grach i handlu NFT. Aztec to skoncentrowany na prywatności algorytm zk-rollup na platformie Ethereum, który szyfruje dane, aby zapewnić ich przejrzystość i dostępność dla protokołu, jednocześnie chroniąc prywatność użytkowników. Ponadto Aztec wynalazł system dowodowy PLONK, który jest również wykorzystywany w zkSync i innych projektach.
Na bazie StarkEx zbudowano wiele protokołów, m.in. Immutable X, Sorare, rhino.fi, ApeX, dYdX itp. W projektach wykorzystujących StarkEx ZK-Rollup dane są wysyłane do Ethereum jako calldata i publikowane w łańcuchu. W trybie Validium dane są przechowywane poza łańcuchem, a na łańcuchu przechowywane są wyłącznie skróty. Podczas gdy tryb Rollup zapewnia większe bezpieczeństwo (użytkownicy mogą odtworzyć stan rejestru po prostu wchodząc w interakcję z blockchainem Ethereum), tryb Validium zapewnia niższe koszty i większą prywatność.
Ogólnie rzecz biorąc, zkSync Lite jest największym pakietem zk, natomiast StarkWare ma największy ekosystem, obejmujący projekty zbudowane na StarkEx, a także największy wskaźnik TVL i udział w rynku.

Streszczać
Podsumowując, zk-rollup to obiecujące rozwiązanie do skalowania sieci blockchain, z różnymi możliwościami implementacji odpowiadającymi różnym potrzebom i wymaganiom. Chociaż istnieją pewne klasyfikacje, należy pamiętać, że stanowią one przybliżone interpretacje i nie ma w nich konsensusu co do definicji ani różnic technicznych. Jak przyznaje współzałożyciel Scroll, Sandy Peng: „Nie ma definicji, która miałaby jasny konsensus. Cały zespół badawczy w Scroll” skłania się ku pewnej narracji lub pewnemu poglądowi, ale nie jest to coś oczywistego. Nasz zespół badawczy nie jest nawet zgodny co do znaczenia każdego z nich. ”
Mimo to można zaobserwować pewne wspólne trendy w implementacjach zk rollup. Po pierwsze, wszystkie one zdają się stosować hybrydowe podejście do dostępności danych, oferując wersję zbiorczą tradycyjnego przechowywania danych w łańcuchu oraz wersję validium przechowywania danych poza łańcuchem. „Moim zdaniem na każdy pakiet zbiorczy przypada wersja zbiorcza i wersja validium” – powiedział dyrektor generalny Avail, Anurag Arjun, w wywiadzie dla Blockworks.
Po drugie, zazwyczaj unikają używania czystego kodu open source do momentu jego faktycznego uruchomienia, co również ma związek z ostrą konkurencją ze strony optymistycznych pakietów zbiorczych, takich jak Arbitrum i Optimism. Zk-rollupy obiecują większą wydajność, ale technicznie są trudniejsze do wykonania. Co więcej, jak wynika z powyższej tabeli, optymistycznie nastawione firmy integracyjne, zwłaszcza Arbitrum, korzystają z przewagi pierwszego gracza i są liderami rynku pod względem aplikacji, wolumenu transakcji i udziału w rynku. Jeśli okażą się skuteczne, optymistyczne pakiety zbiorcze mogłyby łączyć model dowodu ważności z już istniejącą bazą użytkowników (na przykład ulepszona wersja Bedrock firmy Optimism może wprowadzić dowód ważności).
Co więcej, chociaż wszystkie wdrożenia rozpoczęły się od scentralizowanego sekwencera w celu zwiększenia wydajności, wszystkie zmierzają w kierunku stopniowej decentralizacji, aby rozwiązać problemy związane z centralizacją. Co ciekawe, zdecentralizowane sortery prawdopodobnie będą wymagały zachęty ekonomicznej w postaci natywnego tokena, więc wszystkie wymienione projekty powinny podjąć ten krok.
Wreszcie, niesamowite wyniki osiągnięte dzięki wdrożeniom zkEVM w ciągu ostatniego roku doprowadziły do ponownego zwrócenia uwagi na technologię zk ogólnie, a firmy skupiają się na rozwoju w różnych obszarach, w tym na opracowywaniu nowego sprzętu zk w celu zwiększenia prędkości generowania dowodów.
Mimo że nadal istnieje kilka wyzwań, którym trzeba sprostać, postęp, jaki dokonał się w projektowaniu zkEVM w ciągu zaledwie roku, jest imponujący, a rok 2023 może być decydujący dla tej technologii.
Oryginalny link
