Investor's wiki

Fragmentacja

Fragmentacja

Co to jest sharding?

Sharding to technika partycjonowania bazy danych stosowana przez firmy blockchain w celu skalowalności, umożliwiająca im przetwarzanie większej liczby transakcji na sekundę. Sharding dzieli całą sieć firmy blockchain na mniejsze partycje, znane jako „odłamki”. Każdy fragment składa się z własnych danych, dzięki czemu jest wyróżniający się i niezależny w porównaniu z innymi fragmentami.

Sharding może pomóc w zmniejszeniu opóźnień lub spowolnienia sieci, ponieważ dzieli sieć blockchain na oddzielne fragmenty. Istnieją jednak pewne obawy dotyczące bezpieczeństwa związane z shardingiem, w którym fragmenty mogą być atakowane.

Zrozumienie shardingu

Sieci blockchain i odpowiadające im kryptowaluty zyskują na popularności ze względu na szerokie zastosowanie tej technologii, która obejmuje zarządzanie łańcuchem dostaw i transakcje finansowe. Wraz ze wzrostem popularności blockchain rośnie również obciążenie pracą i wolumen transakcji obsługiwanych przez sieć. Jeśli myślimy o blockchain jako o współdzielonej bazie danych, w miarę dodawania coraz większej ilości danych sieć musi znaleźć nowe sposoby, aby móc efektywnie i szybko przetwarzać wszystkie te dane, w czym może pomóc sharding.

Księga rozproszona

Rozproszona księga technologii blockchain czyni ją atrakcyjną, ponieważ umożliwia dobrowolne udostępnianie transakcji w wielu witrynach i lokalizacjach geograficznych. Gdy transakcje są rejestrowane, kopie są wysyłane do udostępnionej sieci w ciągu kilku sekund, tworząc publicznych „świadków”. Jeśli jedna część sieci padnie ofiarą oszustwa lub złośliwego ataku, uczestnicy współdzielonej sieci mogą zidentyfikować, co zostało zmienione przez oszustów, ponieważ wszyscy przechowują kopię transakcji księgi głównej. W rezultacie technologia blockchain i jej system rozproszonej księgi mogą pomóc w ograniczeniu oszustw i ograniczeniu szkód spowodowanych cyberatakami,. takimi jak włamania.

Skalowalność

Jednak jednym z głównych wyzwań związanych z technologią blockchain jest to, że w miarę dodawania kolejnych komputerów do sieci i przetwarzania większej liczby transakcji sieć może ugrzęznąć, spowalniając proces — zwany latencją. Opóźnienia są przeszkodą w zaadoptowaniu blockchain do powszechnego użytku, szczególnie w porównaniu z obecnymi systemami płatności elektronicznych, które działają szybko i wydajnie. Innymi słowy, skalowalność jest wyzwaniem dla blockchain, ponieważ sieci mogą nie być w stanie obsłużyć zwiększonej ilości danych i przepływu transakcji, ponieważ coraz więcej branż przyjmuje tę technologię.

Jednym z rozważanych rozwiązań do tworzenia skalowalności bez opóźnień jest proces shardingu. Sharding ma na celu rozłożenie obciążenia sieci na partycje, co może pomóc zmniejszyć opóźnienia i umożliwić przetwarzanie większej liczby transakcji przez blockchain.

Trzy cechy, które sieci blockchain starają się wykorzystać, to decentralizacja, skalowalność i bezpieczeństwo.

Jak przeprowadza się sharding

Przed zbadaniem, w jaki sposób sharding jest realizowany w sieci blockchain, ważne jest, aby sprawdzić, w jaki sposób dane są obecnie przechowywane i przetwarzane.

Węzły Blockchain

Obecnie w blockchain każdy węzeł w sieci musi przetwarzać lub obsługiwać wszystkie wolumeny transakcji w sieci. Węzły w blockchain są niezależne i odpowiadają za utrzymywanie i przechowywanie wszystkich danych w zdecentralizowanej sieci. Innymi słowy, każdy węzeł musi przechowywać krytyczne informacje, takie jak salda kont i historia transakcji. Sieci Blockchain zostały ustanowione tak, aby każdy węzeł musiał przetwarzać wszystkie operacje, dane i transakcje w sieci.

Chociaż zapewnia bezpieczeństwo łańcucha bloków, przechowując każdą transakcję we wszystkich węzłach, model ten znacznie spowalnia przetwarzanie transakcji. Wolne prędkości przetwarzania transakcji nie wróżą dobrze przyszłości, w której blockchain stanie się odpowiedzialny za miliony transakcji.

Sharding może pomóc, ponieważ dzieli lub rozkłada obciążenie transakcyjne z sieci blockchain, dzięki czemu każdy węzeł nie musi obsługiwać ani przetwarzać całego obciążenia łańcucha bloków. W pewnym sensie sharding dzieli obciążenie na partycje lub fragmenty.

Podział poziomy

Sharding można zrealizować poprzez partycjonowanie poziome baz danych poprzez podział na wiersze. Odłamki, jak nazywa się wiersze, są konceptualizowane na podstawie cech. Na przykład jeden fragment może być odpowiedzialny za przechowywanie stanu i historii transakcji dla określonego typu adresu. Ponadto może być możliwe podzielenie fragmentów na podstawie typu przechowywanych w nich zasobów cyfrowych. Transakcje obejmujące ten zasób cyfrowy mogą być możliwe dzięki połączeniu odłamków.

Jako przykład rozważmy transakcję wynajmu nieruchomości, w którą zaangażowanych jest wiele odłamków. Odłamki te odpowiadają różnym podmiotom zaangażowanym w transakcję, od nazw klientów po klucze cyfrowe skonfigurowane w inteligentny zamek, który jest udostępniany najemcy po opłaceniu czynszu.

Udostępnianie odłamków

Każdy odłamek nadal może być udostępniany innym odłamkom, co zachowuje kluczowy aspekt technologii blockchain — zdecentralizowaną księgę. Innymi słowy, księga jest nadal dostępna dla każdego użytkownika, umożliwiając mu przeglądanie wszystkich transakcji księgi.

Fragmentacja i bezpieczeństwo

Jednym z głównych problemów w zaistniałej praktyce jest bezpieczeństwo. Chociaż każdy fragment jest oddzielny i przetwarza tylko własne dane, istnieje problem z bezpieczeństwem związany z uszkodzeniem fragmentów, gdzie jeden fragment przejmuje inny fragment, co powoduje utratę informacji lub danych.

Jeśli pomyślimy o każdym odłamku jako o własnej sieci blockchain z uwierzytelnionymi użytkownikami i danymi, haker lub poprzez cyberatak może przejąć odłamek. Atakujący może następnie wprowadzić fałszywe transakcje lub złośliwy program.

Ethereum,. jedna z najbardziej znanych firm blockchain, znajduje się na pierwszej linii testowania shardingu jako możliwego rozwiązania problemów z opóźnieniami i skalowalnością. Ethereum planuje wprowadzić 64 nowe łańcuchy odłamków po tym, co nazywa się „Scaleniem”, w którym Ethereum Mainnet „połączy się” z systemem dowodu stawki Beacon Chain. Ethereum zwalczyło potencjał ataku odłamkowego, losowo przypisując węzły do niektórych odłamków i stale zmieniając je w losowych odstępach czasu. To losowe próbkowanie utrudniłoby hakerom ustalenie, kiedy i gdzie uszkodzić fragment.

Należy również zauważyć, że sharding jest nadal we wczesnej fazie testowania, gdy jest używany w sieciach blockchain. W rezultacie wszystkie potencjalne problemy i wyzwania nie zostały jeszcze rozwiązane.

Przegląd najważniejszych wydarzeń

  • Obawy dotyczące bezpieczeństwa związane z fragmentowaniem obejmują włamanie lub przejęcie fragmentu, w którym jeden fragment atakuje inny, co powoduje utratę informacji.

  • Sharding może poprawić opóźnienia w sieci, dzieląc sieć blockchain na osobne fragmenty — każdy z własnymi danymi, oddzielonymi od innych fragmentów.

  • Sharding to technika partycjonowania bazy danych rozważana przez sieci blockchain i testowana przez Ethereum.

  • Im więcej użytkowników przyjmuje sieci blockchain, tym sieć staje się wolniejsza, co prowadzi do znacznych opóźnień.