. . .

Kryptowalutowe drugie warstwy - Czym są i jak działają Layer 2?

Rafał   2021-09-28 08:12

Pojęcie „warstwa druga” pojawia się coraz częściej i wszystko wskazuje na to, że nie tylko szybko nie zniknie, a wręcz będzie używane jeszcze częściej. Z tego artykułu dowiesz się co to znaczy Layer 2, jakie są najpopularniejsze rozwiązania i jak działają.

Layer 2, warstwa druga

Wzrost popularności DeFi i NFT w sieci Ethereum doprowadził do wzrostu opłat, które stały się nie do zniesienia. Kilkaset dolarów za wymianę na DEX sprawiło, że wiele innych projektów otrzymało ogromną szansę rozwoju, podobnie jak omawiane w artykule rozwiązania L2. 

Co to znaczy warstwa druga?

Layer 2, czyli warstwa druga sieci jest rozwiązaniem skalującym, które ma na celu odciążenie sieci głównej poprzez przeniesienie transakcji off-chain, czyli poza łańcuch bloków projektu, który jest skalowany. 

Rozwiązania L2 są tak projektowane, aby zapewniać jak największą szybkość transakcji przy jednoczesnym ograniczeniu ich kosztów. W większości przypadków bezpieczeństwo jest zapewniane przez warstwę pierwszą, często nazywaną też warstwą bazową.

Najczęściej wykorzystującym takie rozwiązania łańcuchem jest Ethereum skalowane przez wiele różnych projektów, z których każdy korzysta z innego pomysłu, jednak nie tylko największa platforma smart kontraktów tego potrzebuje. Bitcoin także posiada swoje rozwiązanie L2, którym jest Lightning Network. O tym powstanie jednak osobny artykuł, który będzie podlinkowany poniżej, dlatego w tym artykule pominiemy Ligthning.

Wiedz, że na co dzień korzystasz z jednego rozwiązania L2, który nie jest związany z kryptowalutami, a mianowicie z kart VISA, Mastercard itp. Są to rozwiązania L2 bankowości.

Rodzaje Layer 2

Jak już zaznaczyłem skupimy się tutaj głównie na Ethereum, ale pamiętaj, że jednym z pierwszych L2 w krypto jest Lightning Network Bitcoina, choć tempo jego rozwoju jest znacznie niższe (cały czas przyspiesza) niż warstw drugich ETH.

Projekty mogą skalować się same na poziomie warstwy bazowej poprzez optymalizację działania protokołu, sharding i inne rozwiązania, jednak w przypadku ETH, nawet po wprowadzeniu Ethereum 2.0 rozwiązania L2 będą najprawdopodobniej potrzebne.

eth 2

Sidechains

Matic sidechainźródło

Sidechain, czyli łańcuch poboczny w tym momencie jest najpopularniejszą formą skalowania Ethereum dzięki sukcesowi jaki odniósł Polygon (wcześniej Matic Network) dlatego od niego zaczynamy, ale trzeba pamiętać, że nie jest najoptymalniejszą formą warstwy drugiej, a technicznie rzecz biorąc... w ogóle nie jest w ogóle L2. 

Sidechain jest osobnym blockchainem, który posiada własną strukturę, zasady i konsensus jednak jest połączony dwukierunkowym powiązaniem z siecią główną. Owo powiązanie odpowiada za przesyłanie tokenów z jednego łańcucha do drugiego. Przesyłanie nie odbywa się dosłownie. Następuje poprzez zablokowanie tokenów na łańcuchu głównym i wybicie reprezentacji zablokowanych tokenów w stosunku 1:1 na łańcuchu pobocznym. Przesłanie tokenów z powrotem do sieci bazowej odbywa się poprzez spalenie ich na sidechainie i odblokowaniu w sieci głównej.

Bezpieczeństwo sidechain zapewnia sobie sam, posiada własnych górników/walidatorów. Oznacza to, że jeśli sidechain zawiedzie lub zostanie zaatakowany, można stracić swoje tokeny. 

Wspomniany Matic (Polygon) jest łańcuchem pobocznym Ethereum, ale projekt stosuje także inne rozwiązanie - Plasma. Plasma jest sidechainem, który zapewnia dodatkowe bezpieczeństwo kosztem użyteczności i zwiększonego czasu potrzebnego na odblokowanie środków. W skrócie Plasma jest tak bezpieczna jak łańcuch główny. Tworzy pewne punkty kontrolne na łańcuchu bazowym, a to oznacza, że nawet jeśli konsensus Plasma zawiedzie, użytkownik może odwołać się i odzyskać tokeny. Jest to możliwe dzięki tzw. Dowodom Oszustwa. Plasma ma jednak mnóstwo problemów i jest już raczej reliktem przeszłości. Teraz stosowane są już inne rozwiązania.

State Channels

Działają podobnie do Lightning Network Bitcoina, ale oprócz płatności wspierają także ogólne aktualizacje stanu. 

”Kanały Stanu” działają jako pozałańcuchowy system przesyłania wiadomości, czyli transakcji. Użytkownicy blokują część stanu łańcucha w kontrakcie multisig np. tokeny ERC20. Następnie mogą między sobą dowolnie przesyłać te tokeny. Dzieje się to bez aktualizacji stanów na łańcuchu głównym, ale zgodnie z jego zasadami.

Użytkownicy danego kanału wysyłają tylko końcowy stan do łańcucha głównego. 

Rollups

Przejdźmy teraz do najnowszych i prawdopodobnie najszerzej stosowanych w przyszłości rozwiązań L2, czyli ZK-Rollups i Optimistic Rollups. Określenie Rollup, czyli „Zawijanie” jest używane, ponieważ transakcje są zawijane, czy też pakowane w pakiety składające się z wielu transakcji jednocześnie.

W rozwiązaniach Rollup transakcje są zapisywane na głównym łańcuchu Ethereum, ale obliczenia są wykonywane poza łańcuchem, czyli off-chain. Takie podejście sprawia, że Rollup dziedziczą bezpieczeństwo Ethereum, jednocześnie znacznie zwiększając przepustowość i zmniejszając koszty

Na łańcuchu bazowym istnieje smart kontrakt, który utrzymuje „state root”, czyli obliczony korzeń drzewa Merkle zawierający stan całego Rollup. Stan, czyli salda kont, czy kod smart kontraktów, które działają wewnątrz danego „zawijasa”.

Transakcje są ze sobą hashowane w parach w strukturę drzewa Merkle do momentu, aż otrzymamy jeden, ostatni hash, czyli „korzeń”.

Każdy może opublikować nowy zbiór transakcji, czyli hash drzewa Merkle, który został obliczony już po wykonaniu wszystkich transakcji. Jeśli informacje się zgadzają stary korzeń jest zastępowany nowym. Optimistic i ZK określają zasady dotyczące poprawności publikowanych zbiorów transakcji.

Optimistic Rollups

Rollup to smart kontrakty w sieci głównej Ethereum, które służą jako przekaźnik między głównym łańcuchem a warstwą 2, w której odbywają się obliczenia.

Jak sama nazwa wskazuje, w tym wypadku działają „Optymistycznie”. Optymistycznie zakładają, że nowy hash nie zawiera nieprawdziwych informacji, czyli nikt nie próbuje oszukiwać. Innymi słowy, jest dobrze, dopóki ktoś nie udowodni, że nie jest.

Hash to unikalna liczba zapisana w systemie szesnastkowym, która powstaje w wyniku funkcji matematycznej.

Hash nie zawiera żadnego towarzyszącego dowodu gwarantującego jego poprawność, dlatego wykorzystuje się wspomniane już wcześniej „dowody oszustwa”. Jeśli ktoś odkryje, że w którymś zbiorze transakcji doszło do próby oszustwa, może opublikować dowód, że cała partia została obliczona niepoprawnie. Dowód jest weryfikowany i jeśli jest poprawny cała partia transakcji oraz wszystkie kolejne są cofane.

Główne podmioty, które „zawijają” transakcje w pakiety są nazywane różnie, my nazwiemy ich Agregtorami. Każdy Agregator, który próbował oszukiwać traci swój zastaw, czyli tokeny, które musi zablokować w smart kontrakcie w ramach depozytu bezpieczeństwa. W zamian za swoją pracę i ryzyko slashingu (jeśli oszukuje) zgarnia opłaty.

Z Optimistic Rollups korzystają projekty takie jak Optimism, czy Arbitrum.

ZK-Rollup

Smart kontrakt ZK-Rollup utrzymuje stan wszystkich transferów w warstwie 2, a ten stan można zaktualizować tylko za pomocą dowodu ważności znanego jako ZK-SNARK, czyli Zero-Knowledg Succinct Non-Interactive Argument of Knowledge...

polygon zkZK-Rollup na przykładzie Polygon Hermez

Oznacza to, że ZK potrzebują tylko dowodu ważności, a nie wszystkich danych transakcyjnych. Dzięki temu sprawdzanie poprawności bloku jest szybsze i tańsze. Bez względu na to, jak duże są obliczenia off-chain, dowód można bardzo szybko zweryfikować na łańcuchu (on-chain).

ZK oznacza Zero-Knowledge Proof, czyli dowód z wiedzą zerową. Najczęściej używane wyjaśnienie tego pojęcia pojawia się na przykładzie jaskini, którą przedstawił Jean-Jacques Quisquater w 1990 roku.

Co to znaczy zero-knowledge (ZK proof)

Na powyższej grafice znajduje się jaskinia (powiedzmy), która ma 2 drogi A i B oraz zamknięte drzwi pośrodku, które można otworzyć tylko znając hasło. Alicja wchodzi do jaskini wybierając drogę A lub B. Następnie do jaskini wchodzi Wiktor i mówi, którą drogą Alicja ma wyjść. Oczywiście ma ona 50% szans na wejście i wyjście tą samą drogą bez otwierania drzwi (wchodzi A, Wiktor wybiera A), jednak kolejne próby sprawiają, że Wiktor nabiera 100% pewności, że Alicja zna hasło do drzwi i nie ma potrzeby ujawniania mu tego hasła.

Właśnie tak działa dowód z wiedzą zerową. Ktoś udowadnia ci, że ma pewną informację bez podawania tej informacji.

Operator ZK-Rollup zbiera transakcje od użytkowników, którzy zdeponowali środki do smart kontraktu, czyli „przenieśli” je off-chain, generuje opisany wyżej dowód wiedzy zerowej, który jest następnie przesyłany i weryfikowany na łańcuchu. Tworzenie dowodu wymaga sporej mocy obliczeniowej, ale jest to robione poza łańcuchem, do którego trafia tylko łatwy do zweryfikowania wynik obliczeń.

ZK-Rollup są stosowane przez Loopring oraz StarkWare, na którym działa np. giełda dYdX.

Podsumowanie

Niektóre projekty starają się implementować rozwiązania skalujące już w warstwie pierwszej, a najpopularniejszym z nich jest sharding, który Ethereum planuje wprowadzić w wersji 2.0, jednak przy szerokim wykorzystaniu, ETH nadal będzie potrzebować tego typu rozwiązań, aby oferować szybkie i tanie transakcje. 

Rozwiązania warstwy drugiej są coraz popularniejsze i będą nadal popularne jeśli kryptowaluty osiągną masową adopcję. Warto zauważyć, że już teraz niektóre gry NFT potrzebują własnej L2, aby działać w sposób, który po prostu umożliwia rozgrywkę nie opróżniając portfela podczas wykonywania kilkunastu transakcji dziennie, bez których gra jest niemożliwa. Podobnie giełdy, nikt nie chce płacić za wymianę kilkuset dolarów, gdy dzięki L2 może płacić centy.

Popularne