Historia i sposób działania technologii łączenia bloków
Autor: Patryk Obierak
Blockchain, czyli łańcuch bloków to „rozproszony rejestr w modelu peer-to-peer, który jest kryptograficznie bezpieczny, umożliwia tylko dodawanie danych, jest niemodyfikowalny (tzn. niezwykle trudno wprowadzić w nim zmiany) i aktualizowany tylko na podstawie konsensusu między użytkownikami”. Zgodnie z tą definicją technologia blockchain posiada konkretne cechy, które świadczą o jej istocie. Wyróżnikami łańcucha bloków są:
a) zestawy danych połączone ze sobą i logicznie uporządkowane, nazywane blokami;
b) sieć peer-to-peer – każdy użytkownik może połączyć się bezpośrednio z innym użytkownikiem; w sieci nie ma podmiotu nadzorującego, jednostki komunikują się między sobą; taka sieć pozwala na realizowanie transakcji między uczestnikami rynku bez udziału trzeciej strony,
c) system rozproszony, gdzie węzły (pojedyncze elementy systemu) współdziałają ze sobą aby osiągnąć wspólny cel; wszystkie z nich mogą odbierać i wysyłać komunikaty; węzły mogą być uczciwe, zepsute lub szkodliwe; w blockchainie każdy węzeł przechowuje kopię całego łańcucha bloków,
d) możliwość dodawania danych, których prawie nie da się modyfikować (do zmiany danych potrzebne jest 51% mocy obliczeniowej utrzymującej sieć),
e) zabezpieczenie kryptograficzne, które chroni użytkowników przed nadużyciami i manipulacjami, ponieważ szyfrowanie z użyciem algorytmów używane jest do zapewnienia bezpieczeństwa w tym zakresie,
f) aktualizowanie łańcucha wyłącznie na zasadzie konsensusu, czyli żadna centralna władza nie kontroluje tego procesu; w celu osiągnięcia zgodności używane są różne algorytmy, które gwarantują, że wszystkie węzły są zgodne co do stanu danych w sieci; węzły, które nie przyporządkowują się do konsensusu są uznawane za szkodliwe i ich aktualizacje są ignorowane.
Technologia łańcucha bloków została wykorzystana w procesie tworzenia cyfrowych walut, nazywanych kryptowalutami. Pozwoliła rozwiązać dwa najbardziej podstawowe problemy, które dotyczyły wczesnych form elektronicznych pieniędzy, czyli rozliczalność i anonimowość. Rozliczalność jest potrzebna do uniemożliwienia dwukrotnego wydatkowania, czyli zapewnienia, że właściciel pieniędzy będzie mógł je wydać tylko raz. Brak rozliczalności sprawia, że te same środki można wydać dwukrotnie. Z kolei anonimowość jest ważna z punktu widzenia ochrony prywatności uczestników rynku. Technologia łączenia bloków pozwala zbudować takie algorytmy, które uniemożliwią odnalezienie osoby dokonującej transakcji.
Pomysł stworzenia bezpiecznego, szyfrowanego kryptograficznie łańcucha bloków znany był już w 1991 roku. Wtedy to Stuart Haber i W. Scott Stornett zaprezentowali swój pomysł na kryptograficzne zabezpieczenie danych łańcuchem bloków. Rozwiązanie to polegało na wykorzystaniu zabezpieczonych kryptograficznie bloków do zapisywania dokumentów. Dzięki temu stało się niemożliwe datowanie wstecz i manipulowanie wprowadzonymi wcześniej danymi. W roku 1992 uzupełniono koncepcję o projekt „drzewa Merklego” (od nazwiska twórcy – Ralpha Merklego). Drzewo to nazywa się również drzewem hash. Jego przedstawienie graficzne znajduje się na rysunku 4.

Zgodnie ze schematem po wprowadzeniu danych (D1, D2, D3, D4) tworzymy im skróty (z ang. hash). Następnie te skróty (H1, H2, H3, H4) łączymy w bloki (1 i 2), którym nadajemy nowe skróty (H12 i H34), które łączymy w kolejny blok (blok końcowy). Dzięki takiemu działaniu każdy pojedynczy blok może zawierać kilka dokumentów.
Technologia blockchain czerpie z wieloletniego dorobku kryptografii i informatyki, wykorzystując znane wcześniej pomysły. Funkcje skrótu (tzw. funkcje hashujące) zaczęły być wykorzystywane już w 1989 roku, a ich twórcą był Ronald Rivest. Dzięki tworzeniu sygnatury dla danych wejściowych przy pomocy funkcji hashującej uzyskujemy skrót, który jest:
- odporny na kolizje – wyłącznie jeden zestaw danych może wygenerować dany skrót; nie ma możliwości, aby dwa różne zestawy danych generowały takie same skróty,
- nieodwracalny, jednokierunkowy – znając jedynie skrót nie jesteśmy w stanie odczytać, odtworzyć pierwotnego zestawu danych.
Funkcja hashująca to bardzo ważny, nieodłączny element technologii łączenia bloków.
Ważnym wyzwaniem stojącym przed blockchainem było przeniesienie go do świata anonimowego pieniądza cyfrowego. W latach 90. XX wieku David Chaum podjął próbę stworzenia elektronicznego systemu płatności, projekt nosił nazwę DigiCash. W systemie działała waluta Cyberbucks, która miała służyć bezpiecznym transakcjom w Internecie, bez nadzoru instytucji finansowych. Monety te nazwano tokenami, utworzono ich milion i rozdzielono między użytkownikami. Jednakże w roku 1998 firma ogłosiła upadłość wywołaną sporem z Holenderskim Bankiem Centralnym. Po porażce tego systemu amerykański informatyk, Nick Szabo, stworzył koncepcję zdecentralizowanej waluty cyfrowej, na temat której opublikował naukową koncepcję, pod nazwą Bit Gold. Walutę miałoby się otrzymywać po rozwiązaniu przez komputer zagadki kryptograficznej. Na to działanie użytkownicy musieliby przeznaczyć czas, moc obliczeniową procesora i energię elektryczną. Stąd miała wynikać materialna wartość waluty. Zagadki zmieniałyby się po ich pierwszym rozwiązaniu, stąd nie było możliwości kopiowania pracy innych. Był to projekt jedynie teoretyczny, nigdy nie zbudowany w realnym świecie finansowym. Natomiast w roku 1997 powstała waluta działająca w podobnym systemie. Nosiła nazwę HashCash, a twórcą był Adam Back. Najważniejszą cechą zagadek kryptograficznych w tym projekcie było to, że były one trudne do rozwiązania, ale jednocześnie łatwe do zweryfikowania. Główną wadą monet była wyłącznie jednokrotna możliwość ich wykorzystania, użytkownicy musieli zdobywać nowe monety, za każdym razem, gdy chcieli ich użyć. Z tego powodu projekt został porzucony przez uczestników i z czasem upadł.
Ważnym krokiem w rozwoju technologii blockchain było opracowanie w 2004 roku przez Harolda Thomasa Finneya protokołu dowodu pracy wielokrotnego użytku (z ang. proof of work), który mógł zostać wykorzystany w zapewnieniu bezpieczeństwa przed podwójnym wydawaniem jednej cyfrowej monety w dwóch lub więcej transakcjach w tym samym czasie. Pozwalało to zapobiegać oszustwom i cofaniu transakcji. Protokół pozwalał weryfikować innym użytkownikom, czy komputer właściciela danej monety wykonał odpowiednią ilość pracy potrzebną na jej zdobycie lub przesłanie, a więc czy została wykorzystana odpowiednia ilość mocy obliczeniowej.
Najistotniejszym momentem w rozwoju technologii łączenia bloków było opublikowanie 31 października 2008 roku dokumentu „Bitcoin – A peer-to-peer electronic cash system” przez użytkownika o pseudonimie Satoshi Nakamoto na listę mailingową serwisu metzdowd.com. Zawierał on opis elektronicznego pieniądza działającego w rozproszonej sieci peer-to-peer, bez instytucji nadzorujących. Pieniądz ten został nazwany bitcoinem, a w styczniu 2009 roku został wygenerowany jego pierwszy blok. Od tego momentu rozpoczął się bardzo szybki rozwój technologii blockchain. Zaczęły powstawać nowe wirtualne waluty, nazywane walutami alternatywnymi (z ang. alternative coins). W dalszym rozwoju technologii na uwagę zasługuje opisanie koncepcji projektu Ethereum 23 stycznia 2014 roku. Wtedy to Vitalik Biuterin opisał nowatorski projekt sieci blockchain. Ethereum miało oferować zupełnie nowe rozwiązania, przede wszystkim tworzenia aplikacji i algorytmów wykonujących dowolne obliczenia w blockchainie, które dzięki temu były niezmienne i zawsze działały tak, jak zostały pierwotnie zaprogramowane. Sieć Ethereum została uruchomiona 30 lipca 2015 roku, od tamtej pory działa nieprzerwanie i jest drugim co do wielkości blockchainem na świecie.
Dalszy rozwój technologii łączenia bloków nadal trwa. Od momentu uruchomienia Ethereum powstało tysiące kolejnych rozproszonych rejestrów, które pełnią różne funkcje w zależności od tego jak zostały zaprogramowane. Zmienia się również sposób postrzegania technologii, która coraz częściej zaczyna być wykorzystywana w projektach prywatnych, zamiast globalnych. Z tego względu wyróżnia się trzy główne typy łańcucha bloków:
- publiczny – każdy ma prawo pobrania całości bazy danych, a także komunikowania się z innymi węzłami, przykładami takich systemów są blockchainy Bitcoina i Ethereum,
- prywatny – dane są dostępne wyłącznie dla wybranej grupy podmiotów; taki łańcuch jest wykorzystywany najczęściej tam, gdzie ważne jest zachowanie poufności danych dotyczących sieci biznesowej lub gdy regulacje prawne nie pozwalają twórcom na korzystanie z blockchaina publicznego; blockchainem prywatnym jest blockchain budowany przez PKO Bank Polski,
- hybrydowy – użytkownicy korzystają z blockchaina publicznego w celach rozliczeniowych, ale posiadają blockchain prywatny służący osiąganiu konsensusu i sprawowaniu kontroli nad dostępem do rejestru danych.
Najwięcej stworzono blockchainów publicznych, jednakże wraz z rozwojem technologii powinna rosnąć rola prywatnych łańcuchów, które będą tworzone na potrzeby pojedynczych podmiotów gospodarczych.
Źródła:
- Imran Bashir, Blockchain. Zaawansowane zastosowania łańcucha bloków, tłum. Tomasz Walczak, Gliwice, wyd. Helion, 2019.
- Bartłomiej Klinger, Jacek Szczepański, „Blockchain – historia, cechy i główne obszary zastosowań”, Człowiek w Cyberprzestrzeni, nr. 1 (2017): 11-27.
- Robert W. Włodarczyk, Justyna Tomala, Magdalena Sikorska, Bitcoin. Blockchain. Rynki Surowcowe, Warszawa, wyd. Difin, 2021.
- Łukasz Jeżak, Blockchain Prywatny VS Blockchain Publiczny, serwis internetowy BitHub.pl, data publikacji: 10.02.2019, data dostępu: 20.12.2021, https://bithub.pl/artykuly/blockchain-prywatny-vs-blockchain-publiczny/.
Powyższy tekst stanowi fragment pracy: Obierak, Patryk. “Kryptowaluty jako forma inwestycji alternatywnych,” n.d. https://ruj.uj.edu.pl/xmlui/handle/item/297057.
Treści zawarte na stronie internetowej proinvest-portal.com oraz na profilach ProInvest Portal w mediach społecznościowych nie są poradami inwestycyjnymi.
