Robotyczni górnicy kopiacy na tle metalowego bitcoina.

Jak działa Bitcoin?

Są cztery technologie, dzięki którym ten system funkcjonuje.

Cyfrowa ameba i jej nibynóżki

Przedostatni element systemu blockchain to technologia peer-to-peer (P2P). Wiele osób kojarzy ją z aplikacjami do ściągania filmów i muzyki. Głównie za sprawą programu Napster, który w samej końcówce XX w. rzucił na kolana przemysł rozrywkowy, a konkretnie wielkie wytwórnie płytowe, umożliwiając ludziom z całego świata dzielenie się multimediami.

Wiele osób nie do końca rozumie, co rzeczywiście zrobił Napster – ta sieć nie przechowywała multimediów. Napster zbudował pierwszą – i obdarzoną mnóstwem wad, ale działającą – zdecentralizowaną bazę danych, która przechowywała informacje o tym, co ktoś ma innym do zaoferowania. Innymi słowy w sieci Napster krążyła ciągle aktualizowana lista adresów IP wraz z opisem konkretnych zasobów.

Słowo „krążyła” jest niewłaściwe w tym modelu komunikacji. Protokół P2P wymyślono bowiem po to, aby odciążyć główny serwer. Jeśli ktoś chciał ściągnąć coś, co przed momentem ściągnął już ktoś inny, serwer odmawiał połączenia, podając adres tego, kto pobrał niedawno. Nowy amator pliku nie obciążał więc serwera, lecz innego użytkownika.

To tak w telegraficznym skrócie, ale wystarczy do wyobrażenia: w takiej sieci dane przelewają się jak ameba, wyciągająca kolejne nibynóżki. Albo inaczej: to, co zaczęło się na jednym serwerze, może skończyć się na innym. Tym właśnie była zdecentralizowana baza danych, którą wprowadził Napster, i której doskonalsza wersja działa teraz jako technologia wspierająca blockchain.

Ameba się na świat rozlewa

Pora połączyć wszystkie elementy i podpiąć się do sieci Bitcoin. Podstawowym pojęciem jest tu portfel. Po zainstalowaniu aplikacji takiej jak Bitcoin Core albo Bitcoin Knots – specjalnie wskazujemy na te właśnie, ponieważ, używając ich, nie ma żadnych pośredników, a maszyna komunikuje się bezpośrednio z siecią Bitcoin.

Niestety, takie rozwiązanie ma swoją cenę – obydwa te portfele ściągną pełny blockchain na lokalny dysk (obecnie 203 GB). Po instalacji utworzony zostanie klucz prywatny i klucz publiczny. Aby dowiązać do tego klucza bitcoiny, nie wchodząc na giełdy finansowe, gdzie tracisz anonimowość, masz trzy możliwości: wykopać je samemu, zbierać okruszki za potwierdzanie transakcji innych albo – najszybsza – zapłacić znajomemu i poprosić go o przelew.

Biorąc na tapetę tę ostatnią czynność, połączymy wszystkie elementy, ponieważ pozyskiwanie nowych bitcoinów i nadzorowanie wieczystego rejestru transakcji już zawartych to jeden nierozerwalny proces. Scenariusz może wyglądać tak: spotykasz się z przyjacielem, który ma już bitcoiny na koncie. Płacisz mu 30 zł i zostawiasz swój klucz publiczny. Przyjaciel przesyła ci równowartość tej kwoty w BTC: ok. 100 000 satoshi – najmniejszej jednostki monetarnej bitcoina równej jednej stumilionowej jego wartości. W tym celu uruchamia swój portfel, wpisuje twój klucz publiczny i kwotę, program dołącza do tego aktualną datę i czas. Taki pakiet wędruje do sieć Bitcoin i…

…i trafia do pierwszego wolnego górnika, czyli jednej z koparek. Górnik sprawdza najpierw czy ten, kto robi przelew jest faktycznie tym za kogo się podaje – dokładnie w taki sposób, w jak bank testuje autentyczność karty Visa. Jeśli dane się zgadzają, górnik sprawdza stan posiadania konta nadawcy i – jeśli są na nim środki zmniejsza ją o 100 000 satoshi. Następnie tworzy nowy rekord z kluczem odbiorcy przypisując mu 100 000 satoshi. Potem dodaje nową transakcję do bloku, który właśnie obrabia i dodatkowo przesyła ją innym, aby i oni mogli ją autoryzować – za co też otrzymuje małe prowizje. W ten sposób informacja o nowej transakcji rozchodzi się po sieci niczym gigantyczna ameba.

Dowód pracy górnika

Potwierdzanie operacji finansowych w BTC to dla górnika zajęcie poboczne, ale na razie jedyne. Musi bowiem jak najszybciej zapełnić nowymi transakcjami blok, aby miał około 1 MB. Wtedy zamyka go i szlifuje tak, aby tworzył swoisty monolit z aktualną wersją łańcucha bloków. Gdy mu to się uda, uzyskuje tzw. dowód pracy, za co należy mu się nagroda w postaci zwiększenia stanu posiadania jego klucza publicznego o 12,5 BTC. Ten fakt zostaje rozgłoszony jako pierwszy rekord nowego bloku, a w świecie bitcoina przybędzie kolejne dwanaście i pół tej jednostki monetarnej.

Dowód pracy, czyli szlifowanie jest bardzo proste. W nowym bloku prócz informacji o aktualnych transakcjach znajduje się też hasz całego blockchaina, hasz ostatnio dodanego bloku, miejsce na aktualną datę i godzinę oraz tajemnicze miejsce na liczbę-zagadkę. Zagadka dla górnika brzmi następująco: jaką liczbę należy dopisać do pliku, który frezuję, czyli kandydata na nowy blok w łańcuchu, aby policzony z niego hasz zaczynał się od N zer?

Jak pamiętamy z akapitu o funkcjach haszujących, nie ma możliwości rozwiązania tego równania w sposób analityczny. Zostaje metoda prób i błędów. Jeśli poszukiwana liczba-zagadka ma 32 bity, a koparka ma, powiedzmy, 8 kart graficznych, każda po 128 procesorów, czyli w sumie 1024 elementów liczących, to sztygar, który pod ziemią rządzi górnikami, dzieli całą przestrzeń na 1024 równych przedziałów, żeby każdy podległy mu górnik miał tyle samo pracy.

Teraz każdy z 1024 górników-procesorów testuje po kolei przydzielone mu przez sztygara liczby, aby dowiedzieć się, czy trafił na tę właściwą. Kryterium jest proste – poprawny wynik to taki, że jak go umieszczę w bloku i policzę hasz tego bloku, to liczba, która mi wyjdzie ma N (np. 112) zer z przodu. Jeśli któremukolwiek z górników uda się odnaleźć wartość spełniającą ten warunek, sztygar przerywa pracę pozostałych i informuje całą sieć Bitcoin: – Koniec szychty, chłopy. Udało się doszlifować blok. Mojej kopalni należy się 12,5 BTC. Sprawdźcie i uznajcie.

Jeśli informacja potwierdzi się w 50 proc. sieci Bitcoin, nowy blok zostają oficjalnie dołączony do łańcucha, wszystkie transakcje w bloku zostają uznane za dokonane, a górnicy, zaczynają pracę nad nowym blokiem. I tak to trwa od 2009 roku. Nowy blok dołączany jest średnio co 10 minut. A trudność zagadki, czyli ilość zer w poszukiwanym haszu jest dobierana przez protokół tak, aby ten czas zawsze wynosił mniej więcej 10 minut. Po co? Bo wtedy mamy pewność, że ameba z transakcjami rozpłynęła się po całym świecie i większość maszyn potwierdziła jej autentyczność.

Bitcoina możesz kupić na giełdzie za złotówki. Ale pamiętaj, że wtedy powierzasz swoje dane prywatnej instytucji, która w Polsce ma obowiązek rejestrowania transakcji finansowych, więc tracisz anonimowość.

Czy bitcoin przetrwa jako waluta?

Przemawiający w ramach Liberty Fest na UKSW eksperci nie byli zgodni, co do tego, czym jest bitcoin i inne kryptowaluty oraz, jak się potoczy ich dalszy los. Jedni traktowali go jak prawo do własności intelektualnej, którego siła nabywcza będzie systematycznie spadać, inni bardziej jak akcje firm, które mają pewną wartość fundamentalną, jeszcze inni przekonywali, że 1 BTC może w ciągu najbliższych lat osiągnąć zawrotną wartość 1 miliona dolarów. Wszyscy natomiast byli jednomyślni co do jednego – obojętnie co stanie się z bitcoinem i innym kryptowalutami, blockchain przetrwa.

Oczywiście powyższy artykuł nie poruszył wielu kwestii koniecznych do podjęcia decyzji otwierającej ten materiał: wchodzę w to, nie wchodzę, uczę się dalej. Bitcoin prócz aspektu technicznego ma bowiem – a może przede wszystkim – również aspekt ekonomiczny. Podstawowe pytanie brzmi wtedy: czy BTC ma wartość fundamentalną?

Jeśli tak, to jego cena będzie powoli, lecz systematycznie rosnąć ze względu na ograniczoną podaż – górny limit tej waluty został ustanowiony w protokole na 21 milionów. A to oznacza, że niesie za sobą niewielkie ryzyko inwestycyjnie, podobnie jak zakup akcji dużej firmy takiej jak Coca-Cola czy Toyota w długim horyzoncie inwestycyjnym. Jeśli zaś nie, bitcoin może być wyłącznie bańką spekulacyjną. Odpowiedź na to pytanie istnieje, ale tu już zupełnie inna historia. | CHIP

Potęga dużych liczb

Szyfrowanie symetryczne jest zrozumiałe, jasne i logiczne. Do tego bardzo mocne np. algorytm AES oparty na kluczu o długości 512 bajtów, wymaga 2 do potęgi 512 prób, aby nieodwracalnie ulec hakerowi. W postaci dwójkowej nie do końca to widać, ale po przejściu na system dziesiętny zobaczymy 1 ze 154 zerami operacji koniecznych do wykonania, aby złamać taki szyfr. Byłby to tzw. atak typu brute force, który polega na testowaniu po kolei wszystkich możliwych kluczy.

Aby sobie uzmysłowić, jak ogromna jest liczba 10 do potęgi 154, porównajmy ją z wiekiem Ziemi: jeśli nasza planeta powstała 4 i pół miliarda lat temu, to pracujący od tamtej pory procesor wykonujący miliard porównań na sekundę – to tak na wyrost, żeby dać fory maszynom – przetestowałby zaledwie 1 z 26 zerami kombinacji.

Dajmy więc naszym maszynom większe fory, zakładając, że od powstania Ziemi pracował nie jeden procesor, ale cała kopalnia licząca 100 razy więcej procesorów niż żyje obecnie ludzi na Ziemi. Taka manufaktura nic by nie zmieniła – do dziś zdążyła by przetestować wspólnym siłami zaledwie 1 z 37 zerami kandydatów na poprawny klucz z puli liczącej 1 z 154 cyframi możliwości. Szanse na trafienie to 0, 0000…0001 procenta, przy czym zer po przecinku jest dokładnie 116.

Uwaga, algorytmy asymetryczne są bardziej podatne na złamanie, ale mimo wszystko ciągle na tyle mocne, aby opierać się atakom siłowym przez czas kwadryliony razy dłuższy niż wiek wszechświata. Generalnie przyjmuje się, że na tym poziomie rozwoju technologicznego, na którym obecnie się znajdujemy, podatność na złamanie twardych szyfrowań jest praktycznie zerowa.

Tkwi w tym jednak pewien haczyk: o ile można znaleźć dowód na to, że algorytmy symetryczne można złamać wyłącznie atakiem brute force, o tyle nie ma dowodu kluczowego założenia kryptografii asymetrycznej: że nie da się wygenerować klucza prywatnego na podstawie klucza publicznego. Zakłada się, że tak jest. Ale nie ma na to dowodu. Gdyby to się komuś udało, nasz świat finansów zostałby mocno przetasowany.