Zaznacz stronę

Jak działa Bitcoin?

Jeśli wiesz już „co to jest Bitcoin”, czas poznać zasady jego działania. Mimo, że na powierzchni, dla końcowego użytkownika wszystko może wyglądać niezwykle podobnie, to wewnątrz systemy scentralizowane znacznie różnią się od tych zdecentralizowanych.
Zanim jednak całościowo odpowiemy na pytanie „jak działa Bitcoin?”, musimy odpowiedzieć sobie na kilka zagadnień:

  • co jest najważniejsze w przypadku systemu monetarnego;
  • obiegu pieniądza;
  • oraz ewolucja i rozwój dwóch powyższych punktów.

W przypadku banknotów czy monet sprawa jest prosta. Dając banknot drugiej osobie zrzekamy się do niego praw na zasadzie umowy ustnej. Wadą takiego systemu jest to, że ktoś nieuczciwy po dokonaniu transakcji może nam po prostu zwinąć się z naszymi banknotami, po których nie zostanie nawet ślad. Znacznie trudniej jest również błyskawicznie wysłać banknoty czy monety do innego kraju – przekazy pieniężne trwają dni i kosztują nawet kilka % kwoty transferu. Przechowywanie banknotów lub monet jest również ryzykowne i podatne na zniszczenia lub kradzież. Dużym i masowym problem jest również niewielki koszt fałszerstwa banknotów czy monet.

II generacja – Bankowość elektroniczna

Internetowa rewolucja umożliwiła nam, w miarę szybko i sprawnie wysyłać pieniądze do teoretycznie dowolnego miejsca na świecie. Wykonując przelew online, bank przeksięgowuje nasze środki na konto odbiorcy, pobierając przy tym dolę za pośrednictwo. W przypadku przelewów międzynarodowych prowizje potrafią być niemałe, a czas takich przelewów nie jest zadowalający. Następnym mankamentem takiego systemu jest fakt, że nad naszymi pieniędzmi kontrolę sprawuje bank – oznacza to cały szereg możliwych błędów spowodowanych czynnikiem ludzkim. To bank odejmuje środki z naszego konta i dodaje do innego, jesteśmy więc zależni od osób trzecich. W systemie tym możliwe jest też cofnięcie przelewu (ang.: chargeback), co niekiedy prowadzi do nadużyć. Sprzedając dany towar, nie zawsze mamy 100% gwarancji, że przelew, który otrzymaliśmy nie zostanie cofnięty do nadawcy.
W systemie tym bezpieczeństwo naszych środków zależy od banków, które oczywiście są objęte funduszami gwarancyjnymi (do pewnych kwot), co daje wrażenie bezpieczeństwa. Niestety, nie zawsze jest to prawdą, o czym przekonali się np. mieszkańcy Cypru, którym rząd dosłownie ukradł pieniądze z depozytów aby wesprzeć trudną sytuację banków.
W grudniu 2013 roku, władze Unii Europejskiej porozumiały się co do regulacji dotyczących pomocy lub likwidacji banków znajdujących się w opałach finansowych. Nowe przepisy pozwalają na sięganie po środki zgromadzone na naszych depozytach. Sytuacji, w których bank może ingerować w nasze saldo jest znacznie więcej. Przykładowo, bank może zablokować nasze środki w wyniku samego podejrzenia i domniemania popełnienia wykroczenia lub przekazać np. komornikowi. W dodatku, w obliczu kryzysów Unia Europejska, Stanów Zjednoczonych i wszystkie inne kraje świata mogą próbować ratowania gospodarki po najniżej linii oporu. Ta metoda, to oczywiście dodruk pieniędzy, a co za tym idzie zmniejszenie wartości nabywczej waluty w obiegu – inflacja.

Kto komu zagląda do portfela?

System bankowy jest tak skonstruowany aby odpowiednie organy państwowe oraz instytucje miały wgląd w to co robimy z naszymi pieniędzmi: na co, kiedy i gdzie je wydajemy, co za nie kupujemy oraz od kogo je dostajemy i dokąd je przelewamy. W czasach kiedy inwigilacja państwowa osiągnęła najwyższy poziom w historii, taka cecha systemu bankowego może przez wielu zostać uznana za niekorzystną lub nawet ograniczającą ich swobodę.
Wartość pieniędzy, ich ilość w obiegu, prawo do ich własności jak i rozporządzania, a także ich przepływ w obecnym systemie, zależny jest od banków i rządów. Mówimy tu o czynniku ludzkim i małej grupie osób, która sprawuje całkowitą kontrolę nad jednym z najważniejszych aspektów naszego życia – finansach. Sprzyja to nadużyciom, korupcji, niesprawiedliwości, kontroli społeczeństwa itd.

III generacja –  Bitcoin (i inne kryptowaluty)

Bitcoin rozwiązuje większość problemów poprzednich systemów. Bitcoiny można wysłać błyskawicznie w dowolne miejsce na świecie gdzie jest internet (lub sieć komórkowa), bez prowizji i bez pośredników. Prawo własności naszych pieniędzy nie zależy już od banków i rządów. W przypadku przelewu nie powierzamy pieniędzy osobom trzecim nikt więc nie ma na nie wpływu i nie może nimi manipulować czy też decydować o ich statusie. Bitcoina nie da się też podrobić ani dodrukować. Bitcoin pozbawiony jest czynnika ludzkiego, wszystko odbywa się wedle z góry ustalonych zasad przyjętych demokratycznie przez większość użytkowników systemu. W bitcoinie wszystkie operacje są jawne ale nie wiemy kto je wykonał i do kogo personalnie należą. Przy tworzeniu nowego adresu, nie ma konieczności podawania danych osobowych. Nie sposób też, by jakiś urzędnik mógł ten adres zablokować i uniemożliwić nam dostęp do naszych BTC.
Bitcoin zapewnia więc dużo większą anionowość, prywatność i poczucie bezpieczeństwa niż wcześniej wymienione systemy. W obliczu tylu możliwości, naturalnie rodzi się więc pytanie „jak działa Bitcoin?”.

Blockchain – księga transakcyjna bitcoina

Załóżmy, że każda transakcja w sieci bitcon jest zapisywana w księdze rozrachunkowej. Jeśli wysyłamy komuś bitcoiny powstaje w tej księdze zapis mówiący o tym, że bitcoiny z naszego portfela zostają odjęte, po czym zostały przypisane do adresu docelowego. Jeśli wszystkie transakcje w sieci bitcoin zapisywane są w jawnej księdze rozrachunkowej łatwo można policzyć kto i ile bitcoinów powinien mieć na swoim koncie. Poglądowy i uproszczony przykład księgi:

  1. Jacek ma 25 bitcoinów na swoim portfelu;
  2. Jacek wysyła 3 bitcoiny do Marka;
  3. Jacek wysyła 2 bitcoiny do Adama;
  4. Marek wysyła 2 bitcoiny do Grześka;
  5. Grzesiek wysyła 1 bitcoin do Jacka.

Na postawie tej demonstracyjnej księgi rozrachunków, dokładnie możemy policzyć ile kto ma bitcoinów. Jacek ma ich 21, Adam ma 2 BTC, Marek 1 i Grzesiek mają po 1 bitcoinie. Tak też dzieje się w przypadku blockchaina bitcoina. Saldo naszego konta obliczane jest właśnie na podstawie księgi transakcyjnej.
Wystarczy, że znamy klucz prywatny do naszego adresu, który identyfikuje nas w tej księdze. Powstaje pytanie czym to się różni od bankowości elektronicznej która przecież działa w dość podobny sposób?

Z wierzchu podobne, diametralnie różne pod spodem

Nie bylibyśmy w stanie odpowiedzieć na pytanie „jak działa Bitcoin?”, bez zagłębiania się w jego wnętrze. Zacznijmy jednak od krótkiego podsumowania właściwości scentralizowanych systemów, wykorzystywanych w tradycyjnej bankowości. Tutaj to banki przechowują księgi rozrachunkowe. Mogą je więc do woli nadpisywać, przepisywać, zmieniać i manipulować widniejącymi w nich zapisami.
Jako osoba z zewnątrz, nigdy nie mamy gwarancji, czy obecne dane mają podłoże historyczne, czy może są tuż po modyfikacji. W przypadku bitcoinów, aktualne kopie księgi rozrachunkowej znajdują się u wszystkich użytkowników sieci. Sieć tą tworzą setki tysięcy komputerów, na których jest zainstalowany tradycyjny klient bitcoina. Każdy kto jest użytkownikiem systemu i posiada natywny portfel sieci Bitcoin, przechowuje taką kopię księgi u siebie.
Nieautoryzowane czy też autoryzowane dokonanie zmian w takim rodzaju księgi rozrachunkowej, wymaga równoczesnego wprowadzenia ich na wszystkich pozostałych kopiach. Każda dokonana transakcja, zostanie zapisana w księdze rozrachunkowej raz na zawsze, bez możliwości modyfikacji. Jedyna opcja to dodanie nowych transakcji do zdecentralizowanej księgi rozrachunkowej, czyli systemu blockchain. W tym systemie nie musimy ufać bankom ani rządom, ufamy kryptografii, prawom matematycznym i sile sieci bitcoina. Moc obliczeniowa sieci bitcoin jest kilkaset razy większa niż sumaryczna moc 500 najszybszych komputerów świata należących do rządu USA, Chin, NASA czy innych instytucji naukowych i wojskowych. W dodatku moc sieci bitcoin rośnie z każdym nowym urządzeniem, które zostaje do niej podłączone.
Zdecentralizowana księga rozrachunków to inaczej blockchain, czyli łańcuch bloków. Bitcoinowy blockchain, może zostać sprawdzony przez każdego w dowolnym momencie. Wystarczy wprowadzić dowolny adres i mamy dostęp do wszystkich transakcji, w których ten portfel uczestniczył jako nadawca lub odbiorca.
Księga rozrachunkowa składa się z bloków – czyli pojedynczych transakcji pogrupowanych ze sobą – a każdy blok przechowuje transakcje użytkowników wykonane w danym przedziale czasu. W tym momencie, gdyby ktoś zadał Ci pytanie „jak działa Bitcoin?”, mógłbyś odpowiedzieć, że: bitcoin działa w oparciu o rozproszoną księgę rozrachunkową, której kopia znajduje się na każdym urządzeniu podłączonym do sieci. Dzięki temu, że bitcoin korzysta z sieci p2p, nie musimy polegać na żadnym pośredniku, gdyż o wszystkim decyduje z góry ustalony kod i obliczenia matematyczne. Bitcoin działa w sposób zdecentralizowany i przez to niebywale transparentny, gdyż każdy w dowolnym momencie może prześledzić ścieżkę każdego BTC w obiegu.

Prawo własności naszych bitcoinów

Prawo do naszych bitcoinów jest tożsame z posiadaniem klucza prywatnego, który powinien znać wyłącznie właściciel portfela, na którym są one przechowywane. Klucz prywatny, to rodzaj podpisu cyfrowego. W tym momencie zaczniemy badać tę bardziej technologiczną stronę pytania „jak działa Bitcoin?”.
Każda cyfrowa moneta powiązana jest w systemie z kluczem publicznym ECDSA (kryptografia krzywych eliptycznych). Kiedy ktoś przelewa bitcoiny na adres innego użytkownika, tworzy się transakcja, w której klucz publiczny nowego właściciela zostaje połączony z określoną ilością bitcoinów.
Następnie transakcja zostaje podpisana kluczem prywatnym. Nie ma więc możliwości, że ktoś wyśle nasze bitcoiny bez naszego pozwolenia – bez znajomości klucza prywatnego jest to niemożliwe.
Pozostaje jeszcze pytanie, jak w sieci bitcoina znajdywani są odbiorcy przelewów? Bitcoin wykorzystuje funkcję skrótu RIPEMD-160 na publicznej części klucza ECDSA, która służy jako unikatowy adres, do którego wysyłane są bitcoiny. Adres zapisany jest w systemie kodowania Base58 , jest adresem publicznym więc może być rozpowszechniany między użytkownikami sieci. Co ważne, każdy może wygenerować dowolną liczbę takich adresów, na które będzie przyjmował bitcoiny.

Sieć bitcoin i bloki z transakcjami

Sieć Bitcoina jest siecią p2p, składa się więc z węzłów – czyli komputerów, na których działa tradycyjny klient bitcoina. Węzły te łączą się z innymi węzłami w sieci rozproszonymi w Internecie. Co się dzieje, gdy do sieci włącza się się nowy węzeł, czyli ktoś zainstaluje nowy portfel bitcoin lub ponownie uruchomi stary.
Po pierwsze, pobiera on od swoich peerów (węzłów, do których się podłączył) łańcuch bloków. W przypadku nowego klienta są to wszystkie bloki utworzone w sieci. W przypadku klienta nie używanego od jakiegoś czasu, pobierze on tylko te bloki, które powstały gdy portfel był nieaktywny. Każdy z bloków składa się z nagłówka, pozwalającego na jego odróżnienie od innych bloków, oraz zawiera listę transakcji jaką w danym czasie wykonali użytkownicy.
Po drugie, synchronizuje informacje o czasie, wykorzystywane później do podpisywania bloków sygnaturami czasowymi. Są to zapisy zawierające czas unixowy, co dodatkowo utrudnia manipulację łańcuchem bloków i podnosi jego bezpieczeństwo. Sam łańcuch bloków powstaje w następujący sposób: blok „n” wskazuje na blok „n-1” poprzez załączenie w sobie funkcji skrótu zawartości bloku „n-1”. Blok zawiera w sobie funkcję skrótu bloku „n-2”, więc skrót ostatniego bloku w łańcuchu jest zależny od skrótu każdego poprzedniego bloku łańcucha. Można opisać skrót dla bloku nr 5 jako funkcję: hash(blok4 + hash(blok3 + hash(blok2 + hash … ) ) ). Mechanizm ten sprawia, że jeśli dwa węzły uznają wskazany skrót bloku w łańcuchu, to jednocześnie zgadzają się na wszystkie inne bloki. Dzięki tej własności niemożliwe jest sfałszowanie pojedynczego bloku, gdyż unieważniłoby to wszystkie poprzednie bloki.

Mining – utrzymanie sieci

Nie bylibyśmy w stanie, w pełni odpowiedzieć na pytanie „jak działa Bitcoin?”, bez wyjaśnienia kto i jak zapisuje transakcje w bloku i buduje z nich łańcuch bloków? Odpowiedź brzmi: górnicy.
Nie mówimy tu o tradycyjnym przemyśle górniczym, lecz o górnictwie cyfrowym za pomocą urządzeń o wysokiej mocy obliczeniowej. Aby sieć mogła być bezpieczna i działać prawidłowo potrzebuje mocy obliczeniowej do rozwiązywania problemów matematycznych o wysokiej złożoności. Musi zostać wykonana praca na rzecz sieci, która w dodatku będzie łatwa do potwierdzenia – proof of work.
Górnikiem cyfrowym może zostać każdy, wystarczy zaopatrzyć się w odpowiedni sprzęt. To dzięki górnikom mogą być wykonywane transakcje w sieci. Za swoją pracę sieć nagradza górników cyfrowych nowymi bitcoinami (na dzień pisania artykułu jest to 12.5 BTC za blok) – tak właśnie tworzone są nowe bitcoiny. Jak już wiesz z poprzedniego artykułu, bitcoinów może powstać ograniczona ilość – maksymalnie 21 milionów. Co będzie jak wszystkie zostaną wydobyte? Jak będą wynagradzani górnicy za utrzymanie sieci? To proste, sieć będzie utrzymywała górników z prowizji za transakcje.

Blockchain – łańcuch bloków

Jak już wiemy wszystkie transakcje wykonywane w sieci zapisywane są w blokach, z których składa się łańcuch bloków.
Zadaniem górnika jest „rozbicie bloku”, czyli rozwiązanie wygenerowanego przez sieć problemu kryptograficznego bazującego na funkcji skrótu SHA-256.
W skrócie, polega to na:

  1. Wyliczeniu funkcji skrótu z danego bloku danych;
  2. Wyliczeniu obecnego celu (target) z dostarczonego przez sieć poziomu trudności, czyli miary określającej, jak trudno znaleźć nowy blok;
  3. Sprawdzeniu, czy wartość funkcji skrótu dla bloku jest mniejsza niż obecny cel.

Obecna trudność kopania, praktycznie uniemożliwia tzw. „solo-mining”, dlatego górnicy cyfrowi podłączają swoje maszyny do kopalni, nazywanych również pulami wydobywczymi (ang.: minig pool). Górnik (a raczej kopalnia), który pierwszy wyliczy poprawny blok, ogłasza to reszcie sieci. Pozostałe węzły sieci sprawdzają poprawność tego wyliczenia. Gdy jego poprawność zostanie potwierdzona, górnik zostaje wynagrodzony określoną liczbą bitcoinów oraz wszystkimi opłatami transakcyjnymi z bloku. Blok z transakcjami użytkowników zostaje zaś dopisany do łańcucha bloków. W ten sposób do blockchaina dodawane są kolejne bloki, z których każdy jest powiązany z poprzednim.
Sieć bitcoina jest siecią samoregulującą się i utrzymującą z góry założone parametry. Jeżeli liczba górników lub moc urządzeń górniczych się zwiększy bitcoiny nie będą wydobywane szybciej. Do tego służy właśnie parametr ustalający trudność wykonywanego przez górników problemu kryptograficznego. Sieć tak dostosowuje trudność by blok wydobywany był co 10 minut, niezależnie od mocy sieci. Parametr trudności zmienia się co 2016 bloków. Obecnie nagroda za rozwiązanie bloku wynosi 12.5 BTC i spada o połowę co 210 tysięcy bloków, czyli co 4 lata.

„Jak działa Bitcoin?” – podsumujmy

Jak widać cały system bitcoina opiera się na stabilnych elementach, takich jak moc obliczeniowa, matematyka czy kryptografia.
W przeciwieństwie do tradycyjnych systemów bankowych czy rozrachunkowych, czynnik ludzki w sieci Bitcoina jest znacznie zminimalizowany. Bitcoinem nikt nie może sterować i żadna organizacja czy urzędnik, nie może dokonywać nieautoryzowanych z naszej strony zmian lub manipulować wartością tego co mamy na portfelu. Prawo własności naszych pieniędzy gwarantowane jest przez matematykę a nie „na słowo i zaufanie”. Bitcoinów nie sposób też dodrukować czy podrobić.
Bitcoin jest projektem o otwartym kodzie źródłowym (ang.: open source). Kod źródłowy bitcoina jest jawny i każdy ma do niego dostęp. Wszelkie zmiany w protokole i w zasadzie jego działania, muszą zostać zaakceptowane przez większość użytkowników poprzez aktualizację oprogramowania, czyli klienta bitcoin. Jeśli ten artykuł nie zaspokoił Twojej ciekawości na temat tego „jak działa Bitcoin”, to zapraszamy do zapoznania się z manifestem twórcy Bitcoina, który przetłumaczyliśmy dla Ciebie na język polski: Manifest Satoshi Nakamoto.

Jeśli zaś, obecna wiedza na temat „co to jest Bitcoin” oraz „jak działa Bitcoin” Cię satysfakcjonuje i chcesz dowiedzieć się jak zacząć korzystać z bitcoina (czyli gdzie go kupić i jak przechowywać), wystarczy, że skorzystasz z tego artykułu