Co to jest blockchain?
Krótko mówiąc, blockchain jest odpowiednikiem zdecentralizowanej księgi cyfrowej, która rejestruje serię danych. Dane te są zorganizowane w bloki, chronione kryptografią i ułożone w porządku chronologicznym.
Pierwsze modele blockchaina powstały na początku lat 90-tych. W tamtym czasie informatyk Stuart Haber i fizyk W. Scott Stornetta stosowali technologię szyfrowania, aby chronić dane przed manipulacją.
To osiągnięcie Habera i Stornetta zainspirowało wielu informatyków i entuzjastów kryptografii do badania blockchain, co przyczyniło się również do narodzin Bitcoina, pierwszego na świecie zdecentralizowanego elektronicznego systemu gotówkowego (pierwszej kryptowaluty).
Chociaż technologia blockchain wyprzedziła kryptowaluty, dopiero w 2008 roku, kiedy narodził się Bitcoin, ten pierwszy stopniowo zyskał uznanie. Od tego czasu wzrosło zainteresowanie opinii publicznej technologią blockchain, a kryptowaluty zaczęły zyskiwać na popularności.
Technologia Blockchain jest wykorzystywana głównie do rejestrowania transakcji kryptowalutowych, ale może również rejestrować różnorodne dane cyfrowe i może być stosowana również w innych dziedzinach. Najstarszą, najbezpieczniejszą i największą siecią blockchain jest Bitcoin, który został starannie zaprojektowany, aby w zrównoważony sposób łączyć kryptografię i teorię gier.
Jak działa blockchain?
W świecie kryptowalut możemy myśleć o blockchainie jako o łańcuchu stabilnych bloków, z których każdy przechowuje sekwencję wcześniej potwierdzonych danych transakcyjnych. Sieć blockchain jest obsługiwana wspólnie przez niezliczoną liczbę komputerów, więc jej główną funkcją jest działanie jako zdecentralizowana baza danych (lub księga). Innymi słowy, wszyscy uczestnicy (tj. węzły) w łańcuchu bloków przechowują kopię danych łańcucha bloków i utrzymują dobrą komunikację między sobą, aby mieć pewność, że wszyscy są zawsze na tej samej stronie (lub bloku).
W rezultacie transakcje blockchain odbywają się w globalnej sieci peer-to-peer, promując Bitcoin jako zdecentralizowaną, pozbawioną granic i odporną na cenzurę kryptowalutę. Jednak większość łańcuchów bloków nie wymaga żadnego mechanizmu zaufania i jest uważana za systemy bez zaufania. Bitcoin również nie ma niezależnego regulatora.
Prawie wszystkie łańcuchy bloków mają u podstaw eksplorację, która jest nierozerwalnie związana z algorytmami haszującymi. Bitcoin wykorzystuje algorytm SHA-256 (Secure Hash Algorithm 256 bitów), który umożliwia wprowadzenie ciągu znaków o dowolnej długości w celu wytworzenia wyniku o tej samej długości. Wynik wyjściowy można nazwać „wartością skrótu”, która zawsze ma 64 znaki (256 bitów).
Dlatego niezależnie od tego, ile razy „wydobywanie” zostanie powtórzone, te same dane wejściowe zawsze dają ten sam wynik. Jeśli jednak dane wejściowe nieznacznie się zmienią, dane wyjściowe będą zupełnie inne. Dlatego funkcja skrótu jest deterministyczna, podczas gdy większość kryptowalut ma jednokierunkową funkcję skrótu.
Ten typ funkcji określa, że użytkownik nie może wnioskować o danych wejściowych na podstawie wyników wyjściowych. Jedynym sposobem jest zgadywanie, ale prawdopodobieństwo zgadnięcia jest bardzo małe. Jest to jeden z powodów, dla których blockchain Bitcoin jest bezpieczny i niezawodny.
Teraz, gdy rozumiemy funkcjonalność algorytmu, zilustrujmy działanie blockchainu na prostym przykładzie transakcji.
Załóżmy, że Alicja i Bob są dwoma posiadaczami Bitcoinów i Alicja jest winna Bobowi dwa Bitcoiny.
Aby spłacić Boba dwoma Bitcoinami, Alice przekazuje informacje o transakcji górnikom w całej sieci.
W tej transakcji Alicja informuje górników o adresie Boba i liczbie bitcoinów będących przedmiotem obrotu, a także dołącza podpis cyfrowy ze swoim kluczem publicznym. Podpis ten jest generowany przez klucz prywatny Alicji i pozwala górnikom zweryfikować, czy Alicja jest faktycznym właścicielem tych Bitcoinów.
Po potwierdzeniu, że transakcja jest autentyczna i ważna, górnik może umieścić te informacje o transakcji w bloku wraz z innymi informacjami o transakcji i spróbować „wydobyć” ten blok. Blok ten obsługiwany jest za pomocą algorytmu SHA-256, a wynik operacji musi zaczynać się od określonej liczby „0”, zanim będzie można uznać go za ważny. Liczba „0” zależy od „trudności” operacji, która będzie się zmieniać wraz ze zmianami mocy obliczeniowej całej sieci.
Aby poprawnie wyprowadzić oczekiwaną liczbę skrótów „0”, górnicy dodają „nonce” do bloku przed uruchomieniem algorytmu szyfrowania. Niewielkie zmiany tej wartości całkowicie zmienią wynik operacji, a górnicy muszą wypróbować różne losowe wartości jednorazowe, aż uzyskają poprawną wartość skrótu.
Za każdym razem, gdy wydobywany jest blok, górnicy rozsyłają informacje o nowym bloku do całej sieci, dzięki czemu inni górnicy mogą potwierdzić ważność bloku. Następnie dodadzą prawidłowe informacje o bloku do własnego łańcucha bloków, wskazując, że transakcja została zakończona. Jednak górnicy nadal muszą dodać wartość skrótu poprzedniego bloku do nowego bloku i ostatecznie połączyć wszystkie bloki, tworząc prawdziwy „łańcuch bloków”. Jest to bardzo ważne i odzwierciedla rolę zaufania w systemie.
Każdy górnik przechowuje własną kopię blockchainu na komputerze osobistym i dochodzi do konsensusu: blockchain o największej mocy obliczeniowej musi być najdłuższy. Jeśli ktoś będzie chciał zmienić informacje o transakcji w poprzednim bloku, wartość skrótu tego bloku również ulegnie zmianie, co spowoduje zmianę wartości skrótu wszystkich bloków po tym bloku. Musi powtórzyć wszystkie poprzednie obliczenia, aby przekonać innych, że informacje o bloku są prawidłowe. Dlatego jeśli górnik spróbuje manipulować informacjami blokowymi, musi zainwestować ponad 50% mocy obliczeniowej całej sieci, co jest niemal fantazją. Podobne ataki sieciowe nazywane są zatem atakami 51%.
Ten model, który wymaga operacji komputerowych w celu wygenerowania nowych bloków, nazywa się Proof of Work (PoW). Istnieją również inne mechanizmy, takie jak Proof of Stake (PoS), które nie wymagają ogromnej mocy obliczeniowej, zużywają mniej energii i przyciągają więcej użytkowników do udziału.

