Jak Działa Blockchain?
Jak Działa Blockchain?
Strona GłównaArtykuły
Jak Działa Blockchain?

Jak Działa Blockchain?

Średnio zaawansowany
Published Dec 9, 2018Updated May 21, 2022
5m

Czym jest blockchain?

Krótko mówiąc, blockchain to lista zapisów danych, która działa jako zdecentralizowana księga cyfrowa. Dane są organizowane w bloki, które są uporządkowane chronologicznie i zabezpieczone za pomocą kryptografii
Najwcześniejszy model blockchainu powstał na początku lat 90. XX wieku, kiedy informatyk Stuart Haber i fizyk W. Scott Stornetta zastosowali techniki kryptograficzne w łańcuchu bloków jako sposób na zabezpieczenie dokumentów cyfrowych przed manipulacją danymi. 
Praca Habera i Stornetty z pewnością zainspirowała pracę wielu innych informatyków i entuzjastów kryptografii - co ostatecznie doprowadziło do powstania Bitcoina, jako pierwszego zdecentralizowanego systemu gotówki elektronicznej (lub po prostu pierwszej kryptowaluty).

Chociaż technologia blockchain jest starsza niż kryptowaluty, dopiero po powstaniu Bitcoina w 2008 zaczęto dostrzegać jej potencjał. Od tego czasu zainteresowanie technologią blockchain stopniowo rośnie, a kryptowaluty są obecnie uznawane na szerszą skalę.

Technologia blockchain jest wykorzystywana głównie do rejestrowania transakcji kryptowalutowych, ale pasuje do wielu innych rodzajów danych cyfrowych i może być stosowana w wielu różnych przypadkach. Najstarszą, najbezpieczniejszą i największą siecią blockchain jest sieć Bitcoin, która została zaprojektowana dzięki starannemu i wyważonemu połączeniu kryptografii i teorii gier.


Jak działa blockchain?

W kontekście kryptowalut blockchain składa się ze stabilnego łańcucha bloków, z których każdy przechowuje listę wcześniej potwierdzonych transakcji. Ponieważ sieć blockchain jest obsługiwana przez niezliczoną liczbę komputerów rozsianych po całym świecie, funkcjonuje ona jako zdecentralizowana baza danych (lub księga). Oznacza to, że każdy uczestnik (węzeł) utrzymuje kopię danych blockchaina i komunikuje się między sobą, aby zapewnić, że wszyscy są na tej samej stronie (lub w tym samym bloku).
Dlatego transakcje na blockchainie odbywają się w globalnej sieci peer-to-peer i to właśnie czyni Bitcoina zdecentralizowaną walutą cyfrową, która nie zna granic i jest odporna na cenzurę. Ponadto większość systemów blockchain uważa się za niewymagające zaufania, ponieważ nie przewidują one powierzenia żadnego rodzaju zaufania. Bitcoin nie jest kontrolowany przez jeden organ.
Centralną częścią niemal każdego blockchaina jest proces wydobywania, który opiera się na algorytmach hashujących. Bitcoin wykorzystuje algorytm SHA-256 (Bezpieczny algorytm haszujący 256 bitów). Pobiera dane wejściowe o dowolnej długości i generuje dane wyjściowe, które zawsze będą miały tę samą długość. Uzyskany wynik nazywany jest "hashem" i w tym przypadku składa się zawsze z 64 znaków (256 bitów).

Zatem to samo wejście da taki sam wynik, niezależnie od tego, ile razy proces zostanie powtórzony. Jeśli jednak na wejściu zostanie wprowadzona niewielka zmiana, wyjście zmieni się całkowicie. Funkcje hashujące są deterministyczne, a w świecie kryptowalut większość z nich jest zaprojektowana jako jednokierunkowe funkcje hashujące.

To, że jest to funkcja jednokierunkowa, oznacza, że prawie niemożliwe jest obliczenie, co było na wejściu, a co na wyjściu. Można się tylko domyślać, jakie były dane wejściowe, ale prawdopodobieństwo, że nasza predykcja okazałaby się prawdziwa, jest bardzo małe. Jest to jeden z powodów, dla których blockchain Bitcoina jest bezpieczny.

Teraz gdy wiemy już, co robi algorytm, zademonstrujmy działanie blockchainu na prostym przykładzie transakcji.

Wyobraźmy sobie, że mamy Alice i Boba wraz z ich saldem Bitcoin. Załóżmy, że Alice jest winna Bobowi 2 Bitcoiny.

Aby Alice mogła wysłać Bobowi te 2 bitcoiny, Alicja nadaje wiadomość z transakcją, której chce dokonać, do wszystkich górników w sieci.
W tej transakcji Alicja podaje górnikom adres Boba i liczbę Bitcoinów, które chciałaby wysłać, wraz z podpisem cyfrowym i swoim kluczem publicznym. Podpis jest składany przy użyciu klucza prywatnego Alice, a górnicy mogą potwierdzić, że Alice faktycznie jest właścicielkom tych monet.

Gdy górnicy są pewni, że transakcja jest ważna, mogą umieścić ją w bloku wraz z wieloma innymi transakcjami i podjąć próbę wydobycia bloku. Odbywa się to poprzez przepuszczenie bloku przez algorytm SHA-256. Aby dane wyjściowe mogły zostać uznane za ważne, muszą zaczynać się od pewnej liczby zer. Ilość potrzebnych 0 zależy od tak zwanej "trudności", która zmienia się w zależności od tego, jak duża jest moc obliczeniowa sieci.

Aby uzyskać wyjściowy hash z pożądaną liczbą zer na początku, górnicy dodają do bloku tak zwany „nonce” przed przepuszczeniem go przez algorytm. Ponieważ niewielka zmiana danych wejściowych całkowicie zmienia dane wyjściowe, górnicy próbują losowych nonce, aż znajdą poprawny hash wyjściowy.

Po wydobyciu bloku górnik rozsyła ten nowo wydobyty blok do wszystkich pozostałych górników. Następnie sprawdzają, czy blok jest ważny, dzięki czemu mogą go dodać do swojej kopii blockchaina, co kończy transakcje. W bloku górnicy muszą jednak zawrzeć również wyjściowy skrót z poprzedniego bloku, tak aby wszystkie bloki były ze sobą powiązane, stąd nazwa blockchain. Jest to ważny element ze względu na sposób funkcjonowania zaufania w systemie.

Każdy górnik ma na swoim komputerze własną kopię blockchaina i wszyscy ufają temu blockchainowi, w który włożono najwięcej pracy obliczeniowej - najdłuższemu blockchainowi. Jeśli górnik zmieni transakcję w poprzednim bloku, wyjściowy hash tego bloku ulegnie zmianie, co spowoduje, że wszystkie następne hashe również się zmienią, ponieważ bloki są powiązane z hashami. Górnik musiałby powtórzyć całą pracę, aby ktokolwiek zaakceptował jego blockchain jako właściwy. Jeśli więc górnik chciałby oszukiwać, potrzebowałby ponad 50% mocy obliczeniowej sieci, co jest bardzo mało prawdopodobne. Tego typu ataki sieciowe są nazywane atakami 51%.
Model polegający na zmuszaniu komputerów do pracy w celu wytworzenia bloków nosi nazwę Proof-of-Work (PoW). Istnieją również inne modele, takie jak Proof-of-Stake (PoS), które nie wymagają tak dużej mocy obliczeniowej i mają zużywać mniej energii elektrycznej, a jednocześnie mogą być stosowane przez większą liczbę użytkowników.