Skalowanie Ethereum to temat rzeka, a różne teamy proponują różne rozwiązania tego problemu. Czas porównać dwa konkurujące ze sobą: ZK-Rollups i Optimistic Rollups.
Czym są rollupy (rollups)?
Ethereum praktycznie od zawsze ma problem ze skalowaniem. Niskie TPS, wysokie opłaty, czekanie aż transakcja wreszcie przejdzie… Problem niekiedy prowadził do ekstremalnego spowolnienia sieci, jak stało się to w roku 2017 za sprawą Cryptokitties. Wszyscy mieli jasność, że coś trzeba z tym zrobić. I tak oto, obok prób skalowania głównego łańcucha (Ethereum 2.0) czy sidechainów (Polygon), pojawiła się idea Layer2, a konkretnie rollupów.
Rollupy pozwalają na zwiększenie skalowalności i szybkości przy zachowaniu bezpieczeństwa i decentralizacji kryptowalut. Agregują one wiele transakcji, walidują je poza łańcuchem i zapisują jako jedną dużą transakcję „rollup”, która jest następnie rejestrowana w głównym łańcuchu bloków. Umożliwia to przetwarzanie znacznie większej liczby transakcji na sekundę.
Obok szybkości i wydajności rollupy dają również znaczne korzyści ekonomiczne, bowiem opłata za zarejestrowanie transakcji w łańcuchu Ethereum rozkłada się na wielu użytkowników, co zmniejsza ich jednostkowe koszty.
Jak wiadomo jednak, im dalej las, tym więcej drzew. Różni ludzie mają różne pomysły na to, jak rollupy powinny być zaprogramowane i jakie mieć cechy. Dwie najpopularniejsze dziś na rynku technologie to ZK-Rollups oraz Optimistic Rollups.
Optimistic Rollups – łatwo, ale nie bez wad
Optimistic Rollups agregują dane, wykonują transakcje poza Ethereum, a na koniec przesyłają wyniki tych transakcji do mainnetu ETH. Są „optymistyczne”, ponieważ zakładają, że agregowane transakcje są poprawne, publikowane bez złych intencji. Nie dążą do uzyskania dowodów ważności transakcji, zamiast tego opierają się na kontroli post factum.
Po przetworzeniu pakietu zbiorczego istnieje okno czasowe, podczas którego inny walidator może zakwestionować wyniki dowolnej transakcji, dostarczając dowód, że była ona nieprawidłowa. W tym wypadku protokół ponownie wykona wszystkie transakcje i zaktualizuje stan zestawienia, zaś walidator który przepuścił nieprawidłową transakcję zostanie ukarany utratą części stakowanej stawki.
Jeśli pakiet zbiorczy pozostaje niekwestionowany (tj. wszystkie transakcje są poprawnie wykonane) po upływie określonego czasu, uznaje się go za ważny i zostaje on opublikowany w Ethereum. Można budować nowe bloki także na niepotwierdzonym bloku zbiorczym, ale z zastrzeżeniem, że wyniki transakcji mogą zostać zakwestionowane.
Najważniejszym elementem Optimistic Rollups jest więc pewność, że każda nieprawidłowa transakcja może zostać zakwestionowana i odrzucona, a „źli aktorzy” ukarani, choć zabierze to trochę czasu.
Optimistic Rollups są podstawą takich rozwiązań Layer2, jak Arbitrum, Optimism czy Boba Network, używa ich także opisywany ostatnio GMX.
ZK-Rollups – no pain, no gain
ZK-Rollups to konkurencyjny zestaw rozwiązań Layer2. Najważniejsza różnica polega na tym, że oferują one niemal natychmiastowo ostateczne rozliczenie, w przeciwieństwie do optymistów.
ZK-Rollups wykorzystują technologię zero-knowledge proof aby błyskawicznie przesyłać dowody ważności do smartkontraktów Ethereum, potwierdzając poprawność wykonanych transakcji. Eliminuje to potrzebę czekania na pełne zatwierdzenie transakcji i np. wypłacenie przesłanych środków, charakterystyczne dla projektów wykorzystujących Optimistic Rollups.
Zastosowanie ZK dzieli proces przetwarzania danych na 3 etapy. Najpierw użytkownicy ZK zatwierdzają transakcje i przesyłają je do operatora, który będzie odpowiedzialny za jej prawidłowe przetworzenie. Operator przetwarza te transakcje, badając poprawność drzewa Merkle i jeśli uważa je za prawidłowe, przesyła wyniki do mainnetu Ethereum. Stan ETH uwzględni te zmiany tylko wtedy, gdy operator z pomocą pakietów ZK matematycznie udowodni, że są one prawdziwe. Podstawowe rozwiązania ZK wykorzystywane w kryptografii to zk-Stark, zk-Snark i Validium.
Pakiety zbiorcze ZK są jednak bardzo złożone w budowie i wymagają sporej ilości pracy, aby system funkcjonował poprawnie. Niezbędne jest też użycie zaawansowanego i drogiego sprzętu o dużych możliwościach obliczeniowych do sprawdzania poprawności transakcji.
Najbardziej znane projekty ZK-Rollups to zkSync, Loopring czy Mina, do własnych celów wykorzystują je także Immutable X czy DYDX.
Zalety i wady
Jak widać, każde z tych rozwiązań ma swoją specyfikę, silne i słabe strony. Które z nich będzie bardziej odpowiednie dla przeciętnego użytkownika? Spróbujmy porównać najważniejsze parametry.
- Ostateczność transakcji. W Optimistic Rollups (OR) uzyskiwana po ok. tygodniu, przy użyciu ZK-Rollups (ZKR) – natychmiast.
- Kompatybilność z EVM (a co za tym idzie, większością DeFI). OR – praktycznie pełna, ZKR – niektóre rozwiązania dają tę możliwość dopiero od niedawna.
- Bezpieczeństwo. OR – oparte o weryfikację post factum, ZKR – oparte o obliczenia przed publikacją transakcji.
- Łatwość użycia. OR – łatwe dzięki oparciu o EVM i brakowi konieczności analizy transakcji ZKR – skomplikowane z powodu użycia dowodów wiedzy zerowej i ilości danych do przetworzenia.
- Koszta. OR – niższe, ZKR – wyższe z powodu wymagania sprzętu wysokiej klasy.
- Warunki wstępne. OR – nie wymaga zaufanej konfiguracji, ZKR – niekiedy wymaga zaufanej konfiguracji (trusted setup dla zk-Snark).
- Sprawdzanie poprawności. OR – na żądanie użytkownika, ZKR – automatyczne.
- Decentralizacja. OR – łatwiejsza do osiągnięcia, ZKR – utrudniona z powodu wymagań sprzętowych i programistycznych.
- Jawność. OR – muszą publikować wszystkie dane transakcji w łańcuchu, ZKR – dane mogą być chronione.
- Popularność. Łatwość zastosowania przekłada się na znacznie większą popularność OR niż ZKR, ok. 80/20%.
Jak widać wyniki są dosyć wyrównane i o ile ZK-Rollups są bardziej zaawansowane technicznie, to Optimistic Rollups zdecydowanie przeważają w użyciu na dzień dzisiejszy.
Co dalej?
Wydaje się jednak, że o ile Optimistic jest znakomitym rozwiązaniem przejściowym, dalsza przyszłość może należeć do ZK-Rollups. Od pewnego czasu obserwujemy bowiem rozwój zkEVM, czyli ZK-Rollups kompatybilnych z maszyną wirtualną Ethereum. Zniknie w ten sposób jeden z poważnych minusów tej technologii – brak znajomości specyficznych instrukcji ZK Proofs przez programistów Solidity.
Jesteśmy na początku drogi i dominacja Optimistic prawdopodobnie utrzyma się przez kilka najbliższych lat, jednak konkurencja ze strony ZKR będzie się powoli zwiększać. Być może dojdzie do tego, że sztandarowe dziś platformy Optimistic Rollups jak Arbitrum czy Optimism będą zmuszone implementować ZK Proofs?
Podobnego zdania jest sam Vitalik, akcentujący swoje przekonanie o stopniowym rozwoju rynku ZKR kosztem OR.
Nikt nie jest prorokiem we własnym kraju, a co dopiero na blockchainie… Swego czasu VHS wygrał z systemem Betacam, choć to ten drugi był wyraźnie lepszy. Zdecydowała łatwość użycia i liczba użytkowników. Zobaczymy, jak sprawy potoczą się tym razem.
Inwestowanie jest ryzykowne. Inwestuj odpowiedzialnie.