1. Co decyduje o tym, że baza danych jest rozproszona?
O tym, że baza jest „rozproszona”, decyduje przede wszystkim jej architektura, czyli sposób przechowywania i aktualizowania danych. W tradycyjnej, scentralizowanej bazie danych istnieje jedno główne miejsce (serwer) przechowywania informacji, natomiast w bazie rozproszonej:
1.1. Wiele węzłów (komputerów) przechowuje kopie danych
Każdy węzeł ma własną, aktualną wersję bazy, dzięki czemu nie ma jednego „punktu awarii”.
1.2. Aktualizacje wymagają mechanizmu konsensusu
Aby zmienić cokolwiek w bazie, trzeba uzyskać zgodę (konsensus) wystarczającej liczby węzłów w sieci. Zapobiega to manipulacjom w jednym miejscu.
1.3. Brak centralnego kontrolera
Nie istnieje pojedynczy podmiot zarządzający i nadzorujący całą bazę. Zamiast tego uczestnicy sieci wspólnie weryfikują i potwierdzają zmiany.
1.4. Każdy węzeł jest równorzędny
W modelu rozproszonym nie ma „ważniejszego” serwera głównego – każdy węzeł pełni podobną rolę w utrzymywaniu i weryfikowaniu danych.
Te cechy sprawiają, że baza danych jest uważana za rozproszoną: dane nie są skumulowane w jednym miejscu, a decyzje o ich modyfikacjach i dodawaniu nowych wpisów podejmuje cała sieć w oparciu o ustalone reguły.
2. Bloki i transakcje w rozproszonej bazie danych
Blockchain to rodzaj rozproszonej bazy danych (zwanej też rozproszoną księgą rachunkową – distributed ledger), w której dane przechowywane są w postaci łańcucha bloków (stąd nazwa „blockchain”). Kopie tego łańcucha składowane są na wielu serwerach w sieci Bloki są podstawowymi komponentami blockchaina. Transakcje składane są w bloki. Każdy blok zawiera zestaw transakcji i jest połączony z poprzednim blokiem, tworząc bezpieczny łańcuch. To chronologiczne uporządkowanie pomaga w utrzymaniu kompletnej historii wszystkich transakcji, która jest niezmienna – gdy transakcja zostanie zapisana w blockchainie, nie może być zmieniona. To są podstawowe różnice pomiędzy rozproszoną bazą blockchain, a relacyjną bazą danych.
Istotę tej technologii można sprowadzić do kilku kluczowych elementów:
2.1. Decentralizacja
Brak jednego centralnego serwera czy instytucji kontrolującej całość. Dane są duplikowane pomiędzy wieloma węzłami (komputerami) w sieci, dzięki czemu nawet wyłączenie części węzłów nie powoduje przerwy w działaniu systemu ani utraty danych.
2.2. Nieodwracalność i odporność na manipulacje
Każdy blok w łańcuchu zawiera skrót (hash) poprzedniego bloku. Próba zmiany treści w jednym bloku powoduje niezgodność skrótów w kolejnych blokach, co jest natychmiast wykrywane przez sieć. Sprawia to, że raz zapisane dane są praktycznie niemożliwe do zmodyfikowania bez wiedzy i zgody reszty uczestników sieci.
2.3. Konsensus sieci
Sieć ustala wspólną wersję prawdy o stanie łańcucha bloków, korzystając z określonego protokołu konsensusu (np. Proof of Work, Proof of Stake, czy inne mechanizmy). Mechanizm konsensusu sprawia, że wszystkie węzły – niezależnie od siebie – uzgadniają, który blok jest poprawny i powinien zostać dołączony do łańcucha.
2.4. Przejrzystość (jawność zapisu)
Wiele implementacji blockchain (np. Bitcoin) charakteryzuje się publicznym dostępem do historii transakcji. Każdy może prześledzić historię zapisów w łańcuchu, choć uczestnicy mogą występować pod pseudonimami (identyfikatorami portfeli).
2.5. Automatyzacja i „smart kontrakty”
Technologia blockchain może umożliwiać uruchamianie specjalnych programów – tzw. inteligentnych kontraktów (smart contracts). Kontrakty te automatycznie wykonują się, gdy zajdą określone w nich warunki (np. przekazanie środków po spełnieniu warunków transakcji).
3. Rozproszona baza danych w praktyce
W praktyce, rozproszona natura blockchainu oraz sposób powiązania bloków za pomocą kryptograficznych skrótów zapewniają bezpieczeństwo i odporność na fałszerstwa. Dzięki temu technologia blockchain zyskała zastosowania w wielu obszarach, takich jak kryptowaluty, logistyka, zarządzanie łańcuchem dostaw, rejestry publiczne czy certyfikacja danych.
Kiedy myślimy o technologii blockchain, możemy wyobrażać ją sobie po prostu jako listę transakcji. W rzeczywistości jest to znacznie więcej. Blockchain to rozproszona baza danych, która rejestruje wszystkie transakcje w wielu kopiach na wielu serwerach w sieci. To zdecentralizowane podejście oznacza, że żaden pojedynczy podmiot nie ma kontroli nad całą bazą danych. Można o tym myśleć jako o rozproszonej bazie danych blockchain, gdzie każdy uczestnik ma dostęp do tych samych informacji, zapewniając tym samym integralność i spójność.
