Żeby zrozumieć czym jest blockchain, należy zapoznać się z podstawami kryptografii. Kryptografia z greckiego to ukryte słowo. Jest to dziedzina wiedzy o przekazywaniu informacji w sposób chroniący przed niepowołanym dostępem. Blockchain to zbiór danych nazywanych blokami, w którym bloki są powiązane ze sobą z wykorzystaniem algorytmów kryptograficznych tj. algorytmów które zapewniają zabezpieczenie przed niepowołanym dostępem do tych danych. Każdy z bloków zawiera w sobie klucz kryptograficzny zwany hashem poprzedniego bloku, znacznik czasu oraz dane dotyczące transakcji. Dzięki takiemu podejściu do przechowywania danych, każdy blok może być przechowywyany niezależnie od innych, dlatego możemy zastosować rozproszoną bazę danych. Nie istnieje jedna scentralizowana baza danych, ani jeden serwer, który posiadałby wiedzę o wszystkich blokach. Dodatkowo głównym zabezpieczeniem w blockchainie jest brak możliwości zmiany jakiegokolwiek bloku w zbiorze danych. Obecnie jest to jeden z najbezpieczniejszych sposobów przechowywania danych w informatyce. Dzięki zastosowaniu blochchaina i sieci peer to peer oraz braku centralizacji danych wciąż nie istnieje instytucja, która mogłaby w pełni kontrolować i monitorować wszystkie transakcje w ramach sieci powstałych z wykorzystaniem podejścia blockchainowego.
Z czego składa się blockchain?
Każdy blok w całym łańcuchu składa się z danych (przykładowo blockchain bitcoinowy składa się z danych stanowiących odbiorcę, nadawcę oraz wartość przesyłanej kwoty), a także: z hashu tego bloku oraz hashu poprzedniego bloku. Właśnie za pomocą tych hashów poszczególne bloki mówiąc obrazowo łączą się ze sobą, stąd nazwa łańcuch bloków. Hash jest wynikiem funkcji hashującej gdzie do niniejszej funkcji przyjmuje się pewien obiekt. Wynikiem szyfrowania tego obiektu jest właśnie hash. Przykładowo- chcemy zaszyfrować Twoją datę urodzenia- 31 grudnia 1990 r., wynikiem funkcji haszującej będzie 0211, co tworzy wcześniej wspomniany hash. Cechą funkcji hashującej jest stały i unikalny wynik tzw. hash dla jednego i tego samego obiektu.
Czym jest hash?
Hash to niepowtarzalny identyfikator danego bloku. Coś na kształt linii papilarnych każdego człowieka. Właśnie dlatego, iż każdy blok posiada nie tylko swój unikalny hash, ale także hash poprzedniego bloku, nie sposób wykraść danych w poszczególnych blokach. Gdy tylko ktoś podejmie próbę zmiany hashu danego bloku przykładowo- piątego z kolei, oznacza to, iż szósty i pozostałe bloki nie zostaną potwierdzone przez urządzenia sieci odbiorców tych informacji, ponieważ hash poprzedniego bloku nie będzie się zgadzać z poprzednim hashem. Bloki te (od szóstego) staną się nieważne.
Sieć peer to peer i szyfrowanie wiadomości.
W bazie danych blockchain mogą uczestniczyć dwa rodzaje grup podmiotów. Jedna z grup to nadawca i odbiorca danej wiadomości np. osoba dokonująca transferu środków pieniężnych oraz osoba przyjmująca przelew środków. Drugą grupę stanowią pozostałe osoby, które uczestniczą w sieci peer to peer. Sieć peer to peer stanowi, iż urządzenie A ma dostęp do urządzenia B na takich samych uprawnieniach, jak B do A (nie ma w tym przypadku uprawnień władczych). Nie występuje serwer, który posiadałby większe uprawnienia aniżeli pozostałe urządzenia znajdujące się w tej sieci. Sieć ta nie jest siecią publiczną, dlatego jest ona o wiele bardziej bezpieczna niż Internet. Aby uzyskać dostęp do sieci peer to peer, należy uzyskać odpowiednie uprawnienia, w przeciwieństwie do Internetu, z którego możemy korzystać dobrowolnie kiedy tego chcemy. Rejestr blockchaina jest publiczny. Należy rozumieć to w ten sposób, iż każdy kto ma dostęp do danej sieci peer to peer, posiada również dostęp do tych samych zasobów tj. do zaszyfrowanej wiadomości, ale zaszyfrowanej wiadomości nie może rozszyfrować, ponieważ osoba nieuprawniona nie posiada do tego specjalnego klucza. Aby zaszyfrować wiadomość pomiędzy A i B, A wysyła B swój klucz publiczny. B szyfruje wiadomość kluczem publicznym A, następnie wysyła ją do A. A rozszyfrowuje ją swoim kluczem prywatnym. Pozostali uczestnicy sieci peer to peer widzą zaszyfrowaną wiadomość, widzą, iż transfer został dokonany pomiędzy A i B, natomiast nie są w stanie rozszyfrować wiadomości ani zidentyfikować personalnie A i B. Wszystkie te operacje są oznakowane czasem ich wykonania, co dodatkowo zapewnia ochronę bezpieczeństwa.
Autor: Maciej Grzegorczyk