Co sprawia, że Blockchain jest bezpieczny?

Udostępnij
Copied to clipboard!
Co sprawia, że Blockchain jest bezpieczny?
Posłuchaj tego artykułu
00:00 / 00:00

Sieci blockchain są zabezpieczane przy pomocy różnych mechanizmów, które obejmują m.in zaawansowane techniki kryptograficzne czy matematyczne modele zachowań i podejmowania decyzji. Technologia Blockchain stoją u podstaw większości kryptowalut i zapobiegają ich powielaniu lub niszczeniu tego rodzaju cyfrowych pieniędzy.

Wykorzystanie technologii blockchain jest również obecnie badane w innych kontekstach, gdzie nie modyfikowalność danych oraz ich bezpieczeństwo są bardzo cenne. Mowa tutaj m.in o zbieraniu i śledzeniu darowizn przekazywanych cele charytatywne, medycznych bazach danych i zarządzaniem łańcuchami dostaw.

Bezpieczeństwo blockchain nie jest jednak w żadnym wypadku prostym tematem. To właśnie dlatego tak ważne jest zrozumienie podstawowych pojęć i mechanizmów, stojących u podstawy tej innowacyjnej technologii.


Koncepcje niemodyfikalności i konsensusu

Chociaż na bezpieczeństwo sieci blockchain składa się wiele elementów, dwoma najważniejszymi są konsensus i niemodyfikowalność. Konsensus odnosi się do zdolności węzłów zgromadzonych w ramach rozproszonej sieci do uzgadniania jednego i prawdziwego stanu sieci oraz ważności transakcji. Proces osiągania konsensusu zazwyczaj zależy od tzw. algorytmów konsensusu.

Niemodyfikowalność (ang. Immutability), z drugiej strony, odnosi się do zdolności sieci blockchain do zapobiegania zmianom w transakcjach, które zostały już potwierdzone. Chociaż transakcjami najczęściej są zwyczajne transfery (czyt. przelewy) kryptowalut, mogą one również odnosić się do zapisu innych niepieniężnych form cyfrowych danych.

Konsensus i niemodyfikowalność tworzą swoiste ramy bezpieczeństwa danych w sieciach typu "blockchain". Algorytmy konsensusu zapewniają przestrzeganie zasad systemu i poprawne uzgodnienie przez wszystkie zaangażowane w sieć strony aktualnego stanu sieci - niemodyfikowalność z kolei gwarantuje integralność danych i zapisów transakcji po potwierdzeniu ważności każdego nowego bloku danych.


Rola kryptografii w bezpieczeństwie sieci blockchain

Łańcuchy bloków (czyt. dosł. blockchainy) aby móc osiągnąć odpowiedni poziom bezpieczeństwa danych, w dużym stopniu opierają się na kryptografii. Jedną z funkcji kryptograficznych, która jest niezwykle ważna w tym kontekście, jest funkcja tzw. Funkcja haszująca (ang. Hashing function). Hashowanie w dużym skrócie polega na tworzeniu wartości (skrótu - output) na podstawie dostarczonych przez użytkownika lub system danych wejściowych (input).

Niezależnie od wielkości danych wejściowych, dane wyjściowe zawsze będą miały taką samą długość. Jeśli input ulegnie zmianie, output będzie zupełnie inny. Jeśli jednak input nie ulegnie zmianie, hash będzie zawsze taki sam - bez względu na to, ile razy uruchomisz funkcję haszującą.

W kontekście sieci blockchain, wartości wyjściowe, znane jako hashe są wykorzystywane jako unikalne identyfikatory bloków danych. Hash każdego bloku danych generowany jest w powiązaniu z hashem poprzedniego bloku - to właśnie dlatego bloki danych w sieciach blockchain określa się łańcuchem bloków. Co ważne, hash danego bloku zależy od danych zawartych w tym bloku, co oznacza, że jakakolwiek zmiana danych wiązać będzie się ze zmianą hashu tego bloku.

Innymi słowy, hash każdego bloku generowany jest zarówno na podstawie danych zawartych w tym bloku, jak i na podstawie hashu poprzedniego bloku. Identyfikatory te odgrywają główną rolę w zapewnieniu bezpieczeństwa łańcucha bloków i jego niemodyfikowalności.

Hashe są również wykorzystywane w algorytmach konsensusu do walidacji transakcji. Na przykład, w sieci blockchain Bitcoin algorytm Proof of Work (PoW) wykorzystywany w celu osiągnięcia konsensusu pomiędzy uczestnikami sieci i kopania kryptowalut oparty jest o funkcję haszującą o nazwie SHA-256. Jak sama nazwa wskazuje, SHA-256 pobiera dane wejściowe i zwraca ich hash o długości 256 bitów lub, innymi słowy 64 znaków.

Poza zapewnieniem ochrony transakcji i zapisanych w nich danych, kryptografia odgrywa również rolę w zapewnieniu bezpieczeństwa portfeli używanych do przechowywania samych kryptowalut. Powiązane ze sobą klucze publiczne i prywatne, które odpowiednio umożliwiają użytkownikom otrzymywanie i wysyłanie płatności, są tworzone przy użyciu asymetrycznej kryptografii - inaczej kryptografii klucza publicznego. Klucze prywatne służą do generowania podpisów cyfrowych, którymi sygnowane są transakcje, tym samym umożliwiając weryfikację autentyczności własności przesyłanych jednostek danej kryptowaluty.\

Pomimo tego, że charakter kryptografii asymetrycznej zdecydowanie wykracza poza ramy tego artykułu, warto wspomnieć o tym, że to właśnie dzięki niej, nikt z wyjątkiem posiadacza klucza prywatnego nie może uzyskać dostępu do środków przechowywanych w portfelu kryptowalut, zapewniając w ten sposób bezpieczeństwo tych środków do momentu, gdy właściciel zdecyduje się na ich wydanie (o ile klucz prywatny nie jest współdzielony lub ukradziony).


Kryptoekonomia

Poza samą kryptografią, sieci blockchain zabezpieczane są również przy użyciu stosunkowo nowej koncepcji znanej pod nazwą kryptoekonomią. Koncepcja ta w dużej mierze związana jest  dziedziną matematyki zajmującą się teorią gier, która za pomocą matematycznych modeli opisuje proces podejmowania decyzji w sytuacjach, w których obowiązują wcześniej określone reguły i nagrody. Podczas gdy tradycyjna teoria gier może być stosowana w wielu różnych branżach i przypadkach, kryptoekonomia sama w sobie zakłada konkretne modele i opisuje potencjalne zachowania węzłów w określonych sytuacjach w rozproszonych systemach blockchain.

W skrócie, kryptoekonomia jest nauką traktującą o ekonomii protokołów blockchain oraz możliwych rezultatach (czyt. zachowaniach), które dany projekt może generować wśród swoich użytkowników. Kryptoekonomia zakłada, że systemy blockchain zapewniają węzłów więcej zachęt aniżeli kar lub wad, co skłania węzły do podejmowania pozytywnych (czyt. dobrych) zachowań. Algorytm konsesusu Proof of Work na którym oparte jest wydobycie Bitcoinów stanowi rewelacyjny przykład takiego motywacyjnego podejścia.

Framework stworzony przez Satoshiego Nakamoto na którym oparty został proces miningu został celowo zaprojektowany, aby być kosztownym i wymagającym dużej ilości zasobów mocy obliczeniowej. Ze względu na złożoność całego procesu, jak i same wymagania dot. Mocy obliczeniowej, mining w ramach algorytmu PoW wiąże się z koniecznością dokonania znaczących inwestycji pieniężnych i czasowych - niezależnie od tego kto i gdzie zechce dołączyć do sieci jako węzeł wydobywczy. To właśnie dzięki tym właściwościom algorytmu wszyscy potencjalni źli aktorzy (czyt. hakerzy, atakujący) są skutecznie zniechęcani do jakiejkolwiek szkodliwej działalności i jednocześnie znacząco zachęcani do wykonywania uczciwej działalności wydobywczej. W systemie PoW nieuczciwe lub nieefektywne węzły szybko usuwane są z sieci blockchain, podczas gdy uczciwi oraz wydajni (pod względem wydobycia; posiadanej mocy obliczeniowej) górnicy zyskują szansę na jeszcze większy zarobek.

Taka konstrukcja jednocześnie zapewnia również odpowiedni stopień ochrony sieci przed potencjalnymi atakami, które mogłyby podważyć stale osiągany w sieci konsensus, poprzez np. zdobycie większości mocy obliczeniowej sieci blockchain przez jedną osobę lub grupę osób. Tego typu atak, znany jako Atak 51%, w przypadku skutecznego przeprowadzenia może okazać się bardzo szkodliwy dla zaatakowanej sieci. Jednak biorąc pod uwagę wysoki stopień konkurencyjności procesu wydobycia Bitcoinów i szeroko pojętą wielkość sieci Bitcoin, prawdopodobieństwo uzyskania kontroli nad większością obecnej w sieci mocy obliczeniowej jest znikome.

Co więcej, koszt związany z uzyskaniem mocy obliczeniowej potrzebnej do osiągnięcia 51-procentowej kontroli nad mocą obliczeniową sieci byłby astronomiczny, co z samego założenia zniechęca kogokolwiek do podjęcia się tak dużej inwestycji przy stosunkowo niewielkiej potencjalnej nagrodzie, a nawet jej braku. Właściwość ta jest charakterystyczna dla większości sieci blockchain i określana jest Odpornością (Tolerancją) na Bizantyjskie Wady (BFT). Zasadniczo cechę tę można streścić do: zdolności rozproszonego systemu (sieci) do kontynuowania normalnej pracy, nawet jeśli niektóre węzły ulegną fragmentacji, zniszczeniu lub podejmą się złośliwej działalności na rzecz systemu (sieci).

Dopóki koszt zdobycia większości mocy obliczeniowej danej sieci będzie większy od potencjalnych korzyści z tego wynikających, dopóty każdy rozproszony system będzie mógł się rozwijać bez znaczących problemów. Warto jednak zauważyć, że małe sieci blockchain są z pewnością bardziej podatne na tzw. Większościowe ataki, ponieważ łączna moc obliczeniowa zabezpieczająca ich sieci jest zdecydowanie niższa niż moc sieci Bitcoin.


Przemyślenia końcowe

Dzięki jednoczesnemu wykorzystaniu dokonań, założeń i konceptów obecnych zarówno w teorii gier jak i kryptografii, sieci blockchain zyskują wysoką odporność na wszelkiego rodzaju niebezpieczeństwa zagrażające ich poprawnemu działaniu. Podobnie jednak jak w przypadku niemal wszystkich systemów komputerowych, ważnym jest, aby te dwie dziedziny wiedzy były jednak wykorzystywane we właściwy sposób. Odpowiednie rozłożenie sił (czyt. równowaga) między decentralizacją, a bezpieczeństwem jest niezbędne do zbudowania niezawodnej i wydajnej sieci dla każdej z kryptowalut.

Ponieważ zastosowania technologii blockchain stale ewoluują, systemy bezpieczeństwa, algorytmy i zabezpieczenia również będą ulegać zmianie, aby stale móc stawiać czoło rosnącym wymaganiom i coraz to nowym zastosowaniom dla w/wi. Z drugiej strony, prywatne sieci blockchain, które są obecnie testowane i uruchamiane przez różne przedsiębiorstwa skupiają się na zabezpieczeniu samego dostępu do niach, aniżeli na mechanizmach opisanych w  teorii gier (inaczej kryptoekonomii), a które są niezbędnym elementem bezpieczeństwa większości publicznych sieci blockchain.

Loading