Łańcuch bloków (ang. blockchain) to sposób przechowywania uporządkowanej listy zapisów (bloków) w taki sposób, by po ich dodaniu były trudne do zmiany lub usunięcia. Koncepcja ta opiera się na technikach z kryptografii, w tym podpisów cyfrowych i funkcji haszu, które zapewniają integralność i niezmienność danych.
Jak to działa
W bardzo uproszczonym ujęciu łańcuch bloków łączy dwa główne elementy:
- Biorąc pod uwagę pewne dane, stosunkowo łatwo jest obliczyć sumę kontrolną na podstawie tych danych. Do tego celu stosuje się specjalne haszowe. Funkcje (funkcje skrótu), które zwracają wartość stałej długości niezależnie od długości wejścia. Wynik takiej funkcji nazywany jest skrótem, wartością hash lub message digest. Funkcje skrótu mają właściwość deterministyczności — dla tego samego wejścia zawsze dają to samo wyjście — oraz trudności w odtworzeniu oryginalnych danych na podstawie skrótu i dużej czułości na nawet niewielkie zmiany wejścia.
- Blok danych w łańcuchu zwykle zawiera: zbiór rekordów (np. transakcji), znaczek czasu i skrót poprzedniego bloku. Dodatkowo blok może być podpisany cyfrowo, co umożliwia wykrycie nieautoryzowanych zmian w jego zawartości. Umieszczenie skrótu poprzedniego bloku w nowym bloku tworzy powiązanie łańcuchowe — zmiana któregoś z wcześniejszych bloków zmienia jego skrót, co z kolei unieważnia wszystkie kolejne bloki, dopóki nie zostaną ponownie poprawnie przeliczone i podpisane.
Sieć i konsensus
W większości implementacji łańcuch bloków jest utrzymywany rozproszonymi węzłami w sieci peer-to-peer. Wszyscy uczestnicy stosują wspólny protokołu, określający reguły komunikacji, tworzenia i zatwierdzania nowych bloków. Mechanizmy konsensusu (np. proof-of-work, proof-of-stake i inne) decydują, które bloki zostaną przyjęte jako obowiązujące. Po zatwierdzeniu nowego bloku jego dane są praktycznie niezmienne — aby zmienić zapis, należałoby zmodyfikować dany blok i wszystkie kolejne oraz przekonać większość sieci, że zmiana jest poprawna, co w praktyce jest bardzo trudne i kosztowne.
Zabezpieczenia
Bezpieczeństwo blockchaina wynika z kombinacji kryptografii, wzajemnych powiązań bloków i mechanizmów konsensusu. Dzięki funkcjom skrótu i podpisom cyfrowym można wykryć manipulacje danymi. Dodatkowo decentralizacja i rozproszenie kopii księgi (ledger) utrudniają ataki typu „podmiana historii” — atakujący musiałby przejąć dużą część mocy obliczeniowej lub stake’u sieci.
Zastosowania
Technologię blockchain stosuje się wszędzie tam, gdzie istotne jest zachowanie wiarygodnego i trwałego zapisu. Przykłady zastosowań:
- systemy płatności i waluty cyfrowe (np. Bitcoin),
- rejestry i logi zdarzeń (np. dokumentacja medyczna),
- zarządzanie tożsamością i dostępami,
- śledzenie łańcucha dostaw i pochodzenia produktów (np. żywność),
- głosowanie elektroniczne (głosowanie) oraz inne systemy wymagające audytowalności i przejrzystości.
Historia
Podstawy idei łańcucha bloków zostały opisane już w 1991 roku przez Stuarta Habera i Scotta Stornettę jako metoda zapewnienia integralności cyfrowych zapisów. Haber i Stornetta stworzyli pierwszy komercyjny łańcuch bloków — projekt Surety uruchomiony w 1995 roku.
W 2008 roku osoba (lub grupa) ukrywająca się pod pseudonimem Satoshi Nakamoto opublikowała dokument Bitcoin: A Peer-to-Peer Electronic Cash System, w którym jako odniesienie cytowano prace Habera i Stornetty. W efekcie Bitcoin stał się pierwszym systemem, który rozwiązał problem podwójnego wydania środków w walucie cyfrowej bez potrzeby zaufanego pośrednika lub centralnego serwera. Projekt Bitcoin zainspirował rozwój wielu innych zastosowań i odmian technologii blockchain, zarówno publicznych, jak i prywatnych.
Wnioski
Blockchain to konstrukcja łącząca kryptografię i rozproszony konsensus, pozwalająca na tworzenie niezmiennych, audytowalnych rejestrów. Chociaż technologia ma duży potencjał i już znajduje praktyczne zastosowania, istotne wyzwania pozostają — m.in. skalowalność, zużycie energii w niektórych mechanizmach konsensusu oraz kwestie prywatności i regulacji prawnych.

