21. Czym jest Blockchain sharding?

W branży kryptowalut powszechnie utarł się schemat, że to Ethereum ma największe problemy ze skalowalnością. Oczywiście pod względem kosztów i czasu, jakie trzeba poświęcić, aby przeprowadzić daną transakcję.

Przypadek Ethereum nie jest jednak odosobniony. Problemy ze skalowalnością ma większość blockchainów. O tym utrudnieniu sieci blockchain pisaliśmy już tutaj. Z tego powodu wiele deweloperów pracuje, aby rozwiązać ten problem. Jedną z ich propozycji jest wielofazowa aktualizacja, nazywana Shardingiem. Czym jest Blockchain sharding i dlaczego jest taki ważny?

Blockchain Sharding

Sharding jest jedną z metod zwiększania skalowalności technologii blockchain. Jest to proces partycjonowania baz danych wykorzystywanych w danym ekosystemie blockchain, co pozwala na przetwarzanie większej liczby transakcji na sekundę.

W uproszczeniu, sharding to podział całej sieci blockchain na kilka mniejszych części, zwanych shardami. Każdy shard zawiera unikalne dane i działa niezależnie od innych shardów. Dzięki temu pamięć masowa w sieci Peer-to-Peer nie jest tak obciążona, co umożliwia węzłom przetwarzanie większej liczby transakcji w krótszym czasie. Po przeprowadzeniu sharding, każdy węzeł przechowuje jedynie dane związane z jego shardem lub obszarem działania.

Proces shardingu nie wpływa negatywnie na cały ekosystem blockchain, co oznacza, że jest nieinwazyjny. Informacje przechowywane w poszczególnych shardach mogą być udostępniane innym węzłom, zachowując jednocześnie bezpieczny i zdecentralizowany charakter rozproszonej księgi zleceń. Dlaczego? To dlatego, że mimo podziału każdy shard wciąż ma dostęp do pełnego zapisu w księdze, bez konieczności przechowywania wszystkich danych. W ten sposób unika się przeciążenia sieci.

Sharding jest doskonałym rozwiązaniem do redukcji opóźnień w transakcjach.

Jak działa sharding na blockchainie?

Sharding jest przede wszystkim stosowany w przypadku blockchainów, które dysponują ogromnym wolumenem danych, ale używają jednej wspólnej bazy. Doskonałym przykładem takiego przypadku jest Ethereum, które jest domem dla licznych deweloperów pracujących nad różnorodnymi projektami.

W przypadku Ethereum, oprócz deweloperów, na platformie działa ponad 300 dApps, co stwarza konieczność zastosowania shardingu w celu zwiększenia skalowalności. Proces shardingu ułatwia rozproszenie przechowywanych danych, co z kolei czyni rollupy jeszcze bardziej opłacalnymi i jednocześnie upraszcza obsługę węzłów. Dzięki temu rozwiązania warstwy 2 korzystające z Ethereum są bezpieczne i bardziej ekonomiczne.

Proces shardingu pomaga w podzieleniu całej sieci na mniejsze moduły, z których każda zwiększa TPS sieci. Cały proces wydaje się dość prosty, jednak ma w sobie sporo istotnych elementów:

  • Węzły

Każdy węzeł w sieci blockchain jest odpowiedzialny za przetwarzanie i zarządzanie transakcjami wewnątrz ekosystemu. Węzły działające w technologii blockchain są autonomiczne i mają za zadanie przechowywać wszystkie dane generowane przez zdecentralizowaną sieć, takie jak saldo kont czy pojedyncze transakcje.

Takie podejście sprawia, że cały proces przetwarzania transakcji staje się bardzo powolny, ale jednocześnie gwarantuje wysoki poziom bezpieczeństwa, ponieważ każda transakcja jest przechowywana we wszystkich węzłach sieci. Jednakże to wolne tempo przetwarzania transakcji nie jest zachęcające dla potencjalnych użytkowników.

Dlatego też, w celu złagodzenia tego problemu i przyspieszenia tempa przetwarzania transakcji, konieczne jest zastosowanie strategii, która pozwoli na równomierne rozłożenie obciążenia między węzłami.

  • Horizontal Partitioning

Horizontal Partitioning to proces podziału baz danych na poziomie wierszy. Może być również wykorzystywany w technice shardingu. Na przykład, jeden z shardów może zajmować się przechowywaniem historii transakcji oraz aktualnego stanu adresów, podczas gdy inny shard zajmuje się gromadzeniem informacji o saldach kont i innymi danymi.

Co więcej, dzięki Horizontal Partitioning, shardy mogą być podzielone ze względu na rodzaj cyfrowych zasobów przechowywanych w każdym z nich.

Dlaczego Sharding jest taki ważny w ekosystemie blockchain?

Istnieją trzy główne powody, dla których sharding ma takie duże znaczenie.

  1. Kompresja wykorzystywanych danych

Jak wspomniano wcześniej, każdy węzeł w sieci blockchain przechowuje pełną historię sieci, co sprawia, że trudno jest hakerom przejąć kontrolę nad siecią lub potencjalnie zmodyfikować transakcje. Jednakże taki stan rzeczy wiąże się z kosztem skalowalności całej sieci blockchain.

  1. Skalowalność

Najważniejszą korzyścią wynikającą z zastosowania shardingu jest zwiększenie skalowalności. Proces ten umożliwia podzielenie węzłów i przechowywanie większej ilości informacji, nie wpływając na czas przetwarzania transakcji.

Dzięki shardingowi deweloperzy mogą zauważyć ogromny potencjał, a różne branże, takie jak finanse, FinTech i bankowość, mogą wdrożyć technologię blockchain i konkurować z centralnymi rozwiązaniami.

  1. Dostępność

Sharding przynosi również lepszą dostępność dla użytkowników sieci. Na przykład w przypadku Ethereum, shardingu pozwolił na zmniejszenie ilości sprzętu niezbędnego do uruchomienia sieci, co umożliwia korzystanie z niej na urządzeniach dostępnych dla konsumentów.

Sharding, a bezpieczeństwo

Sharding, podobnie jak większość rozwiązań mających na celu skalowalność blockchain, jest obecnie w fazie testów, ale niesie ze sobą wiele korzyści.

Jednym z potencjalnych problemów w przypadku shardingu jest kolizja shardów, gdzie jeden shard może próbować przejąć kontrolę nad drugim. W wyniku takiej sytuacji informacje zawarte w shardzie mogą zostać utracone, a złośliwe shardy mogą próbować wprowadzać uszkodzone dane do sieci blockchain.

W przypadku Ethereum ryzyko takich zdarzeń jest znacznie ograniczone i praktycznie niemożliwe do wystąpienia. Istnieje także potencjalne niebezpieczeństwo cyberataków na pojedyncze shardy, co może prowadzić do wprowadzania fałszywych transakcji do sieci. Jednak ta możliwość również została zminimalizowana, ponieważ węzły zostały przypisane do konkretnych shardów.

Przykłady sieci blockchain, wykorzystujących sharding

  • NEAR

NEAR skupił się na umożliwieniu transakcji cross-shard w czasie rzeczywistym, jednocześnie dbając o lekkie obciążenie sieci dla użytkowników. Jak to osiągnął? Poprzez umożliwienie każdemu urządzeniu o ograniczonych zasobach uruchomienia węzła jako części całej sieci.

W wyniku tego podejścia każde z tych urządzeń wspomaga przetwarzanie części transakcji. Sharded Proof of Stake blockchain NEAR cechuje się większą skalowalnością i pozwala na działanie węzłów sieci nawet na urządzeniach o niskiej wydajności. Dzięki temu rozwiązaniu sieć staje się bardziej dostępna dla wielu dodatkowych urządzeń, które przyczyniają się do poprawy ogólnej wydajności całego ekosystemu.

  • Ethereum Beacon Chain

Beacon Chain, to główny łańcuch w Ethereum 2.0. Jego zadaniem jest przetwarzanie powiązań krzyżowych i „przechowywanie” aktywnych walidatorów, oczekujących w kolejce. Pomaga także przetwarzać konsensus block by block w Ethereum. Funkcje obejmują także:

  1. Zarządzanie walidatorami i ich stawkami.
  2. Wdrożenie obowiązujących zasad konsensusu.
  3. Organizowanie głosowania nad proponowanymi zmianami.
  4. Przydzielanie nagród i kar dla walidatorów.
  5. Rejestruje stany shardów i odpowiada za transakcje między nimi.
  • Polkadot Parachain

To kolejny ciekawy projekt, o którym pisaliśmy tutaj. To bardzo ciekawe wykorzystanie shardów w rozproszonej bazie danych. Cały ekosystem oferuje uproszczoną perspektywę sieci blockchain. Warto również nadmienić, że Polkadot ma wysoko wyspecjalizowane parachain, o których już pisaliśmy.

Podsumowanie

Sharding to bez wątpienia fascynujące i godne uwagi rozwiązanie, które znacząco wpływa na skalowalność sieci blockchain. Choć jeszcze daleko do osiągnięcia pełnych rezultatów, deweloperzy ciężko pracują nad optymalizacją tego procesu. Aktywnie rozwiązują wszelkie trudności, które mogą wystąpić, jednocześnie nieustannie dążąc do zwiększenia poziomu bezpieczeństwa.

Zapisz się do newslettera!

Otrzymuj co tydzień najnowsze informacje o kryptowalutach na swój e-mail.