Zrozumienie, czym są i jak działają warstwy blockchain jest niezbędne do oceny sensowności wielu projektów. Określenia typu Layer 0 czy – bardziej polska – warstwa 3, potrafią jednak zmylić nie tylko początkującego inwestora.
Warstwy blockchain w dwóch ujęciach
Czym są warstwy blockchain? Oczywiście, nie jest to określenie dosłowne, a bardziej koncept, pozwalający łatwiej objaśnić skomplikowaną materię. Niestety, definicja nie jest odgórnie ustalona i jednoznaczna, wśród badaczy tematyki funkcjonują co najmniej dwa możliwe sposoby podziału na warstwy:
- Pierwszy skupia się na rozważaniu architektury blockchain i ról, spełnianych przez poszczególne warstwy. Jest on mniej popularny, za to uwzględnia elementy pomijane w drugim, nieco uproszczonym modelu.
- Drugi, określany jako podział oparty na protokole, wyróżnia 4 warstwy blockchain, różniące się pod względem ich skalowalności i interoperacyjności.
Zobaczmy, jak to wygląda w praktyce.
Podejście akademickie: architektura warstw blockchain
Możemy określić je także jako podział według warstw technologii. W tym ujęciu, patrząc niejako „od dołu” widzimy następujące warstwy blockchain:
- Warstwa sprzętowa. Jest to warstwa podstawowa, na którą składają się takie elementy, jak serwery, przekaźniki, komputery użytkowników czy protokoły obsługujące ruch sieciowy. Połączenie tych elementów prowadzi do stworzenia funkcjonującej sieci P2P.
- Warstwa danych. Zarządza ona informacjami przechowywanymi w sieci. Składa się ona z bloków informacji, z których każdy (poza pierwszym, blokiem Genesis) połączony jest z poprzednim. Informacje zapisane w blokach są chronione i niemożliwe do zmiany.
- Warstwa sieci. Ta warstwa ułatwia komunikację między węzłami w sieci blockchain. Pozwala na przesyłanie danych transakcyjnych, niezbędnych w celu produkcji nowych bloków. Ponieważ jej zadaniem jest rozprzestrzenianie informacji, określana jest także jako „warstwa propagacji”.
- Warstwa konsensusu. Odpowiada ona za walidację (zbadanie i zatwierdzanie) transakcji. Zbiera informacje spływające z warstwy sieciowej i sprawdza ich poprawność. Aby dana transakcja została uznana za ważną, wszystkie zaangażowane węzły sieci muszą potwierdzić jej autentyczność. Kontrola jest więc rozproszona i wymaga zgody wielu stron, co znane jest jako mechanizm konsensusu.
- Warstwa aplikacji. Obsługuje ona smartkontrakty i zdecentralizowane aplikacje (dApps). Dane wejściowe (np. cena) określają działanie smartkontraktów, które następnie realizowane przez dApps. Ta warstwa działa jako front-end blockchaina i jest właśnie tym, z czym zwykle spotyka się użytkownik podczas jego używania.
Podejście popularne: od Layer 1 do Layer 3 (+Layer 0)
Warstwy blockchain opisane według tego modelu spotkamy się najczęściej. W przeciwieństwie do wyżej opisanych warstw architektury, które określają sieć i jej działanie, warstwy protokołu koncentrują się na poprawie użyteczności blockchaina.
Historycznie jako pierwsza powstała warstwa 1 (Bitcoin). Warstwa 0 powstała dopiero potem, jako sposób naprawienia pewnych niedoskonałości istniejących już blockchainów Layer 1. Jeśli warstwy L1, L2 i L3 przedstawimy jako parter, piętro i strych domu, to Layer 0 będzie drogą, łączącą poszczególne domy. Z tego też powodu omówimy ją na końcu.
Layer 1 – łańcuchy bloków i przetwarzanie transakcji
Warstwa 1 jest odpowiedzialna za wykonywanie większości zadań sieci blockchain, takich jak rozwiązywanie sporów, mechanizm konsensusu czy zatwierdzanie transakcji. Layer 1 to podstawowy łańcuch bloków, mogący istnieć i działać samodzielnie i nie wymagający dla swego działania oparcia się na innych protokołach blockchain. Wystarczy mu hardware i oprogramowanie do obsługi sieci.
Duża liczba zadań, którymi blockchainy warstwy 1 muszą zarządzać, często powoduje problemy ze skalowalnością. W miarę jak coraz więcej użytkowników korzysta z łańcucha bloków, rośnie potrzebna ilość mocy obliczeniowej. Często skutkuje to wyższymi opłatami i dłuższym czasem przetwarzania danych. Problem skalowalności jest łagodzony przez ulepszone techniki konsensusu, użycie Proof of Stake czy sharding, jednak nie zawsze ich zastosowanie wystarcza do rozwiązania problemu.
Przykładem blockchainów Layer 1 są np. Bitcoin, Ethereum, Binance Smart Chain czy Solana.
Layer 2 – skalowanie blockchain
Próby zwiększania wydajności warstwy 1 często przypominają dostarczanie coraz większych ilości paliwa do źle zaprojektowanego silnika. Moc powoli rośnie, jednak ograniczenia systemowe wciąż nie pozwalają na osiągnięcie zadowalających efektów.
Rozwiązaniem w tej sytuacji może okazać się obejście najbardziej niewydajnych elementów dotychczasowego układu. Służą temu rozwiązania Layer 2, przejmujące zadanie przetwarzania danych od sieci macierzystej. Integracja z nią pozwala warstwie 2 zarządzać walidacjami transakcji. Layer 2 pobiera dane, przetwarza je i zwraca wyniki, jednak nadal to warstwa 1 odpowiedzialna jest za tworzenie i dodawanie nowych bloków do łańcucha.
Rozmaite rozwiązania warstwy 2 wykorzystują odmienne rozwiązania, takie jak rollupy (roll-up), łańcuchy boczne (sidechains), łańcuchy zagnieżdżone (nested), kanały stanu (state channel) i inne.
Przykładem rozwiązań Layer 2 są np. Lighting Network, Arbitrum czy OMG.
Tutaj piszemy więcej o warstwie 2 blockchain.
Layer 3 – warstwa aplikacji (dApps)
Ta warstwa blockchain jest widoczna dla użytkowników. To dzięki niej wchodzą oni w interakcję z łańcuchem bloków. L3 zapewnia oczywiście nie tylko interfejs użytkownika, ale także użyteczność, która jest realizowana przez tysiące smartkontraktów i dApps, spełniających najrozmaitsze funkcje.
Naturalnie, rozwiązania warstwy 3 może obsługiwać tylko łańcuch potrafiący wykorzystywać smartkontrakty. Z tego powodu obsługa L3 nie jest możliwa do zastosowania na Bitcoinie, bez użycia protokołów zapewniających tę funkcję (np. Stacks).
Do rozwiązań warstwy 3 zaliczymy wszelkie dApps, jak DEXy (np. PancakeSwap), portfele (Metamask), gry blockchain (Axie Infinity) czy protokoły finansowe (Aave).
Layer 0 – łączenie blockchainów
Komputer to fantastyczne urządzenie, jednak prawdziwą moc uzyskuje on dopiero w sieci, po połączeniu z innymi. Podobnie jest z łańcuchami bloków. Powstawały one osobno, dla realizacji określonych celów, często bez przewidzenia sposobów komunikacji z innym blockchainami. Warstwa 0 powstała, by przezwyciężyć te ograniczenia.
Na rozwiązania L0 składają się protokoły, interfejsy, standardy połączeń i inne komponenty, pozwalające blockchainom komunikować się między sobą. Działa więc ona jako najniższy wspólny mianownik i może być postrzegana jako „sieć blockchainów”.
Upraszczając, aby zaliczyć dane rozwiązanie do Layer 0, musi ono umożliwiać tworzenie w oparciu o nie samodzielnych blockchainów Layer 1, zapewniać im wysoką wydajność oraz pozwalać na łatwą komunikację między nimi.
Layer 0 to błogosławieństwo dla programistów dApps. Jeśli ich rozwiązanie jest zgodne z rozwiązaniem L0, będzie działać na każdym łańcuchu z nim kompatybilnym. Odpada więc ogromna ilość pracy, potrzebna aby zbudować tę samą aplikację w innym łańcuchu.
Niestety – wciąż nie ma jednego, powszechnie uznanego standardu Layer 0. Do najważniejszych zaliczane są:
Oczywiście, powyższe przykłady nie wyczerpują tematu. Layer 0 to modny temat, a o zawładnięcie nią ubiega się wiele projektów. Najnowszym z nich jest protokół o oryginalnej nazwie LayerZero, mający nowatorskim podejściem zrewolucjonizować całą branżę. To już jednak temat na zupełnie inną opowieść.
Inwestowanie jest ryzykowne. Inwestuj odpowiedzialnie.