Blockchain stał się jednym z najważniejszych pojęć związanych z kryptowalutami. To właśnie na technologii łańcucha bloków opiera się Bitcoin, Ethereum oraz wiele innych sieci cyfrowych aktywów. Sam blockchain ma jednak znacznie szersze zastosowanie. Może służyć do zapisywania informacji, potwierdzania własności, realizowania płatności czy automatycznego wykonywania określonych operacji.
Choć od strony technicznej blockchain może być bardzo rozbudowany, jego podstawową zasadę można wyjaśnić stosunkowo prosto. Zamiast przechowywać wszystkie informacje w jednej centralnej bazie zarządzanej przez konkretną firmę lub instytucję, dane mogą być zapisywane w kolejnych blokach i udostępniane wielu uczestnikom tej samej sieci.
Jak dokładnie działa ten mechanizm? Dlaczego raz zapisane informacje trudno później zmienić? I co wspólnego mają z tym kryptografia, węzły oraz mechanizmy konsensusu?
Czym jest blockchain?
Blockchain, czyli dosłownie łańcuch bloków, jest rodzajem cyfrowego rejestru służącego do zapisywania informacji w uporządkowanej kolejności.
Dane są grupowane w bloki. Gdy jeden blok zostanie utworzony i zaakceptowany przez sieć, dołączany jest do bloków zapisanych wcześniej. W ten sposób z czasem powstaje coraz dłuższa historia operacji.
Można porównać to do księgi, w której kolejne strony są dopisywane jedna po drugiej. Każda nowa strona jest powiązana z wcześniejszą, dzięki czemu można sprawdzić kolejność zapisanych zdarzeń.
Istotna różnica polega na tym, że w wielu blockchainach kopia takiego rejestru nie znajduje się wyłącznie na jednym serwerze. Może być przechowywana przez wiele komputerów uczestniczących w sieci.
Blockchain a tradycyjna baza danych
Najłatwiej zrozumieć specyfikę blockchaina, porównując go z tradycyjną bazą danych.
W klasycznym systemie informacje są zazwyczaj zarządzane przez jednego administratora, którym może być bank, przedsiębiorstwo, urząd lub operator platformy. Taki podmiot ustala zasady dostępu do danych i może wprowadzać w nich zmiany.
W blockchainie rejestr może być natomiast współdzielony przez wielu niezależnych uczestników, a dodawanie nowych informacji odbywa się zgodnie z zasadami obowiązującymi w całej sieci. Ogranicza to możliwość jednostronnego zmieniania zapisanej historii.
Nie oznacza to jednak, że blockchain zawsze jest lepszym rozwiązaniem. Tradycyjne bazy danych często są prostsze, szybsze, tańsze w utrzymaniu i łatwiejsze do zarządzania. Blockchain sprawdza się przede wszystkim wtedy, gdy kilka niezależnych stron potrzebuje wspólnego rejestru i nie chce przekazywać pełnej kontroli nad nim jednemu podmiotowi.
Jak powstaje nowy zapis w blockchainie?
Dokładny proces zależy od konkretnej sieci, jednak ogólny schemat jest podobny.
Wyobraźmy sobie użytkownika, który chce przesłać kryptowalutę na inny adres.
Najpierw przygotowuje operację i zatwierdza ją przy pomocy swojego portfela. Informacja zostaje następnie przekazana do sieci.
Kolejne etapy mogą wyglądać następująco:
- Użytkownik inicjuje operację
- Informacja zostaje przesłana do sieci blockchain
- Uczestnicy sieci sprawdzają jej zgodność z obowiązującymi zasadami
- Poprawne operacje są grupowane razem
- Powstaje nowy blok danych
- Blok zostaje połączony z dotychczasową historią
- Aktualny stan rejestru zostaje udostępniony uczestnikom sieci
Dzięki temu nie trzeba polegać wyłącznie na jednej centralnej bazie, która informuje wszystkich pozostałych użytkowników, jaki jest aktualny stan systemu.
Co znajduje się w bloku?
Blok można określić jako uporządkowany zestaw danych zapisanych zgodnie z zasadami konkretnego blockchaina.
W sieci kryptowalutowej może zawierać między innymi informacje o przeprowadzonych transakcjach oraz dane techniczne potrzebne do działania systemu.
Poszczególne blockchainy mogą znacznie różnić się sposobem tworzenia bloków, ich rozmiarem czy rodzajem przechowywanych informacji.
Najważniejsze jest jednak ich wzajemne powiązanie.
Powiązanie kolejnych bloków
Nowy blok zawiera informację pozwalającą odwołać się do bloku poprzedniego. Dzięki temu elementy rejestru układają się w chronologiczny łańcuch.
Gdyby ktoś próbował zmienić dane znajdujące się w jednym ze starszych bloków, zmieniłoby się również jego powiązanie z dalszą częścią historii.
Właśnie dlatego ingerowanie w dawne zapisy dobrze zabezpieczonego i rozbudowanego blockchaina jest bardzo trudne.
Czym jest hash?
Jednym z najważniejszych elementów technologii blockchain jest hash, czyli skrót kryptograficzny.
Jest to ciąg znaków wygenerowany na podstawie określonych danych. Można traktować go jak cyfrowy odcisk palca informacji.
Jeżeli zmieni się nawet niewielki fragment danych, powstanie inny hash. Pozwala to wykrywać próby modyfikowania zapisanej zawartości.
Hash nie jest jednak tym samym co szyfrowanie.
Szyfrowanie służy przede wszystkim do ukrywania informacji przed osobami, które nie posiadają odpowiedniego klucza. Skrót kryptograficzny jest natomiast wykorzystywany do sprawdzania integralności danych.
Dlaczego węzły są ważne dla blockchaina?
Blockchain nie funkcjonowałby bez urządzeń komunikujących się ze sobą w ramach jednej sieci. Nazywane są one węzłami, czyli nodes.
Węzły mogą:
- przekazywać informacje o nowych operacjach
- sprawdzać ich poprawność
- przechowywać dane dotyczące blockchaina
- udostępniać informacje innym uczestnikom
Nie wszystkie węzły muszą pełnić dokładnie tę samą funkcję. Niektóre przechowują pełną historię blockchaina, natomiast inne korzystają z mniejszej części danych.
Rozproszenie informacji pomiędzy wiele urządzeń może zwiększać odporność systemu na awarie. Problem z jednym komputerem nie musi oznaczać utraty całej historii, jeżeli jej kopie znajdują się również u pozostałych uczestników.
Na czym polega decentralizacja?
W tradycyjnym systemie istnieje zazwyczaj jeden administrator lub podmiot odpowiedzialny za bazę danych.
Zdecentralizowany blockchain ogranicza znaczenie takiego pojedynczego punktu kontroli. Kopie rejestru mogą być przechowywane przez wielu niezależnych uczestników, a zasady jego aktualizowania wynikają z działania całej sieci.
Decentralizacja może zwiększać:
- odporność na awarie
- możliwość niezależnej weryfikacji danych
- odporność na jednostronną manipulację
- niezależność od jednego operatora
Nie należy jednak zakładać, że każdy blockchain jest równie zdecentralizowany.
Poziom decentralizacji zależy między innymi od liczby uczestników sieci, sposobu zatwierdzania operacji oraz tego, jak rozłożona jest kontrola nad systemem.
Jak blockchain ustala, które dane są prawidłowe?
Jeżeli w sieci działa wielu niezależnych uczestników, potrzebny jest sposób ustalenia, którą wersję informacji należy uznać za poprawną.
Do tego służy mechanizm konsensusu.
Można opisać go jako zestaw reguł pozwalających uczestnikom osiągnąć porozumienie dotyczące aktualnego stanu blockchaina.
Do najbardziej znanych rozwiązań należą:
Proof of Work
Mechanizm wykorzystujący pracę obliczeniową wykonywaną przez górników. Jest między innymi wykorzystywany w sieci Bitcoin.
Proof of Stake
Model, w którym możliwość uczestniczenia w procesie zatwierdzania operacji wiąże się z posiadaniem i zablokowaniem odpowiednich aktywów.
Mechanizmy sieci prywatnych
W zamkniętych blockchainach możliwość zatwierdzania danych może zostać przyznana jedynie określonym i wcześniej zaakceptowanym uczestnikom.
Mechanizmy konsensusu różnią się pod względem szybkości działania, kosztów, zużycia energii oraz poziomu decentralizacji.
Dlaczego blockchain jest podstawą kryptowalut?
W przypadku kryptowalut blockchain pełni funkcję rejestru pozwalającego określić stan cyfrowych aktywów oraz historię wykonanych operacji.
Sieć może dzięki temu zweryfikować między innymi, czy użytkownik posiada środki, którymi chce dysponować, oraz czy nie próbuje wykorzystać tych samych aktywów więcej niż jeden raz.
Warto przy tym pamiętać, że kryptowaluta nie znajduje się w portfelu w taki sposób, jak zdjęcie lub dokument znajduje się w pamięci telefonu.
Blockchain zawiera informacje umożliwiające określenie, jakie aktywa są przypisane do poszczególnych adresów.
Dostęp do nich kontrolują klucze kryptograficzne.
Adres publiczny może służyć do otrzymywania środków.
Klucz prywatny pozwala zatwierdzać operacje i powinien pozostawać znany wyłącznie właścicielowi.
Blockchain publiczny, prywatny i konsorcjalny
Nie wszystkie sieci działają według identycznych zasad. Jedną z ważniejszych różnic jest sposób dostępu do systemu.
Blockchain publiczny
Sieć publiczna jest otwarta dla szerokiego grona użytkowników. W zależności od jej konstrukcji można przeglądać historię operacji, korzystać z aplikacji lub uruchomić własny węzeł.
Przykładami publicznych blockchainów są Bitcoin i Ethereum.
Ich ważnymi cechami są przejrzystość oraz ograniczenie kontroli jednego podmiotu.
Blockchain prywatny
W prywatnej sieci dostęp może być kontrolowany przez przedsiębiorstwo lub określoną organizację.
Nie każdy użytkownik musi mieć możliwość przeglądania wszystkich danych czy zatwierdzania nowych operacji.
Takie rozwiązanie może być wykorzystywane tam, gdzie potrzebny jest współdzielony rejestr, ale jednocześnie konieczne jest zachowanie kontroli nad uprawnieniami.
Blockchain konsorcjalny
Rozwiązaniem pośrednim jest blockchain zarządzany wspólnie przez kilka podmiotów.
Zamiast przekazywać pełną kontrolę jednej organizacji, uczestniczące przedsiębiorstwa lub instytucje mogą wspólnie odpowiadać za działanie systemu.
Dlaczego trudno zmienić wcześniejsze dane?
Blockchain często przedstawiany jest jako technologia zapewniająca niezmienność danych. W praktyce lepiej mówić o bardzo wysokiej odporności na późniejsze modyfikacje.
Składa się na to kilka elementów:
- kryptograficzne powiązania pomiędzy blokami
- przechowywanie informacji na wielu urządzeniach
- mechanizmy konsensusu
- weryfikacja nowych operacji
- podpisy cyfrowe
W publicznych i odpowiednio rozproszonych sieciach manipulowanie starszą historią staje się coraz trudniejsze wraz z pojawianiem się kolejnych bloków.
Nie oznacza to jednak absolutnej niezmienności w każdej możliwej sytuacji. Blockchain może podlegać aktualizacjom protokołu, reorganizacjom czy podziałom sieci.
Czy blockchain jest całkowicie bezpieczny?
Sam sposób przechowywania i łączenia danych może zapewniać wysoki poziom ochrony, ale blockchain nie eliminuje wszystkich zagrożeń.
Problemy mogą pojawić się między innymi w:
- aplikacjach korzystających z blockchaina
- portfelach kryptowalutowych
- inteligentnych kontraktach
- sposobie przechowywania kluczy prywatnych
Bezpieczeństwo zależy również od konstrukcji konkretnej sieci oraz liczby niezależnych uczestników odpowiedzialnych za jej funkcjonowanie.
Dlatego określenie „oparte na blockchainie” samo w sobie nie oznacza, że dana aplikacja lub usługa jest całkowicie odporna na błędy.
Czym są smart contracts?
Smart contract, czyli inteligentny kontrakt, jest programem działającym w blockchainie.
Może automatycznie wykonywać określone instrukcje po spełnieniu zapisanych wcześniej warunków.
Smart contract może na przykład:
- przesyłać cyfrowe aktywa
- wymieniać tokeny
- rozdzielać środki pomiędzy kilka adresów
- obsługiwać określone elementy pożyczki
- rejestrować wynik głosowania
- zarządzać cyfrową własnością
Nazwa może być nieco myląca, ponieważ smart contract nie musi być umową w znaczeniu prawnym. W praktyce jest przede wszystkim programem komputerowym działającym według wcześniej określonych zasad.
Automatyzacja jest jego dużą zaletą, ale błąd w kodzie może prowadzić do poważnych konsekwencji. Dlatego bardziej złożone rozwiązania wymagają dokładnego testowania.
Gdzie blockchain znajduje zastosowanie poza kryptowalutami?
Bitcoin sprawił, że blockchain stał się szeroko rozpoznawalny, ale cyfrowe pieniądze nie są jego jedynym możliwym zastosowaniem.
Łańcuchy dostaw
Wspólny rejestr może być używany do zapisywania kolejnych etapów produkcji i transportu. Ułatwia to późniejsze sprawdzanie historii oraz pochodzenia produktu.
Potwierdzanie własności
W blockchainie można rejestrować informacje o prawach dotyczących cyfrowych lub fizycznych aktywów.
Dokumenty i certyfikaty
W sieci może zostać zapisany skrót dokumentu, który później posłuży do zweryfikowania jego autentyczności bez konieczności publikowania całej zawartości.
Zdecentralizowane finanse
Aplikacje DeFi wykorzystują smart contracts do realizowania operacji takich jak wymiana cyfrowych aktywów, pożyczki czy naliczanie odsetek.
Głosowania i zarządzanie
Blockchain może być używany do rejestrowania głosów oraz wyników decyzji podejmowanych przez uczestników określonych organizacji.
Transfer cyfrowych aktywów
Niektóre sieci pozwalają przesyłać aktywa pomiędzy użytkownikami znajdującymi się w różnych częściach świata. Koszt i czas operacji zależą jednak od konkretnego blockchaina.
Czy korzystanie z blockchaina jest anonimowe?
Publiczny blockchain nie musi oznaczać anonimowości.
W wielu sieciach każdy może sprawdzić historię operacji przypisaną do danego adresu. Sam adres zazwyczaj nie zawiera bezpośrednio imienia i nazwiska właściciela, ale w określonych sytuacjach możliwe jest powiązanie go z konkretną osobą przy wykorzystaniu dodatkowych informacji.
Dlatego w przypadku wielu publicznych blockchainów bardziej precyzyjnym określeniem jest pseudonimowość, a nie pełna anonimowość.
Najważniejsze zalety blockchaina
W zależności od sposobu zaprojektowania sieci technologia blockchain może zapewniać między innymi:
- ograniczenie zależności od centralnego administratora
- możliwość weryfikowania historii operacji
- przejrzystość danych w sieciach publicznych
- odporność na awarię pojedynczego serwera
- automatyzację procesów dzięki inteligentnym kontraktom
- współdzielenie rejestru przez niezależnych uczestników
- możliwość globalnego dostępu do sieci
Nie każda z tych zalet występuje jednak w takim samym stopniu w każdym blockchainie.
Czy blockchain zawsze jest najlepszym rozwiązaniem?
Nie.
Jeżeli system jest obsługiwany przez jedną zaufaną organizację, która potrzebuje po prostu wydajnej i łatwej w zarządzaniu bazy danych, zastosowanie blockchaina może nie dawać dużych korzyści.
Technologia łańcucha bloków jest najbardziej interesująca tam, gdzie uczestnicy potrzebują wspólnego źródła danych, chcą móc niezależnie sprawdzać historię operacji i jednocześnie nie chcą przekazywać pełnej kontroli nad rejestrem jednemu administratorowi.
Dlatego przed zastosowaniem blockchaina warto najpierw odpowiedzieć na pytanie, jaki problem ma on właściwie rozwiązać.
Podsumowanie
Blockchain to technologia umożliwiająca tworzenie współdzielonego rejestru informacji składającego się z powiązanych ze sobą bloków. Jego działanie wykorzystuje między innymi kryptografię, sieć węzłów oraz mechanizmy konsensusu pozwalające uczestnikom ustalić prawidłowy stan danych.
Łańcuch bloków jest podstawą działania wielu kryptowalut, ale jego zastosowanie może obejmować również smart contracts, systemy płatnicze, cyfrową własność, dokumenty, łańcuchy dostaw czy zdecentralizowane aplikacje finansowe.
Największą wartością blockchaina nie jest samo przechowywanie danych. Kluczowa jest możliwość stworzenia rejestru, którego historia może być niezależnie weryfikowana przez wielu uczestników i którego nie można łatwo zmienić decyzją jednego administratora.
Jednocześnie blockchain nie jest rozwiązaniem idealnym dla każdego systemu. Nie usuwa wszystkich zagrożeń, nie gwarantuje pełnej anonimowości i nie zawsze będzie lepszy od tradycyjnej bazy danych. Jego zastosowanie ma największy sens tam, gdzie rozproszenie kontroli, transparentność i możliwość weryfikacji historii rzeczywiście mają znaczenie.
Najczęściej zadawane pytania
Blockchain to cyfrowy rejestr, w którym informacje są zapisywane w kolejnych blokach połączonych ze sobą w uporządkowany łańcuch. W wielu sieciach kopie rejestru są przechowywane przez wielu niezależnych uczestników.
Użytkownik inicjuje operację, która trafia do sieci. Następnie jej poprawność jest sprawdzana zgodnie z zasadami danego blockchaina. Zatwierdzone operacje mogą zostać umieszczone w nowym bloku, który następnie dołączany jest do wcześniejszej historii.
Kolejne bloki są ze sobą powiązane za pomocą mechanizmów kryptograficznych. Zmiana informacji w starszym bloku wpływałaby na jego powiązanie z dalszą częścią łańcucha. W rozbudowanych i zdecentralizowanych sieciach dodatkową ochronę zapewniają mechanizmy konsensusu oraz wiele kopii rejestru.
Tradycyjna baza danych jest zazwyczaj kontrolowana przez jednego administratora. W blockchainie rejestr może być współdzielony przez wielu uczestników, a możliwość dodawania i zatwierdzania informacji zależy od zasad obowiązujących w danej sieci.
Kryptowaluty wykorzystują blockchain do zapisywania informacji o transakcjach oraz stanie cyfrowych aktywów. Dzięki temu sieć może sprawdzić, czy użytkownik posiada odpowiednie środki i czy dana operacja jest zgodna z jej zasadami.
Nie. Istnieją blockchainy publiczne, prywatne oraz konsorcjalne. Poziom decentralizacji zależy między innymi od liczby uczestników, sposobu zatwierdzania operacji oraz tego, kto posiada kontrolę nad siecią.
Nie zawsze. W wielu publicznych blockchainach historia operacji przypisana do określonego adresu jest widoczna publicznie. Sam adres nie musi zawierać danych osobowych, dlatego w przypadku takich sieci częściej mówi się o pseudonimowości niż pełnej anonimowości.
Blockchain może być wykorzystywany między innymi do obsługi inteligentnych kontraktów, śledzenia łańcuchów dostaw, potwierdzania własności, weryfikowania dokumentów i certyfikatów, zdecentralizowanych finansów oraz rejestrowania głosowań.
