Czy jesteś programistą blockchain próbującym znaleźć rozwiązania problemów ze skalowaniem i wydajnością łańcucha bloków? Być może szukasz informacji na temat fragmentacji łańcucha bloków. W tym artykule wyjaśniam, czym jest sharding blockchain.

Zdecentralizowany łańcuch bloków i jego wartość

Obiecująca technologia blockchain podbiła świat ze względu na dwie główne obietnice:

  1. Decentralizacja;
  2. Niezmienny rekord.

Decentralizacja umożliwia tworzenie całkowicie nowych modeli biznesowych, np .:


  1. Zdecentralizowana sieć płatności Bitcoin jest całkowicie poza kontrolą rządów i banków centralnych, a ludzie mogą wysyłać płatności Bitcoin przez sieć „peer-to-peer” (P2P).
  2. Wiele projektów blockchain i kryptowalut zbudowało swoje tokeny kryptograficzne na platformie blockchain Ethreum i zamierzają zakłócić scentralizowaną gospodarkę. Np. Storj to zdecentralizowana sieć pamięci masowej w chmurze, która może pewnego dnia zakłócić działanie gigantów przetwarzania w chmurze, takich jak Amazon, Google, Microsoft, IBM.

Niezmienny zapis w łańcuchu bloków daje ludziom pewność, że ich zapisy transakcji są odporne na manipulacje, a to generuje zaufanie do systemu. Jednak na potrzeby tego artykułu skupię się na aspekcie decentralizacji tej technologii.

Jak wdrażany jest zdecentralizowany łańcuch bloków?

Główną koncepcją zdecentralizowanego łańcucha bloków jest sieć P2P. „Węzły”, czyli komputery w tej sieci mają wszystkie informacje obecne w łańcuchu bloków, dlatego każdy węzeł jest księgą wszystkich transakcji. Dlatego też nazywamy blockchain „technologią rozproszonej księgi”.

Jak widać, w tej sieci P2P nie ma centralnego administratora, dlatego nikt nie może cenzurować ani pośredniczyć. Dlatego technologia blockchain eliminuje pośredników. Umożliwia to transakcje peer-to-peer, które umożliwiły wiele nowych modeli biznesowych po wprowadzeniu w projekcie Ethereum koncepcji „Smart Contract”.

Ponadto zastanów się nad przewagą sieci w stosunku do hakerów. Hakerzy mają przewagę, gdy mogą wykorzystać „pojedynczy punkt awarii”. Centralny serwer to ulubiony cel hakerów. Jednak w łańcuchu bloków istnieje wiele węzłów i wszystkie mają całą księgę transakcji!

Nawet jeśli hakerzy przejmą kontrolę nad jednym węzłem, zawsze istnieją inne, a hakerzy nie są w stanie przejąć ich wszystkich! Ponadto w tej rozproszonej sieci hakerzy nie mogą przeprowadzić „ataku 51%”. Ataki te polegają na przechwyceniu większości mocy obliczeniowej w sieci. Ile komputerów pokonają hakerzy?

Decentralizacja sprawia, że ​​blockchain jest bardzo bezpieczny. Kryptograficzne funkcje skrótu, szyfrowanie danych klucza prywatnego klucza publicznego i algorytm konsensusu zwiększają bezpieczeństwo.

Żaden cyberprzestępca nigdy nie włamał się do publicznego zdecentralizowanego łańcucha blokowego bez pozwolenia. Incydenty włamań do kryptowalut, o których słyszysz, to wszystkie przypadki ataków hakerów na scentralizowane serwery giełd kryptowalut.

Nawet hack Ethereum DAO nie mógł zaatakować sieci blockchain. Wykorzystał tylko lukę w kodzie inteligentnego kontraktu Ethereum DAO działającego na szczycie łańcucha blokowego Ethereum. Przeczytaj więcej na ten temat w „Poradniku dla początkujących: Co to jest Ethereum Classic?”.

Koszty zdecentralizowanej sieci blockchain

Zanim będę mógł wyjaśnić, czym jest sharding blockchain, muszę wyjaśnić kontekst, w którym pomysł pojawił się w głowach programistów blockchain. Widzieliście już zalety zdecentralizowanej sieci blockchain, jednak wiąże się to również z kosztami.

Najbardziej znane sieci blockchain, m.in. Bitcoin i Ethereum używają algorytmu konsensusu o nazwie „Proof of Work” (POW). Wymaga, aby wszystkie węzły uczestniczyły w procesie walidacji transakcji. Przeczytaj więcej na ten temat w „PoW Vs. PoS: Porównanie dwóch algorytmów konsensusu Blockchain ”.

Wymaga to od każdego węzła przetwarzania wszystkich żądań weryfikacji transakcji, dlatego każdy węzeł musi przechowywać wszystkie transakcje. Bitcoin, Ethereum i podobnie popularne sieci blockchain rozwijają się każdego dnia, z coraz większą liczbą użytkowników i transakcji. Oznacza to, że węzły będą musiały przechowywać stale rosnącą liczbę transakcji.

Kiedy nowy użytkownik uruchamia pełny węzeł Bitcoin, „Wstępne pobieranie bloku” (IBD) może zająć kilka dni! Czytać ten wątek dyskusyjny Bitcoin StackExchange aby zobaczyć, jak czasochłonna jest ta operacja.

Ponadto wszystkie operacje walidacji transakcji w tych sieciach blockchain są sekwencyjne, tj. Walidacja transakcji dla wielu bloków nie może odbywać się jednocześnie. Ponieważ każdy węzeł musi uczestniczyć w walidacji, sieć blockchain będzie działać tylko tak szybko, jak najwolniejszy węzeł!

Chociaż ten wymóg każdego węzła przechowującego wszystkie transakcje zabezpiecza publiczne sieci blockchain, powoduje również, że sieci te są mniej skalowalne. W związku z tym problemem programiści Blockchain zaczęli myśleć o alternatywach.

Fragmentowanie bazy danych dało początek koncepcji fragmentacji łańcucha bloków

Pojęcie shardingu wywodzi się z technologii zarządzania bazami danych, a słowo „Shard” oznacza „małą część całości”. Jest to podział dużej bazy danych na mniejsze części, które mogą być przechowywane w różnych instancjach serwera.

Istnieją mechanizmy indeksowania dla fragmentów iw zależności od zapytania do bazy danych system pobiera dane z odpowiedniego „fragmentu”. Dzięki temu bazy danych są bardziej wydajne i skalowalne. Przeczytaj więcej na temat fragmentowania bazy danych w ta definicja TechTarget shardingu.

Czym jest więc fragmentowanie łańcucha bloków? Ściśle zgodnie z koncepcją shardingu bazy danych, baza danych łańcucha bloków jest podzielona na partycje poziome. Grupa węzłów utrzymuje jedną taką partycję, podczas gdy inna grupa węzłów utrzymuje inny fragment.

Eliminuje to potrzebę przechowywania całej bazy danych łańcucha bloków przez wszystkie węzły. Dzięki takiemu rozwiązaniu nawet wolniejsze węzły mogą teraz działać szybciej, ponieważ nie muszą ładować całej księgi. Poprawi to skalowalność sieci.

Sharding wymaga innego mechanizmu konsensusu w łańcuchu bloków

Do tej pory możesz zobaczyć, że jeśli zaimplementujesz fragmentowanie łańcucha bloków, węzły nie będą już widzieć całej bazy danych łańcucha bloków. Jak wtedy będzie działał algorytm konsensusu POW? Wymaga, aby wszystkie węzły uczestniczyły w walidacji transakcji, a teraz węzły nie widzą nawet całej księgi blockchain!

Blockchain sharding wymaga innego algorytmu konsensusu blockchain o nazwie „Proof of Stake” (PoS). W tym algorytmie niektóre węzły stawiają własne tokeny kryptograficzne i przejmują odpowiedzialność za weryfikację transakcji.

Im więcej tokenów obstawia węzeł i im dłuższy jest czas trwania stawki, tym większe jest prawdopodobieństwo, że ten węzeł uzyska odpowiedzialność za walidację transakcji. Nazywamy ich „Stakers”.

Ponieważ implementacja shardingu wyklucza algorytm POW do walidacji transakcji, sieć musi zidentyfikować „Stakers” dla każdego fragmentu, który będzie weryfikował transakcje. W związku z tym, aby zaimplementować sharding, sieć blockchain musi korzystać z algorytmu PoS.

Wady shardingu blockchain

Dyskusja na temat tego, czym jest fragmentowanie łańcucha bloków, będzie niepełna bez omówienia jego wad. Pamiętaj, że koncepcja fragmentowania bazy danych nie jest łatwa!

Musisz mieć bardzo dobrych ekspertów ds. Baz danych w swoim zespole projektowym, którzy potrafią zaplanować bardzo dobrą strategię indeksowania Twoich fragmentów bazy danych. Chociaż w inny sposób, musisz bardzo dobrze zaplanować shardowanie swojej księgi blockchain.

Możesz również czasami usłyszeć, że sharding może poprawić skalowalność sieci blockchain, ale kosztem bezpieczeństwa. Musisz jednak pamiętać, czym jest fragmentowanie łańcucha bloków – to tylko technika partycjonowania. Samo partycjonowanie bazy danych nie może zmniejszyć bezpieczeństwa bazy danych.

W rzeczywistości to algorytm PoS zapewnia mniej zdecentralizowane bezpieczeństwo, a nie sharding. Jeśli haker kupuje dużo krypto tokenów i stawia je, jest prawdopodobne, że będzie on preferowanym stakerem. Może wtedy manipulować transakcjami.

Jednak naturalna dynamika gospodarcza stanowi przed tym zabezpieczenie. Każda osoba kupująca zbyt wiele tokenów kryptograficznych przyciągnie wiele uwagi, co podniesie cenę. Oprócz światła reflektorów haker będzie musiał coraz częściej wydawać więcej pieniędzy, aby ostatecznie manipulować transakcjami.

Poza tym w proponowanym protokole „Casper” dla Ethereums zaplanowano przejście na algorytm PoS w celu przydzielenia stakerów w sposób losowy. Zmniejszy to prawdopodobieństwo, że złośliwy staker manipuluje transakcjami. Protokół Caspera proponuje również zablokowanie postawionej kwoty i konfiskatę jej dla złośliwych stakerów, którzy nigdy nie będą mieli szansy postawić stawki w przyszłości.

Fragmentowanie łańcucha bloków to stosunkowo nowa koncepcja. Plik Projekt SHARD Coin używa go. Musimy zobaczyć, jak technologia ewoluuje i czy dodaje trwałej wartości do skalowalności i wydajności blockchain.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me