za
Jak działa bitcoin i blockchain

Jak działa Bitcoin? Kompleksowy przewodnik

Konferencja Kryptoraport

Jak działa Bitcoin?

Jeśli wiesz już, co to jest Bitcoin, czas poznać zasady jego działania. Mimo, że na pierwszy rzut oka końcowego użytkownika systemy scentralizowane i zdecentralizowane mogą wyglądać podobnie, w rzeczywistości znacznie się różnią. Zanim jednak wejdziemy w szczegóły i opowiemy wam, jak działa Bitcoin, dla pełniejszego obrazu należy poruszyć kilka zagadnień:

  • ewolucja systemów płatniczych (i jakie znamy ich generacje)
  • obieg pieniądza w każdym z tych systemów
  • ich zalety i największe wady
  • jak Bitcoin odpowiada na wyzwania innych systemów.

I generacja – monety i banknoty

W przypadku banknotów czy monet sprawa jest relatywnie prosta. Dając banknot drugiej osobie zrzekamy się do niego praw na zasadzie umowy słownej. Bez formalności i pośredników. Wadą takiego systemu jest jednak konieczność zawierzenia uczciwości drugiej strony transakcji. Istnieje bowiem wysokie ryzyko kradzieży naszych środków, bo których ślad może zaginąć szybko i permanentnie.

Sporą trudnością jest również błyskawicznie wysłanie banknotów czy monet do innego kraju. Przekazy pieniężne mogą trwać wiele dni, a prowizje za nie mogą wynosić nawet kilka % kwoty transferu. Przechowywanie banknotów lub monet jest również ryzykowne, a same pieniądze podatne na zniszczenia lub kradzież. Dużym, masowym problem jest także niewielki koszt fałszerstwa banknotów czy monet. 

II generacja – bankowość elektroniczna

Internetowa rewolucja stała się również rewolucją finansową. Umożliwiła nam bowiem szybkie i sprawne transfery pieniężne do teoretycznie dowolnego miejsca na świecie. Tutaj zasada dokonywania transakcji również jest dość prosta – wykonując przelew online, bank przeksięgowuje nasze środki na konto odbiorcy, pobierając przy tym prowizję za pośrednictwo. Niestety w przypadku międzynarodowych przelewów, prowizje potrafią być niemałe, a czas takich przelewów nie jest zadowalający dla obu stron.

Kolejnym 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 tym systemie tym, od banków zależy również bezpieczeństwo naszych środków. Obejmują je oczywiście fundusze gwarancyjne (do pewnych kwot), co daje wrażenie bezpieczeństwa. Niestety, czasami jest tylko wrażenie. Przekonali się o tym np. mieszkańcy Cypru, którym rząd dosłownie ukradł pieniądze z depozytów, aby wesprzeć trudną sytuację banków.

Od 2013 roku, w przypadku problemów finansowych banków, przepisy UE pozwalają na sięganie po środki zgromadzone na depozytach klientów. 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.

Co więcej, niestety, w obliczu kryzysów Unia Europejska, Stany Zjednoczone i wszystkie inne kraje świata mogą próbować ratowania gospodarki za pomocą dodruku pieniędzy. Wiąże się z tym naturalnie zmniejszenie wartości nabywczej waluty w obiegu – czyli inflacja.

Kto komu zagląda do portfela?

System bankowy działa w sposób, który umożliwia odpowiednim organom państwowym oraz instytucjom 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, wielu z nas taką cechę systemu bankowego może uznać za niekorzystną lub nawet ograniczającą 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żne są 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 z dostępem do internetu (lub sieci komórkowej), 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ą anonimowość, prywatność i poczucie bezpieczeństwa niż wcześniej wymienione systemy. 

Wiecie już zatem, na jakie problemy odpowiadają kryptowaluty i z jakiej potrzeby zrodziła się ich idea. Najwyższa pora zrozumieć, jak dokładnie działa Bitcoin.

Blockchain – księga transakcyjna bitcoina

Fundamentem Bitcoina jest technologia blockchain. Wyjaśnijmy ją, pokrótce, na przykładzie.

Załóżmy, że każda transakcja w sieci Bitcoin jest zapisywana w księdze rozrachunkowej. Jeśli wysyłamy komuś bitcoiny, powstaje w niej zapis mówiący o tym, że bitcoiny z naszego portfela zostały odjęte, po czym zostały przypisane do adresu docelowego. Każda kolejna transakcja zapisuje się w kolejnym rekordzie informacji, zwanym “blokiem”. 

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 możemy policzyć, ile kto ma bitcoinów. Jacek ma ich 21, Adam ma 2, a Marek 1 i Grzesiek mają po 1 bitcoinie. Tak, w uproszczeniu, działa blockchain Bitcoina. To właśnie księga transakcyjna jest tym, na podstawie czego oblicza się saldo naszego konta. Wystarczy, że znamy klucz publiczny do naszego adresu, który identyfikuje nas w tej księdze.  

Czym zatem różni się to od bankowości elektronicznej, która przecież działa w dość podobny sposób?

Z wierzchu podobne, diametralnie różne pod spodem

Celem nieco lepszego zrozumienia jak działa Bitcoin “od kuchni” i jakie procesy nim zawiadują, przypomnijmy sobie jedną ważną w tym kontekście właściwość scentralizowanych systemów wykorzystywanych w tradycyjnej bankowości. W tym przypadku 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 dane, w które mamy wgląd, nie uległy 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 użytkownik zainstalował natywny portfel sieci Bitcoin. Każdy, kto jest użytkownikiem systemu i posiada taki portfel, przechowuje kopię księgi u siebie. Dokonanie jakichkolwiek (autoryzowanych czy nie) zmian w takim rodzaju księgi rozrachunkowej wymaga równoczesnego wprowadzenia ich na wszystkich istniejących kopiach.

Każda dokonana transakcja zapisuje się 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.

Blockchain, czyli łańcuch bloków

Taka 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, np. tu. 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. 

Podsumowując, 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 (ang.: peer to peer), nie musimy polegać na żadnym pośredniku, gdyż o wszystkim decyduje z góry ustalony kod i obliczenia matematyczne.

Jak działa Bitcoin od strony technicznej?

Bitcoin działa zatem w sposób zdecentralizowany, dzięki czemu jest transparentny. Każdy, w dowolnym momencie, może prześledzić ścieżkę każdego BTC w obiegu.

Na tym etapie możemy przejść do nieco bardziej technicznych aspektów tego, jak działa Bitcoin. 

Prawo własności 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.

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 to adres publiczny, 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 (portfel) 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 listy 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.

Jak powstaje łańcuch bloków?

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

Jeśli chcecie mieć pełny obraz tego, jak działa Bitcoin, nie możemy pominąć kwestii podmiotów odpowiedzialnych za zapisywanie transakcji w bloku i budowania z nich łańcucha bloków. Mowa oczywiście o górnikach. Nie mamy jednak na myśli tradycyjnego przemysłu górniczego, lecz górnictwo cyfrowe, które odbywa się 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 ich pracę sieć nagradza górników cyfrowych nowymi bitcoinami (na dzień pisania artykułu jest to 6,26 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 się jednak stanie, kiedy wszystkie zostaną już wydobyte? Jak będą wynagradzani górnicy za utrzymanie sieci?

To proste, sieć będzie utrzymywała górników z prowizji za transakcje. 

Jak wydobywane są bitcoiny?

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”. Z tego powodu 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 6,25 BTC i spada o połowę co 210 tysięcy bloków, czyli co 4 lata.

Jak działa Bitcoin, podsumowując:

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 zminimalizowany. Bitcoinem nikt nie może sterować – żadna organizacja ani osoba 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 za pośrednictwem aktualizacji oprogramowania, czyli klienta bitcoin. 

Jeśli ten artykuł nie zaspokoił jeszcze Twojej ciekawości na temat działania Bitcoina, zapraszamy do zapoznania się z manifestem jego twórcy, który przetłumaczyliśmy dla Ciebie na język polski: Manifest Satoshi Nakamoto.

Jeśli zaś obecna wiedza Cię satysfakcjonuje i chcesz dowiedzieć się, jak zacząć korzystać z bitcoina (czyli gdzie go kupić i jak przechowywać), zapraszamy do dalszego zgłębiania wiedzy.

Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi
Autor

Na rynku kryptowalut od 2013 r. Współorganizowałem pierwsze w Polsce konsultacje społeczne w Sejmie dotyczące technologii blockchain, a także Polski Kongres Bitcoin, w ramach którego wystąpił Andreas Antonopoulos. Współpracowałem z posłami na Sejm RP, w celu przygotowania interpelacji na temat takich kwestii jak: kryptowaluty, CBDC czy technologia blockchain. Interesuje się historią, ekonomią, polityką i oczywiście technologią blockchain.

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności