Wiele blockchainów od lat zmagało się z podobnymi problemami – przeciążeniami sieci oraz skalowalnością. W przypadku Ethereum, która należy do dwóch najpotężniejszych kryptowalut na rynku — oczywiście obok Bitcoina — możliwości dotyczące skalowalności w odniesieniu do głównego łańcucha były ograniczone. Rozwiązaniem mogłoby być zwiększenie liczby zatwierdzanych w tym samym momencie transakcji, ale odbijałoby się to nieuchronnie na tym, co zawsze było wielką przewagą operacji krypto ponad tradycyjnymi płatnościami. A więc na bezpieczeństwie i decentralizacji.
Kryzys skalowalności
Nie jest tajemnicą, że w pewnym momencie Ethereum — aby sprawdzić obecny kurs ETH, kliknij tutaj — mierzyło się z poważnym problemem, jakim była niesamowicie wysoka liczba transakcji. Od końcówki 2020 roku średnia dzienna liczba transakcji oscyluje w okolicach miliona, w szczytowym okresie — kwietniu 2021 — była na poziomie niemal półtora miliona.
To sprawiło, że opłaty za przetworzenie transakcji stały się naprawdę wysokie. Przez niemal półtora roku, pomiędzy styczniem 2021 a majem 2022, średnio za dopisanie jednej do blockchainu trzeba było uiścić opłatę w wysokości 40 dolarów.
Jakie możliwości daje druga warstwa?
Zbawienne okazują się w tym przypadku transakcje drugiej warstwy (Layer 2, czy też L2), których celem jest zwiększenie skalowalności sieci Ethereum poprzez dopuszczenie wykonywania części operacji poza głównym łańcuchem.
Zastosowanie drugiej warstwy, na którą przenoszona jest część transakcji sprawia, że obciążenie głównego łańcucha zmniejsza się. Co się z tym wiąże, również prędkość dokonywania transakcji zostaje zdecydowanie poprawiona, a opłaty transakcyjne – zmniejszone.
Rodzaje rozwiązań Layer 2
Istnieje kilka rozwiązań warstwy drugiej dla Ethereum. Wśród nich: state channels, czyli kanały stanu, sidechains, a więc łańcuchy poboczne, rollups oraz plasma. W tym artykule pochylimy się nad każdym z nich, by zrozumieć różnice oraz sposoby ich zastosowania w praktyce.
Kanały stanu (State channels)
Zaletą wykorzystania kanałów stanu jest możliwość przeprowadzenia pomiędzy dwoma użytkownikami nielimitowanej liczby transakcji, bez konieczności dopisywania każdej pojedynczej operacji do głównego łańcucha. Sprawdza się to doskonale zwłaszcza w przypadku aplikacji wymagających przeprowadzenia dużej liczby operacji w krótkim czasie. Dopiero, gdy użytkownik zdecyduje się dopisać efekt wszystkich wykonanych kanałem transakcji do głównego łańcucha, zostaje wykonana jedna operacja w jego ramach.
Łańcuchy boczne (Sidechains)
Łańcuchy boczne zdejmują część obciążenia z łańcucha głównego, wykorzystując swoje zasoby do przetwarzania danych. Całość odbywa się poza głównym łańcuchem, dzięki czemu ten nie jest zaangażowany bezpośrednio w walidację operacji. Sidechains mogą korzystać z informacji zawartych w głównym łańcuchu bloków, wykorzystują jednak własne wirtualne maszyny do wykonywania inteligentnych kontraktów i zatwierdzania transakcji. Przykładami Sidechains są między innymi Skale, Rootstock czy Polygon PoS.
Rollups
Rollups to rozwiązanie, które w najprostszy sposób można wytłumaczyć jako zbieranie wielu transakcji i „rolowanie” ich w jedno i przekazywanie właśnie jednej, zbiorczej — zamiast wielu pojedynczych — do właściwego blockchainu. Jako że łańcuchy bloków są w stanie akceptować do około kilkunastu transakcji na sekundę, takie rozwiązanie sprawia, że de facto przetwarzanych jest ich zdecydowanie więcej – po prostu ukrywają się pod płaszczykiem jednej, dużej operacji przesyłania danych.
Plasma
Plasma wykorzystuje sieć łańcuchów bocznych, dzięki którym zmniejszane jest obciążenie operacjami blockchainu Ethereum. Za sprawą wykorzystania Drzew Merkle i inteligentnych kontraktów, możliwe jest stworzenie nieograniczonej liczby bocznych łańcuchów, do których delegowane są operacje, a które mają za zadanie zmniejszyć do absolutnego minimum liczbę interakcji z łańcuchem głównym.