Bitcoin dla początkujących – jak działają kryptowaluty?

Artykuł/Biznes 17.01.2018
Bitcoin dla początkujących – jak działają kryptowaluty?

Bitcoin dla początkujących – jak działają kryptowaluty?

Bitcoin jest na ustach wszystkich, a ty nie wiesz, o co w nim chodzi? Ten artykuł wytłumaczy ci podstawy.

Jak działa bitcoin?

Wyobraźcie sobie niewielką wioskę w górach, gdzie nie używa się pieniędzy. Ani podoba się zegarek Basi, a Basia upatrzyła sobie bransoletkę Ani. Obie panie doszły do porozumienia i chcą się wymienić akcesoriami. Zanim do tego jednak dochodzi, w jednym miejscu zbierają się wszyscy mieszkańcy wspólnoty, którzy sprawdzają, czy Ania jest właścicielką zegarka, a Basia bransoletki. Wioska nie jest idealnym miejscem i choć ludzie się szanują, to zadecydowali, że nie będą udzielać sobie kredytu zaufania.

W końcu zgromadzenie podejmuje decyzję, że panie mogą się wymienić rzeczami i każdy zapamiętuje, że teraz Ania ma bransoletkę, a Basia zegarek. Właśnie tak działa sieć bitcoina.

Załóżmy, że Ania ma bitcoina, którego chce przesłać Basi. Za pomocą aplikacji (desktopowej lub mobilnej) rozgłasza więc w całej sieci, co chce zrobić. Aplikacje innych użytkowników bitcoina sprawdzają, czy na koncie Ani rzeczywiście był bitcoin. Jeśli weryfikacja jest pozytywna, Ania może przesłać bitcoina.

Czym jest blockchain?

Napisałem, że wszyscy w wiosce sprawdzają, do kogo należy bransoletka i zegarek, ale jak się to dzieje? W końcu pamięć bywa ulotna.

Otóż wszyscy w wiosce mają własne księgi, gdzie zapisują, co do kogo należy, kto komu co dał i za co. Dzięki temu mogą w dowolnym momencie sprawdzić, kto był właścicielem zegarka przed Anią albo bransoletki przed Basią. Takie rozwiązanie ma niestety pewną wadę. W zamian za skupienie historii wszystkich wymian w jednym miejscu trzeba płacić dużymi wymiarami księgi.

Taki właśnie jest blockchain, czyli łańcuch bloków. Są w nim zapisane wszystkie transakcje od początku istnienia bitcoina. Możemy sprawdzić, co ze swoimi bitcoinami zrobił Satoshi Nakamoto (jego prawdziwej tożsamości jeszcze nie znamy) albo kto ma najwięcej bitcoinów (który adres). Ale dlaczego na tę księgę mówi się łańcuch bloków?

Czym jest blok bitcoina?

Zbieranie się wszystkich członków społeczności w jednym miejscu na potwierdzenie jednej wymiany to przerost formy nad treścią. Dlatego wioska podjęła decyzję, że wymian będzie można dokonywać raz na tydzień. Wtedy wszyscy będą się zbierali na rynku i sprawdzali poprawność transakcji z ostatnich 7 dni.

Wymiany w bitcoinie na szczęście nie są ograniczone czasowo, bo system działa 24/7. W tym czasie transakcje są jednak odpowiednio organizowane – dzielone na bloki. Można o nich myśleć jak o pojedynczych kartach księgi. Pojemność karty jest jednak ograniczona – mamy ustaloną wielkość fontu, czcionkę i rozmiary karty, więc można na niej zapisać taką, a nie inną liczbę transakcji.

Kiedy więc karta osiągnie swoją pojemność, jest zamykana i wtedy następuje sprawdzanie poprawności transakcji. Jeśli wszystko jest poprawne, kartę wkleja się do księgi, czyli blok włącza się do… łańcucha bloków. Każdy bitcoinowy blok ma pojemność ok. 1 MB i mieści się w nim ok. 2 tys. transakcji. To stosunkowo niewiele i dlatego sieć często bywa przeciążona.

Wizja łańcucha bloków.

Jak zabezpiecza się transakcje?

A czy ktoś nie mógłby podrobić zapisów w księdze – tak, aby w kolejnym tygodniu Ania mogła sprzedać zegarek jeszcze raz? W końcu pokazałaby wszystkim zapisy swojej zafałszowanej księgi sugerujące, że transakcja sprzed tygodnia nie miała miejsca. Wtedy wszyscy pozostali mieszkańcy natychmiast zwróciliby się do swoich zapisów i stwierdzili, że Ania kłamie.

Ale przecież teoretycznie Ania mogłaby włamać się do ich domów i pozmieniać zapisy w każdej karcie. Aby temu zapobiec, wprowadzono dwa mechanizmy.

Jak działa kryptografia bitcoina?

W rzeczywistości każda karta jest pieczętowana, co oznacza, że zawarte na niej transakcje są potwierdzone za zgodność z prawdą. Jak przebiega to pieczętowanie? Wykorzystuje się tu funkcje haszujące, które mają zastosowanie w bardzo wielu internetowych aplikacjach służących do potwierdzania tożsamości. Choć funkcje same w sobie są skomplikowanymi mechanizmami, to można wytłumaczyć ich sposób działania w dość prosty sposób.

Zapewne w szkole rozwiązywaliście równania, w których dany był x, a trzeba było znaleźć y. Mogły one wyglądać następująco y=2*x. Jeśli do równania wrzucilibyśmy 2, otrzymaliśmy na wyjściu 4.

Podobnie działają funkcje haszujące, z tym że ich prawdziwa postać jest w praktyce niemożliwa do ogarnięcia przez ludzki umysł (zdarzają się wyjątki). Załóżmy więc, że na początku mamy wyraz 2k18, która jest połączona z daną kartą naszej księgi (każda karta ma swój wyraz). Bardzo łatwo możemy sprawdzić, że 2k18 po przepuszczeniu przez funkcję haszującą daje 0qetu. 2k19 daje już zupełnie inny wynik: a5dfg. Choć wygląda to na losowy ciąg znaków, to w rzeczywistości takim nie jest. Jeśli będziemy chcieli odwrócić mechanizm liczenia funkcji (obliczyć x przy danym y), to 0qetu zawsze da 2k18, a a5dfg zawsze da 2k19.

Przy naszej funkcji y=2*x bardzo łatwo jest żonglować niewiadomymi. Z funkcjami haszującymi jest inaczej. Mając coś na wejściu, bardzo łatwo jest obliczyć wynik, ale mając wynik, niezwykle trudno jest obliczyć, co było na wejściu. To kluczowa właściwość funkcji dla wykorzystania w kryptografii.

Jak działa kopanie bitcoina?

Najlepszą metodą sprawdzenia, jaki wyraz daje nasz 0qetu, jest kolejne podstawianie wszystkich kombinacji znanych we wszechświecie. Możemy zacząć od 1 i dojść do o wiele bardziej skomplikowanych wyrazów, ale liczy się to, jak szybko trafimy na właściwy wyraz – 2k18. Można to więc rozumieć jako metodę brutalnego ataku na funkcję haszującą.

Wymaga to ogromnych zasobów mocy obliczeniowej i właśnie dlatego kopalnie bitcoina składają się z półek wypełnionych jednostkami komputerowymi wyspecjalizowanymi w rozwiązywaniu problemów kryptograficznych, czyli znajdowaniu wyrazu wejściowego przy znanym wyrazie wyjściowym. Wykonują one dużą pracę – w długim czasie potrzebują dużo energii do działania, a ich właściciele wynagradzani są bitcoinami (sieć bitcoina pobiera więcej energii niż mały kraj)

Każdy blok to 12,5 nowych bitcoinów tworzonych z powietrza (wcześniej ich nie było, powstały tylko po potwierdzeniu bloku). Kopanie bitcoina jest więc w istocie potwierdzaniem transakcji.

Jak wygląda potwierdzanie transakcji bitcoinami?

Kopanie jest jednak jeszcze nieco bardziej skomplikowane. Opiszę teraz drugi mechanizm, który sprawia, że Ania nie mogłaby się włamać do wszystkich ksiąg i pozamieniać zapisów na wszystkich kartach, aby wymienić swój zegarek drugi raz.

Każda karta, czyli bitcoinowy blok, ma bowiem trzy atrybuty:

  • Wyraz właściwy dla danego bloku, czyli w naszym przykładzie 2k18,
  • Wyraz odnoszący się do poprzedniego bloku,
  • Trzeci, nieznany wyraz.

Dopiero dodanie tych trzech wyrazów i przepuszczenie przez funkcję haszującą da pożądany wynik. To, co robią kopacze, wygląda więc następująco:

  • Znamy wyraz końcowy,
  • Odejmujemy od niego dwa znane wyrazy początkowe,
  • Szukamy trzeciego wyrazu.

Dzięki temu, że w tych kalkulacjach brany jest pod uwagę wyraz odnoszący się do poprzedniego bloku, możemy mówić o ich łańcuchu. Daje nam to pewną spójność – wiemy, że po bloku nr 5, zawsze jest blok nr 6 i już tak zostanie. Dlatego, gdyby Ania chciała zmienić zawartość bloków, musiałaby się kolejno cofać aż do początku księgi, zmieniać każdą kartę i korzystać z wyliczeń funkcji haszującej.

Co to jest proof-of-work?

Ten trzeci wyraz, który tak trudno jest poznać, działa jako swoisty certyfikat. Blok ma swój wyraz identyfikacyjny, wyraz odnoszący się poprzedniego bloku i certyfikat, który potwierdza wykonanie pracy. To jest właśnie proof-of-work, o który oparty jest blockchain. Ten certyfikat pokazuje, że górnik wykonał swoją pracę i może dostać wynagrodzenie. Cała sieć wie zaś, że informacje w bloku są prawdziwe – może teraz bardzo łatwo dodać trzy wyrazy i sprawdzić, że dają pożądany wynik.

W końcu możemy dołączyć nowy blok do łańcucha i dokleić nową kartę do naszej księgi.

Jak wygląda atak 51 procent w bitcoinie?

W sieci bitcoina mogą pojawiać się oszuści, którzy rozgłaszać będą bloki z nieprawidłowym certyfikatem i dołączać je do swoich ksiąg. Jaki mechanizm zabezpieczający ma tu bitcoin? Otóż kluczowa jest długość łańcucha. Górnicy za właściwy uważają najdłuższy łańcuch, a pojedynczy oszust nigdy nie będzie w stanie pokonać całej sieci i przez długi czas dołączać kolejne bloki do swojego łańcucha.

A co, jeśli tych górników będzie bardzo dużo – więcej niż połowa? Wtedy teoretycznie mogą oni zmieniać bloki według swoich upodobań. Co ich przed tym powstrzymuje?

Po pierwsze, konkurencja. Choć mamy już kartele górników, które dysponują znacznymi udziałami w mocy obliczeniowej, to pluralizm na rynku sprawia, że wybicie się pojedynczego górnika na tak dużą przewagę jest bardzo trudne.

Ale przecież jakiś rząd mógłby sobie postawić za cel kontrolę bitcoina. Chińczycy mogliby zaprząc wszystkie swoje superkomputery do potwierdzania transakcji i w pewnym momencie zdecydować, że przekierowują całość bitcona na swoje konta. Dlaczego tego nie zrobią?

Bitcoin opiera się na racjonalności bez trzeciej strony. To znaczy, że nie mamy banku, który gwarantowałby nasze środki, a zamiast niego działa cała sieć potwierdzająca transakcje. Gdyby nagle przestały być one poprawne, to kto chciałby używać takiej waluty? Kto chciałby ją kupować? Zmniejszony popyt doprowadziłyby do spadku cen i okazałoby się, że Chińczycy wpakowali mnóstwo pieniędzy w zniszczenie waluty. W praktyce nikomu się to nie opłaca.

Bitcoin nie opiera się na zaufaniu, regulacjach prawnych czy względach osobistych. Zamiast tego wykorzystuje bezduszną, ale sprawiedliwą matematykę.

Czytaj też:

Dołącz do dyskusji