Bezpieczeństwo w sieci blockchain

Technologia blockchain wykorzystuje do swojego działania rozproszoną sieć komputerów, na ktorych zapisana jest identyczna kopia tej samej bazy danych. Rozproszenie to ma znaczący wpływ na poprawę stabilności dostępu do zawartych w niej informacji jak również bezpieczeństwa.

Tomasz Limiszewski Grudzień 20, 2019

Struktura sieci bitcoin

Sieć bitcoin tworzą rozproszone komputery o dużej mocy obliczeniowej zwane węzłami sieci. Ich zadaniem jest wydobycie bitcoinów, poprzez dodanie do już istniejącego, kolejnego bloku zawierającego informacje o najnowszych transakcjach. Węzły tworzące sieć działają na wspólnie określonych zasadach zwanych konsensusem zbiorowym. W przypadku sieci Bitcoin jest to kensensus pracy, co oznacza, że teoretycznie największe szanse na wydobycie bitcoinów ma węzeł, który dysponuje największą mocą obliczeniową, co implikuje największy wkład pracy. Bloki tworzące całą historię transakcji są w rzeczywistości paczkami danych, wstecznie ze sobą powiązanymi. Oznacza to, że każdy kolejny blok wynika bezpośrednio z poprzedniego. Czasami zdarza się, że w sieci pojawiają się dwa nowe, pretendujące do wydłużenia łańcucha bloki jednocześnie. W takiej sytuacji sieć działa dalej, a pierwszeństwo ma ten blok, który szybciej uzyska swoją kontynuację.

Na czym polega wydobywanie bitcoinów?

To co czyni bitcoin bezpiecznym, to kryptografia, która stoi u jego podstaw. Informacja o każdej nowej transakcji trafia do wszystkich rozproszonych węzłów. Na początku następuje hashowanie czyli funkcji skrótu każdej transakcji pobranej do nowo tworzonego bloku z puli pamięci. Przed rozpoczęciem wydobycia bloku, wszystkie węzły tworzące sieć dodają transakcję, w której wysyłają sobie nagrodę za wydobycie przyszłego bloku. Transakcja ta nosi nazwę coinbase, a bitcoiny w niej zawarte pochodzą z "powietrza". Po zahashowaniu każdej transakcji są one organizowane w postaci tzw. drzewa Merkle. Drzewo Merkle polega na ciągłym łączeniu transakcji w pary i wyciąganiu z każdej z nich wspólnego hasha, aż do uzyskania jednego, unikalnego zwanego hashem głownym.Hash główny, wraz z hashem poprzedniego bloku oraz losową liczbą zwaną nonce jest następnie umieszczany z kilkoma innymi elementami w nagłówku bloku, po czym wszystkie dane są szyfrowane. Wartość finalnego hasha jest porównywana z tzw. trudnością wydobycia, czyli określoną przez protokół bitcoin wartością liczbową, której zadaniem jest być tak dużą, aby nadpisywanie bloków następowało mniej więcej co 10 minut. Jeśli wartość otrzymanego hasha jest mniejsza od trudności wydobycia, następuje jego nadpisanie, a informacja o tym trafia do wszystkich węzłów, które rozpoczynają księgowanie kolejnej puli transakcji.

Czy jeśli będę posiadał więcej niż 50% mocy obliczeniowej to mogę kontrolować sieć?

W przypadku sieci blockchain wykorzystujących konsensus pracy tzw. proof of work, teoretycznie możliwe jest przejęcie kontroli nad siecią z wykorzystaniem więcej niż 50% mocy obliczeniowej. Atak taki nosi nazwę ataku 51% i jest jednym z nielicznych "słabych punktów", które można przypisać sieci bitcoin. Węzeł, który osiągnąłby moc powyżej 50% mógłby teoretycznie modyfikować wstecznie transakcje, blokować je, a tym samym, przechwytując bitcoiny pozostałych użytkowników sieci czerpać z nich korzyści. Sytuacja ta utrzymywałaby się tak długo, aż do momentu, w którym węzeł dysponujący większą mocą obliczeniową od pozostałych straciłby przewagę poprzez zwiększenie opisanej wyżej trudności wydobycia dla tworzonego przez siebie samego łańcucha bloków. W przypadku sieci bitcoin, atak 51% jest mało realny przez ogromną moc obliczeniową, która byłaby potrzebna do jego przeprowadzenia. Ataki 51% zdarzały się w przeszłości na innych walutach cyfrowych, co powodowało ich chwilową destabilizację oraz znaczne wahania ich kursów.

Nawigacja

Podobne artykuły

Tomasz Limiszewski

Tomasz Limiszewski

Dyrektor operacyjny, współtwórca Bitclude.

Pokaż wszystkie tego autora