Blockchain jest technologią rozproszonych baz danych, która nie posiada scentralizowanego miejsca przetwarzania danych, a zadaniem jej jest przechowywać informacje w blokach danych. Innym, równie dobrym określeniem może być łańcuch bloków czy też rozproszony rejestr transakcji.

Jaka jest struktura blockchaina?

Najprościej mówiąc blockchain to łańcuch, składający się z ogromnej ilości połączonych ze sobą bloków. Dane w nich zawarte są dostępne dla każdego, kto posiada internet i odpowiednie oprogramowanie. Każdy z bloków zawiera w sobie cząstkę informacji swojego poprzednika – w ten sposób są one ze sobą łączone. Dzięki temu każdy z użytkowników może w dowolnym momencie prześledzić wszystkie dane, które zostały kiedykolwiek wprowadzone do wybranego blockchainu.

Bloki są ze sobą połączone za pomocą hashów. Blok jest określeniem bloku danych zawierającego określoną liczbę zapisów z transakcjami. Rozmiar każdego bloku jest ściśle określony w zależności od implementacji czy specyfikacji wykorzystywanego protokołu. Zapis każdej transakcji jest hashowany i kodowany w drzewie hash, które można prościej określić jako drzewo skrótów. Hash, który jest ciągiem generowanych liter oraz cyfr, łączy poszczególne bloki. Każdy hash odpowiada bowiem określonemu blokowi, co pozwala zidentyfikować go oraz czyni przeszukiwanie danych zdecydowanie prostszym. Do tej pory nie zdarzyło się jeszcze, by dwa hashe prowadziły do tego samego bloku, można więc uznać ten sposób łączenia za bezpieczny.

Drzewo hashów jest jednym z rodzajów struktury danych opartym na modelu drzewa ze zbiorczymi informacjami na temat większego fragmentu danych. Drzewa hashów są powszechnie wykorzystywane w świecie technologicznym, np. rozproszonych systemach plików i kontroli wersji oraz w technologii blockchain.

Jak działa decentralizacja blockchaina?

Blockchain w porównaniu z nowoczesnymi bazami danych jest technologią mocno przestarzałą, ale ma jedną ogromną zaletę – brak jednostki nadrzędnej. Decentralizacja, czyli stworzenie sieci w całości zarządzanej przez użytkowników (node’ów) pozwala na większą swobodę działania i nie wymaga wzajemnego zaufania. Jak to możliwe?

Aby dane mogły zostać umieszczone w blockchainie, przesyłane informacje muszą zostać zatwierdzone przez node’ów. Na przykład, gdy jedna osoba chce przelać drugiej 3 Bitcoiny, sieć musi sprawdzić i potwierdzić, że faktycznie wysyłający taką kwotę posiada. Po uzyskaniu potwierdzenia przez określoną ilość użytkowników Bitcoiny opuszczają jeden portfel i trafiają na drugi. Użytkownicy są ze sobą połączeni siecią peer-to-peer, czyli jednocześnie wysyłają i odbierają ogromne ilości informacji. Ma to na celu utrzymanie spójności blockchaina i sprawia jednocześnie, że jest on niemożliwy do nadpisania.

Otwarte sieci blockchain i prywatne

Aby łańcuchy bloków były przyjazne dla użytkowników, stosuje się otwarte łańcuchy bloków. Są one dużo przyjaźniejsze oraz bezpieczniejsze od tradycyjnych zapisów własności, ponieważ i tak wymagają fizycznego dostępu do ich widoku. Wśród zalet otwartych sieci, zwanych publicznymi, znaleźć można m.in. brak konieczności zapewnienia ograniczeń w dostępie do sieci, a więc brak kontroli dostępu, co zaś pozwala dodawać różne aplikacje do sieci blockchain bez potrzeby autoryzacji. Często stosuje się grupowanie danych w blokach czasowo znakowanych, co znajduje zastosowanie jako np. rozproszona wersja mechanizmu kontroli współbieżności (MVCC) wykorzystywanej w bazach danych. MVCC uniemożliwia dwie transakcje dotyczące jednoczesnego zmieniania pojedynczego obiektu danych, co pozwala zachować spójność danych.

Oprócz otwartych sieci blockchain, takich jak np. Ethereum czy Bitcoin, istnieją także łańcuchy blokowe wykorzystujące warstwę kontroli dostępu definiującej, kto może mieć dostęp do sieci. Różnica pomiędzy prywatnymi sieciami blockchain a otwartymi jest widoczna. Prywatne blockchainy opierają się na sprawdzaniu weryfikatorów przez właściciela sieci, którym najczęściej jest centralny organ. Nie korzystają z efektu sieciowego i nie opierają się na anonimowych węzłach wykorzystywanych do sprawdzania transakcji.

Prywatne sieci znajdują zastosowanie przede wszystkim w korporacjach oraz rozwiązań klasy enterprise, gdzie istotne jest sprawowanie kontroli przez określony organ.

Do czego wykorzystywany jest blockchain?

Blockchain zadebiutował w 2009 roku jako technologia ściśle związana z Bitcoinem. Jego twórca, Satoshi Nakamoto inspirował się przy jego tworzeniu dostępnymi już rozwiązaniami. Głównym zadaniem blockchainu było zapewnienie niezależności przepływu transakcji i uwolnienie ludzi od konieczności korzystania z tradycyjnych banków.

Obecnie blockchain coraz chętniej wykorzystywany jest przez firmy, którym zależy na bezpiecznym zapisywaniu danych, które byłyby ogólnodostępne lub działały w sieci prywatnej. Częstym rozwiązaniem bywa także blockchain i OZE. Technologia ta wykorzystywana jest m.in w branży finansowej, transportowej, zdrowotnej, a nawet gamingowej. Dzięki hashowaniu blockchain jest niemożliwy do usunięcia czy nadpisania, co dla firm poruszających się w wyżej wymienionych dziedzinach stanowi prawdziwy skarb.