theme switch

Jak działają protokoły sieciowe wykorzystywane w technologii blockchain?

Protokoły w sieciach jest to fundamentalna część na której opiera się ich działanie. Od samych początków istnienia internetu są one wykorzystywane, aby przesyłać dane z jednego komputera na drugi.

Trzy główne protokoły w sieci internetowej, o których prawdopodobnie już udało Ci się usłyszeć to:

  1. "HTTP" (ang. hyper text transfer protocol)
  2. "TCP"  (ang. transfer control protocol)
  3. "IP" (ang. internet protocol)

TCP/IP są to zbiory protokołów które umożliwiają transmisję danych w sieci komputerowej. HTTP natomiast pozwala przeglądarkom na komunikację z serwerami WWW.

W standardowych bazach danych występuje architektura serwer-klient, która przechowuje informacje na serwerach centralnych. Czasami podanie osobistych informacji jest niezbędne, aby korzystać z wszystkich funkcji danej platformy. Facebook czy google posiadają ogromne scentralizowane serwery i tam znajduje się min. historia transakcji użytkowników czy dane osobowe. Wszyscy korzystamy z nich na co dzień za pomocą protokołów HTTP.

Protokoły w sieci blockchain - na czym się opierają?

Rozproszenie sieci

W sieci blockchain dane również mogą być przesyłane między użytkownikami, jednak w nieco inny sposób niż ma to miejsce w przypadku zwykłych protokołów internetowych.

Pierwszą cechą, która je definiuje jest zdecentralizowana baza danych, która jest współdzielona przez użytkowników z całego świata we wielu różnych lokalizacjach. Wykorzystuje sieć P2P (ang. peer-to-peer), w której każda transakcja jest podzielona i przechowywana przez jej węzły (tj. komputery o dużej mocy obliczeniowej, które współtworzą sieć). Nie mają one pośrednika, który działa jako centralny punkt zapisu informacji. Oznacza to również, że nie ma pojedynczego punktu awarii co zmniejsza prawdopodobieństwo włamania do serwera lub utraty informacji. Poza tym brak jest jednego podmiotu, który byłby właścicielem sieci przez co nikt nie ma możliwości zarabiania na danych, ani wykorzystywania ich w sposób niepożądany przez użytkowników.

Kryptografia

Transakcje wykonywane w łańcuchu bloków są szyfrowane za pomocą zaawansowanych metod kryptograficznych. Jest to główny powód dla którego protokoły związane z blockchainem są bezpieczniejsze od tych tradycyjnych. Szyfrowanie wykorzystuje trzy główne narzędzia - hashinguwierzytelnianie przy pomocy klucza prywatnego i publicznego oraz podpis cyfrowy.

Warto pamiętać, że te metody istniały o wiele wcześniej, niż powstała technologia blockchain. Zostały one zaimplementowane w niej jako gotowe rozwiązania.

Hashing jest to funkcja matematyczna, która pobiera dane wejściowe o dowolnej długości i używa odpowiednich formuł, aby stworzyć pozornie losowy wynik stałej liczby liter i cyfr.

Jeśli użyjemy formuły, którą wykorzystuje sieć bitcoina - SHA256 możemy zakodować dowolne hasło i otrzymujemy określony ciąg znaków:

Np. dla zwrotu: "Kantor bitcoin jest super" -

50F94CB2F73D29712EDFB1B0E7D3C5401C7DD5341406FEBCA4E856D9A9451C2A

Co ciekawe jakakolwiek zmiana w zakodowanej nazwie np.  poprzez dodanie wykrzyknika na końcu zdania spowoduje powstanie całkiem innych danych wyjściowych, które na pierwszy rzut oka są całkowicie losowe.

"Kantor bitcoin jest super!"-

C7FD395AAB3BA46AAF3FD612D20ED161AC3D63239D72E8452DDFC66708741EFB

Algorytmem tym rządzi jednak kilka reguł:

  • Takie same dane wejściowe zawsze dają identyczny rezultat
  • Dwa różne hasła wejściowe nie mogą dać takich samych danych wyjściowych
  • Na podstawie samych danych wyjściowych nie jesteśmy w stanie określić, jakie hasło zostało zakodowane.
  • Nieznaczne zmiany powodują powstanie całkowicie innego wyniku

Główną zaletą tej enkrypcji jest fakt, że nawet ściana tekstu może zostać sprowadzona do kodu, który zmieści się w jednej linijce. Jest to również unikalna jednokierunkowa funkcja, której nie da się przełamać w drugą stronę.

Np. cały ten artykuł po zakodowaniu to tylko jedna prosta linijka danych wyjściowych:

9A9F7EEA774F21BA1DF02A82C83B3E57DD50B0207AF85AD86AFFFFD7DBC70058

W sieci blockchain jest on używany do tworzenia podpisów cyfrowych i integracji bloków transakcyjnych, co wpływa na jej nienaruszalność i bezpieczeństwo.

Kolejnym narzędziem, które zapewnia bezpieczeństwo jest szyfrowanie klucza prywatnego i publicznego - zwane również szyfrowaniem asymetrycznym i wykorzystują je wszystkie protokoły w sieci blockchain. W metodzie tej klucz publiczny możemy udostępnić każdemu, a prywatny jest tylko dla nas. Te dwa klucze są powiązane matematycznie, co oznacza, że treść zaszyfrowana przy użyciu klucza publicznego może zostać rozkodowana tylko kluczem prywatnym.

Mechanizm kryptografii asymetrycznej

Ostatnia składowa wykorzystywana w kryptografii protokołów to cyfrowy podpis. Jest on możliwy za pomocą dwóch wcześniej opisanych metod. Umożliwia uwierzytelnienie tożsamości nadawcy i potwierdzenie, że dokument nie został zmieniony podczas przesyłania.

Nadawca przy pomocy hashingu koduje swoją wiadomość i szyfruje ją za pomocą klucza prywatnego po czym przesyła dokument do odbiorcy. Odbiorca jest w stanie odszyfrować wiadomość kluczem publicznym nadawcy i uzyskać skrót przesłanego pliku w postaci zhashowanego kodu. Następnie  jest w stanie shashować pełną wersję dokumentu i porównać kod czy będzie taki sam jak ten, który otrzymał od nadawcy. Dzięki temu odbiorca może uwierzytelnić identyfikację nadawcy i ma pewność, że nic nie zostało naruszone podczas przesyłu.

Algorytm konsensusu

Jako że sieć nie posiada centralnego organu, który podejmowałby decyzję musi istnieć mechanizm, który skłoni jej uczestników do porozumienia. Sieci blockchainowe posiadają algorytmy konsensusu, które odpowiadają za sprawne jej działanie w tej kwestii.

Algorytm ten służy do tego, aby potwierdzić, że przeprowadzane transakcje są ważne i osoba wysyłająca składnik aktywów w sieci jest w rzeczywistości właścicielem tego zasobu. Uniemożliwia to również podwójne wydanie swoich środków przez użytkownika. Jest to ważne ponieważ zasoby cyfrowe są łatwe do "skopiowania" i mogłyby być wydawane kilkukrotnie, gdyby nie odpowiednie zabezpieczenia.

Jeśli chciałbyś poznać więcej szczegółów na temat działania technologii blockchain zachęcamy do lektury naszego wcześniejszego artykułu.

Powiązane

Połączenie IoT z blockchainem: korzyści i wyzwania

Inteligentne kontrakty na Bitcoinie - czy to możliwe?

» więcej artykułów