136 92 2MB
Polish Pages [103] Year 2014
Spis treści Podziękowania . .................................................................... 5 Wstęp ................................................................................... 7 Rozdział 1. Wprowadzenie . ............................................... 11 Czym jest bitcoin? ......................................................................... 21 Przełomowy rok 2013? .................................................................. 25 Jak dziś funkcjonuje bitcoin? . ........................................................ 29 Podsumowanie .............................................................................. 30
Rozdział 2. Zasada funkcjonowania bitcoina . .................. 33 Jak funkcjonuje bitcoin? ................................................................ 33 Kryptografia .................................................................................. 33 Architektura peer-to-peer . ............................................................. 38 Wydobywanie, transakcje i bloki . .................................................. 39 Prowizje transakcyjne .................................................................... 45 Podsumowanie .............................................................................. 46
Rozdział 3. Korzystanie z bitcoina . ................................... 49 Portfele Bitcoin .............................................................................. 49 Transakcja Bitcoin ......................................................................... 54 Pozyskiwanie bitcoinów . ................................................................ 62 Fizyczny bitcoin ............................................................................. 76 Polskie prawo a bitcoin .................................................................. 77 Podsumowanie .............................................................................. 78
3
BITCOIN
Rozdział 4. Bezpieczeństwo . ............................................. 81 Anonimowość ................................................................................ 81 Double-spending ........................................................................... 84 Atak 50%+ .................................................................................. 86 Ciemna strona bitcoina .................................................................. 87 Podsumowanie .............................................................................. 94
Rozdział 5. Pierwsze kroki . ............................................... 97 Jak rozpocząć? ............................................................................... 97
Słowniczek ........................................................................101
4
Podziękowania Szczególne podziękowania pragnę wyrazić Sebastianowi Rzepce za opracowanie rozdziału wprowadzającego, dotyczącego historii pieniądza tradycyjnego. Dziękuję mojej Żonie, Kamili, za cierpliwość i motywację. Na pewno kiedyś jeszcze zapłacimy bitcoinami na wakacjach. Dziękuję Sebastianowi również za dodatkowe zmobilizowanie mnie do działania. Przecież wiedziałem, że damy radę.
5
BITCOIN
6
Wstęp
Wstęp Bitcoin, wirtualna waluta — te słowa pojawiają się coraz częściej w działach poświęconych biznesowi na portalach informacyjnych. Artykuły w internecie pomimo starań autorów, aby temat przedstawić jak najprościej, często zawierają sporo technicznych informacji i zamiast wyjaśnić, czym jest i jak działa ta elektroniczna waluta, pozostawiają Czytelnika bez jasnych odpowiedzi. Zwolennicy tej formy płatności mówią, że bitcoin to rewolucja i dla świata finansów jest tym, czym e-mail był dla tradycyjnej poczty. Przeciwnicy wirtualnej monety traktują bitcoina jako piramidę finansową lub też bańkę spekulacyjną, która kiedyś musi pęknąć. Czym tak naprawdę jest bitcoin? Intencją autora jest maksymalne przybliżenie Czytelnikowi wspomnianych zagadnień. W rozdziale 1. poruszymy temat historii pieniądza oraz rozwoju bankowości. Od transakcji barterowych postaramy się płynnie przejść do świata wielkich banków centralnych. W tej części spróbujemy także zdefiniować bitcoina, odwołując się do różnych źródeł i definicji. Omówimy także wydarzenia, które miały miejsce w 2013 r. i przyczyniły się do ogromnego wzrostu zainteresowania projektem Bitcoin. Wprowadzający rozdział porusza także temat tego, gdzie dziś można spotkać się z bitcoinem. Rozdział 2. porusza już kwestie techniczne, co ma na celu ułatwić zrozumienie zasady funkcjonowania bitcoina. Przedstawione zostaną podstawowe pojęcia oraz właściwości funkcji kryptograficznych. W rozdziale tym omówione zostaną założenia projektu oraz zasada funkcjonowania wirtualnej waluty. Przyjrzymy się ogólnie temu, w jaki sposób dokonywane są transakcje w sieci Bitcoin oraz jak jest zapisywana i rozpowszechniana między użytkownikami informacja o nich. 7
BITCOIN
Rozdział 3. mówi o praktycznym korzystaniu z bitcoina. Opisane zostaną możliwe metody przechowywania bitcoinów, a także szczegółowo zostanie przedstawiona transakcja — zarówno z perspektywy nadawcy, odbiorcy, jak i osoby trzeciej. Omówione zostaną także różne metody pozyskiwania tej wirtualnej waluty, z których każda wymaga poświęcenia różnych zasobów: tradycyjnej waluty, czasu oraz mocy obliczeniowej komputera. Na końcu rozdziału pokrótce zostaną omówione interpretacje prawne i podatkowe dotyczące posługiwania się bitcoinami. W rozdziale 4. znajdą się zagadnienia z zakresu bezpieczeństwa bitcoina. Poruszony zostanie temat prywatności użytkowników oraz zabezpieczania sieci Bitcoin przed nieuczciwymi działaniami. W tym rozdziale zostaną omówione także działania cyberprzestępców prowadzące do kradzieży bądź wyłudzeń bitcoinów, a także nielegalne transakcje przy użyciu tej waluty. Rozdział 5. to swojego rodzaju podsumowanie, które w paru krokach pomaga rozpocząć przygodę z wirtualną walutą. Ze względu na nieustanny rozwój, otwarty charakter projektu oraz duże zaangażowanie społeczności informacje o bitcoinie łatwiej znaleźć w artykułach czy na forach internetowych niż w encyklopediach i książkach. Wiele informacji można zdobyć, po prostu korzystając z bitcoina. Autor dołożył wszelkich starań, aby informacje zawarte w tej książce były jak najbardziej rzetelne i sprawdzone. Część z nich niestety jest niemożliwa do weryfikacji chociażby ze względu na ogromną skalę projektu, którego nie można odtworzyć i zasymulować. Jeżeli pojawią się wątpliwości dotyczące treści zawartych w książce lub jeśli omawiane wiadomości okażą się nieaktualne, warto poszukać więcej informacji w internecie lub samemu przetestować działanie mechanizmów bitcoina. Ważna rzecz, której trzeba być świadomym, to niska dojrzałość i ciągły rozwój bitcoina. Z tego powodu w dalszej części książki adresy internetowe portali czy kantorów Bitcoin pojawiają się stosunkowo rzadko. Nie można przecież świadomie rekomendować rozwiązania, które za kilka miesięcy może okazać się niewarte uwagi. Portale związane z bitcoinem, które są wymienione w tej publikacji, nie miały większych problemów do końca 2013 r., co nie znaczy, że nie mogą 8
Wstęp
ich mieć w przyszłości. Na koniec wstępu jeszcze jedna bardzo ważna zasada: „Pamiętaj. Inwestuj tylko tyle, ile jesteś w stanie stracić”.
9
BITCOIN
10
Rozdział 1.
Wprowadzenie Pieniądz stanowi dziś najbardziej pożądany towar na świecie. Tak — towar! Jest on jednak wyjątkowy, ponieważ można wymieniać go na każde inne dobro, wyraża wartość poszczególnych rzeczy oraz pozwala na gromadzenie bogactwa. Dobrym opisem pieniądza jest stwierdzenie, iż jest on środkiem determinującym ludzkie zachowania, gdyż można za jego pomocą wycenić wszystkie rzeczy niezbędne człowiekowi do życia, wszystkie jego pragnienia (być może jest ich zamiennikiem?). Za jego pomocą mierzymy wartość rzeczy, określamy nasze cele i realizujemy siebie. Jak to się stało, że jego znaczenie jest tak duże dla współczesnego świata i człowieka? Jak kształtowała się jego rola przez wieki, a przede wszystkim, skąd pochodzi? Należy cofnąć się do czasów pierwotnych, gdy pierwsi ludzie żyli w nielicznych skupiskach w różnych częściach świata. Poszczególne tereny, które zamieszkiwali, różniły się pod względem dostępności zasobów naturalnych, a i umiejętności poszczególnych grup osobników również nie były jednakowe. Jedni mieli wokół siebie pod dostatkiem jagód, grzybów i innych darów runa leśnego, inni doskonale wykorzystywali swoją zwinność i umiejętność wykonywania prostych narzędzi, dzięki czemu mogli polować na zwierzęta. Pewna nierównowaga i różnice w posiadanych dobrach przy podobnych potrzebach i pragnieniach ludzi doprowadziły w końcu do pierwszej wymiany towaru za towar. Tak narodził się handel. Wraz z rozwojem ludzkości wymiana towarowa też się 11
BITCOIN
rozwijała, a jej pierwszy rozkwit przypada na okres, gdy ludzie porzucili wędrowny tryb życia i zaczęli się osiedlać, rozwijając hodowlę zwierząt oraz rolnictwo. Powstawały pierwsze osady i miasta. Wytwarzano coraz więcej narzędzi i urządzeń, z początku prostych, a z czasem coraz bardziej skomplikowanych. Rozwój cywilizacji obnażył jednak słabość wymiany barterowej. Wymiana często nie była sprawiedliwa z powodu trudności w określeniu wartości poszczególnych dóbr. Trudność też sprawiała konieczność transportu towarów na wymianę, czasem na bardzo duże odległości. Jeżeli w jednym mieście brakowało mięsa, a w nadmiarze wytwarzano na przykład granit, nieporęczne było każdorazowe wybieranie się na targ do sąsiedniego miasta z ogromnym kamieniem. Zastosowano najpierw pewne rozwiązanie, które miało ułatwić handel, mianowicie wprowadzono tzw. pośredniki wymiany — były to dobra, które dla wszystkich miały podobną wartość, były podzielne i relatywnie trudno dostępne (np. sól, tkaniny). Towary te zostały zaakceptowane przez większość społeczeństwa jako pierwotny pieniądz. Jednak z biegiem czasu oraz dalszym rozwojem handlu i to rozwiązanie przestało spełniać oczekiwania handlujących. Kolejnym krokiem było zastosowanie metali, najpierw nieszlachetnych (ok. 3 tysiące lat p.n.e. w Egipcie zastosowano metalowe sztaby). Wraz ze wzrostem ich wydobycia zastąpiono je metalami szlachetnymi. Były one z oczywistych względów trwalsze, a wartość metali szlachetnych w związku z ich ograniczoną ilością była ogólnie uznana przez społeczeństwo. Znacznie mniejsze rozmiary w porównaniu z dobrami konsumpcyjnymi stanowiącymi wcześniej środek wymiany ułatwiały ich transport. Początkowo korzystano z większych kawałków metali i sztabek, jednak i to rozwiązanie z biegiem czasu okazało się kłopotliwe z powodu trudności przy ich dzieleniu i odmierzeniu odpowiedniej ilości przy finalizowaniu danej transakcji. Po pewnym czasie zaczęto posługiwać się już mniejszymi kawałkami metali, którym nadawano formę kulek, a następnie zaczęto wytwarzać bardziej spłaszczone formy. 12
Wprowadzenie
W celu zapewnienia, iż dany kawałek metalu posiada w sobie odpowiednią ilość kruszcu, a co za tym idzie, daną wartość, wybijano na kulkach podobizny władców i inne symbole. Wraz z upływem czasu zaprzestano wytwarzać kulki z wielu różnych metali oraz ich stopów i ograniczono się do złota i srebra. W ten sposób powstały monety. Pierwsze monety zaczęto wytwarzać w VII w. p.n.e. na terenie Azji Mniejszej, w Lidii. Początkowo były one bite przez złotników i kupców dysponujących odpowiednią ilością kruszcu, następnie były emitowane przez władców poszczególnych miast i państw. Wraz z rozpowszechnieniem pieniądza w obiegu w formie monet z metali szlachetnych pojawiło się zjawisko ich psucia, czyli zaniżania zawartości metali szlachetnych w ich składzie. Upadek Cesarstwa Rzymskiego przeniósł dalszy rozwój pieniądza do Europy. W średniowieczu przywilej bicia monet należał do władców lub do wyznaczonych przez nich osób i instytucji. Z powodu powszechnego w tym okresie zjawiska psucia monety przez władców pragnących zawyżyć ilość posiadanych środków pieniężnych podejmowano próby reform i ujednolicenia systemu bicia pieniądza. Około 800 r. Karol Wielki wprowadził system waluty srebrnej (monety srebrne — denary). Niestety, psucie monet nie ustało, a polegało ono teraz na biciu coraz cieńszych monet o tej samej teoretycznie wartości (takie przynajmniej było życzenie bijącego). W drugiej połowie XIII w. pojawiły się monety złote (dukaty i floreny). W XVI w. ogromne ilości srebra przywożone do Europy przez kolonizatorów z Ameryki doprowadziły do spadku wartości tego kruszcu, co wymusiło kolejne zmiany. Równolegle do rozwoju pieniądza rozwijała się bankowość, która do tego momentu odgrywała rolę przede wszystkim pośrednika i dostawcy usług, kredytów i depozytów. Na przełomie XIII i XIV w. powstały pierwsze banki na terenie dawnej Italii, a w XVII w. banki emisyjne. W tym czasie pojawiły się również pierwsze w Europie pieniądze papierowe, które były łatwiejsze 13
BITCOIN
i tańsze w produkcji, a przy rosnącym zapotrzebowaniu na pieniądz ich dostępność nie była tak ograniczona jak dostępność metali szlachetnych. Powstał system kruszcowy, który polegał w uproszczeniu na tym, iż banknoty w obiegu były wymienialne na życzenie w bankach emisyjnych na złoto. Wiek XIX i początek wieku XX były czasami nacjonalizacji banków emisyjnych i centralizacji emisji pieniądza — powstawały banki centralne. I wojna światowa, następnie inflacja i hiperinflacja oraz kryzys, jaki panował w latach 1929 – 1933, skutkowały stopniowym odchodzeniem od systemu kruszcowego, a w 1944 r., podczas konferencji w Bretton Woods, powołano Międzynarodowy Fundusz Walutowy, który miał stabilizować stosunki walutowe na świecie. Za cel obrano pełną wymienialność walut według sztywnego kursu (+/– 1,00%), przy określonym parytecie w złocie, jednak wymienialność banknotów na kruszec nie była już gwarantowana. System ten działał do początku lat 70., kiedy uległ zachwianiu w wyniku kryzysu naftowego. Postanowiono wówczas przejść na system kursów płynnych, a w 1976 r. zaprzestano określać parytet danej waluty w złocie. System ten z różnym skutkiem działa do dziś. Jak już zostało zaznaczone, początkowo pieniądz bił ten, kto posiadał kruszec. Następnie przywilej bicia monet miał władca danego państwa, ale też miały go miasta, instytucje i osoby, którym to prawo zostało nadane. Wraz z rozwojem pieniądza papierowego powstawały banki emisyjne, których w danym kraju mogło być kilka, a ich działanie nie było scentralizowane. Wymienialność banknotów na złoto w danym banku gwarantowała przez ich wartość. Ważnym aspektem w historii pieniądza jest nacjonalizacja banków emisyjnych, a w efekcie powstanie banków centralnych, w tym Fedu (ang. Federal Reserve — System Rezerwy Federalnej Stanów Zjednoczonych) w USA. Powstanie tych instytucji doprowadziło do centralizacji emisji pieniądza i dało bardzo wąskiej grupie osób możliwość wpływu na jego popyt i podaż w gospodarce. W różnych 14
Wprowadzenie
częściach świata funkcjonują one podobnie i posiadają wiele narzędzi służących regulacji popytu i podaży pieniądza (można by tutaj wymienić chociażby Radę Polityki Pieniężnej jako organ Narodowego Banku Polskiego, Europejski Bank Centralny czy wspomniany już Fed). Spośród tych organizacji największy wpływ na gospodarkę światową ma Fed, który jednocześnie jest jedynym na świecie prywatnym bankiem centralnym. Pomysł jego stworzenia powstał po wielkiej panice bankowej w Stanach Zjednoczonych z 1907 r., kiedy to rozpoczęto prace nad rozwiązaniem systemowym. Główną rolę w tworzeniu tej instytucji odegrali bankowcy reprezentujący największe amerykańskie banki (m.in. J.P. Morgan, Citibank). W 1913 r. prezydent Woodrow Wilson podpisał ustawę powołującą zaprojektowany przez wspomnianych bankowców Fed. Obecnie znaczny wpływ na kształtowanie się wartości poszczególnych walut mają instytucje finansowe i rządy, które praktycznie bez ograniczeń mogą zwiększać ilość pieniądza w obiegu poprzez dodruk i kreację pieniądza przez system bankowy. Zgodnie z prawami ekonomii takie działania mogą prowadzić do wysokiej inflacji. Podsumowując historię pieniądza, można zdefiniować go jako towar uznany za prawnie określony środek płatniczy, którym wyrażamy ceny i wartość poszczególnych dóbr, a posługujemy się nim na terenie danego kraju (waluta). Jest on społecznie akceptowany, a to, że posiada jakąkolwiek wartość, opiera się na wierze i zaufaniu do emitenta przez wszystkich uczestników rynku. Za jego wartością aktualnie stoją jedynie zapewnienia danego rządu i banku centralnego. Wielu ekonomistów zwraca szczególną uwagę na fakt, iż jest to społecznie akceptowany środek płatniczy, co w teorii mogłoby oznaczać, że pełnoprawnym pieniądzem może się stać cokolwiek, co zdobędzie tę akceptację, również waluta niestworzona przez żadne państwo ani instytucję. Równolegle do pieniądza fizycznego rozwijały się pieniądz bezgotówkowy oraz transakcje bezgotówkowe. Pieniądzem bezgotówkowym pierwsi posługiwali się Fenicjanie, którzy stworzyli 15
BITCOIN
system oparty na glinianych tabliczkach, służących do rejestrowania transakcji. Przechowywanie i gromadzenie kruszcu lub monet na własny rachunek nie zawsze było bezpieczne i wygodne. Środki pieniężne przekazywano w pierwszej kolejności złotnikom (metale szlachetne), wystawiającym specjalne dokumenty poświadczające ilość zdeponowanego kruszcu, które następnie mogły służyć jako środek wymiany i płatności. Później obok złotników pojawiły się osoby specjalizujące się w przechowywaniu środków płatniczych i wystawianiu kwitów zaświadczających o ich zgromadzonej ilości. Było to bardzo praktyczne rozwiązanie, gdyż kupiec płynący statkiem na drugi koniec kontynentu mógł w jednym mieście zdeponować za opłatą np. złoto, otrzymać certyfikat, a po dopłynięciu do celu mógł wymienić go na dokładnie taką samą ilość zdeponowanego kruszcu i prowadzić handel. Doprowadziło to do wykształcenia się specjalnych instytucji zwanych bankami, gdzie w postaci zapisu na rachunkach przechowywane są środki pieniężne klientów, którzy w obrocie mogą posługiwać się kwitami bankowymi, czekami, dokonywać przelewów (XX wiek) czy korzystać z pieniądza elektronicznego (przełom wieków XX i XXI) — zapisu w pamięci elektronicznej (np. karty płatnicze, kredytowe, pre-paid, e-wallety). Rozpowszechnienie się transakcji bezgotówkowych i rozwój bankowości oraz odejście od wymienialności pieniądza papierowego na złoto przez banki centralne skutkowało pojawieniem się zjawiska kreacji pieniądza. Działanie to polega na wprowadzaniu do obiegu dodatkowych środków pieniężnych powyżej bazy monetarnej (rzeczywistego pieniądza wyemitowanego przez bank centralny). Jest to forma bezgotówkowych transakcji mających oparcie w depozytach bankowych. W bardzo dużym uproszczeniu i skrócie można to działanie opisać w kilku krokach. Klient A składa depozyt w banku X na kwotę 100 000,00 PLN. Bank, przyjmując depozyt i biorąc pod uwagę wymagane prawem rezerwy i wskaźniki wypłacalności oraz płynności, jak również stopy procentowe ustalone 16
Wprowadzenie
przez bank centralny, udziela klientowi B kredytu w wysokości 90 000,00 PLN. W powyższej sytuacji ze 100 000,00 PLN rzeczywistej gotówki uzyskano 190 000,00 PLN w obiegu, gdyż klient A i B są w posiadaniu wymienionych kwot. Udzielenie kredytu w oparciu o depozyt nie pozbawia klienta praw do złożonych środków. Załóżmy, że klient B udał się do banku Z i złożył tam 50 000,00 PLN depozytu z pozyskanych z banku X środków. Bank Z naturalnie udzielił kredytu opartego na posiadanych depozytach klientowi C w kwocie 45 000,00 PLN. Z pierwotnej kwoty 100 000,00 PLN w obiegu znajduje się aktualnie 235 000,00 PLN w postaci zapisów na kontach bankowych. W dzisiejszej gospodarce zdecydowana większość pieniądza to pieniądz bezgotówkowy wykreowany przez system bankowy, mający tylko postać zapisów na rachunkach. Wyobraźmy sobie sytuację, w której wszyscy klienci banków chcą w tym samym czasie podjąć całość zdeponowanych środków. Z ekonomicznego punktu widzenia jest to niemożliwe, a przykłady z historii mogą służyć jako pożyteczna lekcja ekonomii (np. kryzys argentyński). Dodatkowo rozwój technik komputerowych oraz powszechność internetu spowodowały, iż obrót środkami finansowymi nabrał ogromnego tempa, a co za tym idzie, kreacja pieniądza również przebiega w tempie i w skali wcześniej niespotykanej. Wraz z rozwojem internetu oprócz rozpowszechnienia się transakcji bezgotówkowych i elektronicznych pojawiło się nowe zjawisko — waluty wirtualnej. Początkowo waluty wirtualne zaczęły funkcjonować w masowych grach internetowych (MMORPG), gdzie wirtualne dobra zdobywane w trakcie wielu godzin rozgrywek gracze wystawiali na portalach aukcyjnych. Następnie w wielu grach oraz serwisach internetowych pojawiły się wirtualne waluty umożliwiające płatności za wirtualne przedmioty lub zmiany na koncie danego użytkownika. Jako przykład może posłużyć chociażby linden dollar — waluta w grze Second Life — lub eurogąbki z rodzimego podwórka — w serwisie www.nk.pl. Zasięg tego typu 17
BITCOIN
walut jest jednak bardzo ograniczony, można się nimi posługiwać tylko i wyłącznie w ramach wybranej społeczności internetowej i należałoby je traktować jedynie jako narzędzie marketingowe, które bardziej wiąże użytkownika z danym serwisem. Nie stanowią one samodzielnego, rozpowszechnionego pieniądza. W 1996 r. powstał pierwszy system, a raczej serwis umożliwiający uniezależnienie się od rzeczywistych walut — e-gold, jednak nie była to samodzielna waluta, lecz system oparty na złocie i innych metalach szlachetnych. Następnie powstawały kolejne, podobne serwisy opierające swoją działalność na kruszcach lub dolarze amerykańskim. Jednak celem ich twórców nie było wprowadzenie niezależnej waluty jako nowego pieniądza w dosłownym znaczeniu. Były to raczej systemy transakcyjne, gdzie przelicznikiem były jednostki samego serwisu, które nie stanowiły samodzielnego pieniądza. Za transakcje pobierano opłaty, co bardziej przypominało działalność takich instytucji jak Western Union czy Money Gram, ale działających w internecie wedle własnych przeliczników. Pierwszym przypadkiem wirtualnej waluty, która stała się samodzielna i zyskała na popularności, był VEN, który pojawił się w 2007 r. w serwisie Facebook za sprawą sieci społecznościowej Hub Culture (http://www.ven.vc/about; http://www.hubculture.com/groups/ 237/projects/427/wiki/). Po roku funkcjonowania jako waluta typowo związana z internetowym serwisem społecznościowym VEN wkroczył na rynki finansowe przy współpracy z Thomson Reuters Indices. Pod koniec 2008 r. przy wykorzystaniu VEN można było dokonywać transakcji za pomocą skrzynek mailowych. Wartość VEN jest określona przez koszyk kilku rzeczywistych walut oraz dóbr (w tym cen kontraktów na dwutlenek węgla). W 2011 r. walutę tę wykorzystano przy sprzedaży kontraktu na produkcję złota w Afryce Południowej oraz przy transakcji kredytowej na dwutlenek węgla na London Carbon Market. Aktualnie VEN jest wykorzystywany przede wszystkim przez powyższą społeczność przy dokonywaniu mikropłatności. 18
Wprowadzenie
W 2009 r. za sprawą Satoshiego Nakamoto pojawił się bitcoin — anonimowa, niezależna waluta, niezwiązana z żadną instytucją, oparta na społeczności z niej korzystającej, algorytmie kryptograficznym oraz modelu peer-to-peer. Posiada ona ograniczoną liczbę 21 mln sztuk, która łącznie pojawi się na rynku, wydobyta przez użytkowników bitcoina. Po sukcesie bitcoina wielu naśladowców rozpoczęło pracę nad swoimi projektami wirtualnych walut. Warto wspomnieć chociaż o kilku z nich. W roku 2011 na rynku zaistniała wirtualna waluta litecoin (https://litecoin.orgz/). Jest ona bardzo podobna do bitcoina, posiada nieco zmodyfikowany algorytm, a maksymalna jej liczba to 84 mln sztuk. Wahania jej wartości nie są tak dokuczliwe jak w przypadku jej starszego brata i pozwala ona na przeprowadzanie mniejszych i szybszych transakcji. Wydobywa się ją podobnie jak bitcoina, ale przy mniejszym poziomie trudności. Na fali popularności wirtualnych walut w 2012 r. pojawia się peercoin, kolejna alternatywa dla bitcoina, z jeszcze bardziej dopracowanym algorytmem i teoretycznie z systemem odpornym na ataki hakerów. System ten opiera się na hybrydowym modelu proofof-stake/proof-of-work, gdzie kreacja nowych monet odbywa się nie tylko w zależności od mocy obliczeniowej komputera użytkownika, ale także od posiadanych przez niego do tej pory jednostek wirtualnej waluty. Dodatkowym wyróżnikiem jest brak maksymalnej liczby jednostek w obiegu, przewidziany jest jej stały ilościowy przyrost w wysokości 1% rocznie. Ciekawą wirtualną walutą jest freicoin (http://freico.in/). Jest ona prawie taka sama jak bitcoin, przy czym maksymalna liczba monet ograniczona została do 100 mln sztuk, a główną różnicą jest zastosowanie opłaty przestojowej, która ma wymusić obieg waluty wśród użytkowników. W odróżnieniu od bitcoina, w którego przypadku wiele osób przetrzymuje wydobyte monety w celach spekulacyjnych, co wiąże się z dużymi wahaniami cen, freicoin zniechęca do przetrzymywania środków na rachunkach. 19
BITCOIN
Innymi popularnymi wirtualnymi walutami, o których warto jeszcze wspomnieć, są: namecoin (http://namecoin.info/), feathercoin (http://feathercoin.com/), quark (http://www.qrk.cc/), primecoin (http://primecoin.org/). W tym ostatnim przypadku system wytwarzania nowych monet jest najbardziej użyteczny, gdyż ma zastosowanie naukowe (obliczenia liczb pierwszych). Aktualny pomysł na wyjście z kryzysu polegający na dodrukowywaniu pieniędzy może doprowadzić do sporej inflacji, a wtedy możliwe będzie, że większość społeczeństwa skieruje się ku ich wirtualnym odpowiednikom. Jednak by tak się stało, muszą one gwarantować pełne bezpieczeństwo i być w powszechnym użyciu. Możliwe, że dla większości będzie nie do przyjęcia fakt, iż za wymienionymi walutami nie stoi żaden rząd ani instytucja międzynarodowa, mimo że zazwyczaj to właśnie rządy wywołują kryzysy gospodarcze lub nie potrafią ich powstrzymać. Na razie można obserwować ciągłe, ogromne wahania kursów wirtualnych walut. Wahania te nie powstrzymują postępującego wzrostu ich wartości w stosunku do pieniądza tradycyjnego. Możliwe, iż ta sytuacja jest związana z hossą na giełdach światowych — dobra koniunktura zawsze skłaniała część inwestorów do wchodzenia na rynki czysto spekulacyjne, a aktualny rynek walut wirtualnych można za taki uznać. Bardzo prawdopodobny jest scenariusz, w którym przy wygaszeniu aktualnych programów dodruku pieniędzy (w szczególności dolarów przez Fed — QE) dojdzie do załamania na światowych giełdach i tym samym do wycofywania się inwestorów z posiadania wirtualnych walut. Taka sytuacja byłaby dla kryptowalut największym sprawdzianem, mogłaby stanowić o ich „być albo nie być”. Jeśli do tego czasu nie rozpowszechniłyby się one wystarczająco, a ich popularność ograniczałaby się jedynie do spekulacji, możliwe, że przestałyby istnieć w świadomości inwestorów i dzisiejszych użytkowników. Jednak jeśli przetrzymają pogorszenie się koniunktury, które może nastąpić po zakończeniu wielkiego drukowania pieniędzy, i wytrzymają wycofywanie się inwestorów 20
Wprowadzenie
z ryzykownych aktywów, a inflacja zacznie trawić tradycyjne waluty, mogą stać się one stałym elementem współczesnej gospodarki i być traktowane na równi z dolarem czy euro.
Czym jest bitcoin? Kierując się informacjami ze strony projektu bitcoin.org, można rozumieć bitcoina jako zdecentralizowaną cyfrową walutę, której jednostki tworzone są w internecie. Bitcoin posiada jednak pewne właściwości, które odróżniają go od tradycyjnych walut. Nie występuje on w postaci fizycznej, takiej jak monety czy banknoty (chociaż istnieją od tego odstępstwa, które zostaną wspomniane w kolejnych rozdziałach). Ze względu na zdecentralizowaną naturę bitcoina transfer środków zachodzi bezpośrednio między użytkownikami, bez instytucji nadzorujących bądź pośredniczących, co pozwala na znaczne zmniejszenie, a nawet wyeliminowanie prowizji transakcyjnych. Dzięki swojej ogólnej dostępności w internecie bitcoin jest dostępny w każdym kraju, niezależnie od stopnia rozwoju systemu bankowego. Konto w tej walucie należy bezpośrednio do właściciela i nie ma możliwości jego zamrożenia, chociażby przez służby rządowe, jak miało to miejsce w przypadku tradycyjnych rachunków bankowych w 2013 r. na Cyprze. Kolejną przewagą wymienianą w krótkim filmie na stronie bitcoin.org jest brak jakichkolwiek formalnych wymagań, ograniczeń czy limitów, co sprawia, że projekt Bitcoin jest otwarty dla wszystkich, niezależnie od ich wykształcenia lub zamożności. Bitcoin nie ma jednoznacznej definicji, dlatego też łatwiej dowiedzieć się, czym tak naprawdę jest, z amatorskich stron internetowych czy wolnych internetowych encyklopedii niż ze źródeł powszechnie poważanych. Według Wikipedii bitcoin to waluta cyfrowa, jednakże link „waluta cyfrowa” prowadzi do hasła „pieniądz elektroniczny”, którego definicji do bitcoina bezpośrednio przypisać nie można. Nie można bowiem chociażby wymienić 21
BITCOIN
bitcoina u wydawcy na środki pieniężne, ponieważ takowy nie istnieje. Waluta cyfrowa jest opisana w anglojęzycznej Wikipedii jako alternatywny środek płatniczy, którego używamy chociażby w grach online. Wpłacamy pewną sumę polskich złotych, za którą otrzymujemy wirtualne kredyty do wykorzystania w zakładach bukmacherskich, kasynie online czy też w przeglądarkowych grach strategicznych. O bitcoinie mówi się też bardzo często jako o kryptowalucie (choć poprawniejsze językowo może wydawać się sformułowanie „waluta kryptograficzna”) i do tego również nawiązuje anglojęzyczna Wikipedia. Według tej encyklopedii kryptowaluta to waluta cyfrowa oparta na kryptografii i działająca w zdecentralizowanej sieci typu peer-to-peer. Jako przykład podawany jest właśnie bitcoin. Ale czy to rzeczywiście do końca prawdziwe definicje? Serwis bitcoin.org mówi o tym, że bitcoin używa technologii peer-to-peer, aby przeprowadzać transakcje i tworzyć nowe bitmonety w środowisku bez centralnej władzy oraz banków. Idąc dalej, na stronie bitcoin.org możemy również znaleźć wytłuszczony tekst, mówiący o tym, że Bitcoin jest projektem open source udostępnionym publicznie, który nie ma swojego właściciela i którego nikt nie kontroluje oraz w którym każdy może uczestniczyć. Czym wobec tego może być bitcoin? Programem komputerowym? Walutą cyfrową czy kryptowalutą? W sensie informatycznym bitcoin jest zdecentralizowaną bazą informacji o przepływach pewnych wartości liczbowych między kontami użytkowników systemu. Aby przełożyć to na język finansów, możemy rozumieć wartość liczbową jako walutę bitcoin oraz konto użytkownika jako konto bankowe. Informacja o każdym przekazaniu bitcoinów z konta na konto, co w świecie finansów nazwalibyśmy informacją o przebiegu transakcji, ze względu na rozproszony charakter projektu przekazywana jest do każdego węzła w sieci, czyli każdego komputera uczestniczącego w sieci peer-to-peer projektu Bitcoin. Bitcoin używa algorytmów opartych na parze klucza publicznego i prywatnego. Konto, które w Bitcoinie 22
Wprowadzenie
nazywamy adresem, składa się z numeru oraz klucza prywatnego, który uwierzytelnia właściciela środków przechowywanych na tym koncie. Adresy przechowywane są w portfelach poszczególnych użytkowników. W sensie finansowym można bitcoina rozpatrywać jako walutę podobną do dolara amerykańskiego czy euro, z tym wyjątkiem, że nie jest kontrolowany przez władzę czy centralne banki. Można go zakupić w internetowych kantorach, wygenerować w procesie wydobywania lub też nabyć w bezpośrednich transakcjach z innymi użytkownikami (ang. face-to-face — twarzą w twarz). Bitcoinem można także płacić, nieraz szybciej i taniej niż tradycyjnym przelewem, zwłaszcza w przypadku transakcji zagranicznych. Dla ludzi dbających o swoją prywatność ważny będzie także fakt, że transakcje w bitcoinach uchodzą za anonimowe i przy zastosowaniu odpowiednich środków ostrożności można ukryć posiadane bitcoiny oraz przeprowadzane przy ich pomocy transakcje. Bitcoin został opisany w pracy Bitcoin: A Peer-to-Peer Electronic Cash System przez osobę o pseudonimie Satoshi Nakamoto na jednej z internetowych grup dyskusyjnych. Dokument, w którym w 2008 r. Nakamoto opisał swoją koncepcję wirtualnej waluty, można obecnie znaleźć pod adresem http://bitcoin.org/bitcoin.pdf. Tożsamość pomysłodawcy i głównego twórcy bitcoina do dziś jest anonimowa, przez co obrosła już różnego rodzaju mitami. Część osób twierdzi, że Satoshi Nakamoto to geniusz, który stworzył rewolucyjny w skali światowej projekt w postaci wirtualnej waluty. Inni sądzą, że za pseudonimem kryje się osoba, która już od początku wiedziała, w co może przeistoczyć się bitcoin, i chce uniknąć odpowiedzialności za stworzenie piramidy finansowej. W innej grupie odbiorców panuje przekonanie, że za całym projektem stoi rząd Stanów Zjednoczonych, z NSA na czele, który w pewnym momencie zacznie ingerować w bitcoina. W internecie pojawiły się także informacje o możliwym powiązaniu Satoshiego Nakamoto z zamkniętym przez FBI portalem Silk Road. Praw23
BITCOIN
dopodobnie nie dowiemy się, kim naprawdę jest Satoshi Nakamoto. Według przesłanek opuścił on już projekt Bitcoin w 2011 r. Jego imię zostało utrwalone w bitcoinowych „groszach”. Równowartość 0,00000001 bitcoina, czyli jego najmniejsza niepodzielna część, nazwana została 1 satoshi. Nie ma zatem jednoznacznej definicji bitcoina, którą można by przytoczyć w jednym lub dwóch zdaniach. Bitcoin to wielki projekt. Projekt, którego sukces zależy od tego, ilu ludzi uwierzy, że ciąg zer i jedynek, niewspierany przez żadne oficjalne instytucje, może mieć realną wartość. Co zatem czyni bitcoina atrakcyjnym? Przede wszystkim jest to brak centralnej jednostki zarządzającej. Żyjemy w czasach dużych wzrostów gospodarczych, z którymi wiążą się również wahania koniunktury i co za tym idzie, częstsze i dotkliwsze kryzysy gospodarcze. Wielu ludzi obawia się upadku banków, a w konsekwencji utraty życiowych oszczędności. Warto zauważyć, że jeden z największych wzrostów bitcoina w historii, kiedy jego cena znacznie przekroczyła 200 dolarów, przypadł na okres kwietnia 2013 r., kiedy to cypryjski rząd uniemożliwił obywatelom wypłatę gotówki z bankomatów. Natychmiast spadł poziom zaufania do banków centralnych, co objawiło się większym zainteresowaniem alternatywnymi inwestycjami. Ale przecież bitcoin nie służy wyłącznie do inwestowania i przechowywania środków finansowych. Użytkownicy doceniają bitcoina za łatwe, szybkie i, co najważniejsze, tanie przelewy międzynarodowe. Dzięki bitcoinowi każdy może przelać lub otrzymać środki, niezależnie od tego, z jakich usług bankowych korzysta. Wystarczy połączenie z internetem. Inna kwestia, która przyciąga użytkowników do bitcoina, to anonimowość, którą coraz trudniej zachować, kiedy wyszukiwarki, portale społecznościowe, banki czy różnego rodzaju programy partnerskie gromadzą masę informacji na temat swoich użytkowników. Bitcoin pozwala na posiadanie kilku adresów kont, z których dokonujemy przelewów bądź na które przyjmujemy płatności. 24
Wprowadzenie
Mimo tego, że wszystkie transakcje są publicznie dostępne, dość trudno jest prześledzić wszystkie zachowania danego użytkownika w sieci Bitcoin. Ostatnią, ale jakże istotną cechą bitcoina jest jego kontrolowany przyrost. Nowe bitcoiny są generowane jako nagroda dla komputerów udostępniających swoją moc obliczeniową. Nagroda wraz ze wzrostem mocy obliczeniowej jest coraz mniejsza, a ogólna liczba bitcoinów, które kiedykolwiek będą w obiegu, nigdy nie przekroczy 21 milionów.
Przełomowy rok 2013? Rok 2013 był dla bitcoina szczególny. W tym roku, po czterech latach obecności na rynku na fali rosnącej popularności, miał miejsce bardzo duży skok cenowy, a następnie ogromny spadek kursu. Rok 2013 bitcoin rozpoczął ze stabilną ceną kilkunastu dolarów. Pierwsze dramatyczne wydarzenia miały miejsce w kwietniu, a jednym z czynników, który miał na nie spory wpływ, był wspomniany już wątek cypryjski i blokada bankomatów oraz środków na kontach osobistych mieszkańców śródziemnomorskiej wyspy. Cena bitcoina znacznie przewyższyła 200 dolarów, co spotkało się z dużym zainteresowaniem mediów oraz inwestorów. Informacje o bitcoinie można było znaleźć na każdym większym polskim portalu informacyjnym, a spekulacjom nie było końca. Część uważała bitcoina za ogromną bańkę spekulacyjną, która musi kiedyś pęknąć. Inna grupa widziała w nim ogromną szansę. Pojawili się także tak zwani „niedzielni inwestorzy”, nie do końca rozumiejący ideę, którzy w szybującej ku górze kryptowalucie widzieli szansę na szybki zarobek. Aż w końcu stało się. 10 kwietnia 2013 r. kurs bitcoina spadł i z poziomu 250 dolarów znalazł się pod kreską wyznaczającą wartość 200 dolarów. Potem było już tylko gorzej i w ciągu paru następnych dni za jednego bitcoina płacono już nawet 75 dolarów. Te nagłe wahania oraz duża niestabilność z pewnością odstraszyły 25
BITCOIN
część inwestorów. Należałoby jednak zastanowić się, skąd się one wzięły. Zdaniem sporej grupy entuzjastów bitcoina nagły krach był związany ze… zbyt dużym i nieoczekiwanym sukcesem wirtualnej waluty. Bitcoin stał się ofiarą własnego sukcesu. W krótkim okresie liczba transakcji zwiększyła się, przybyło kilkadziesiąt tysięcy kont, pojawiło się zainteresowanie mediów. Niestety, infrastruktura nie była na to gotowa. Zbyt duża liczba transakcji spowodowała problemy z wydajnością serwerów głównych kantorów internetowych, czego skutkiem był brak dostępu ludzi do swoich bitcoinów oraz brak możliwości wymiany realnej waluty na bitcoina i vice versa. Problemy te wywołały w ludziach panikę. Każdy próbował dostać się do swojego konta i sprzedać szybko całą zawartość swojego portfela, zanim „wszystko upadnie”; tak zapewne myślała spora grupa inwestorów. Przeistoczyło się to w efekt kuli śniegowej i doprowadziło do spadku wartości waluty do 25% jej pierwotnego poziomu w ciągu zaledwie 48 godzin. Wielu myślało, że kwiecień 2013 r. to koniec bitcoina, a następne spadki wartości to już tylko kwestia czasu. Tymczasem dalsza część roku 2013 obfitowała w kolejne wydarzenia. Okres od kwietnia do października minął spokojnie, a kurs bitcoina oscylował głównie między 100 a 140 dolarami, kilkakrotnie nieznacznie wykraczając poza ten zakres. W tym czasie wokół tej wirtualnej waluty jednak sporo się działo. Po szumie medialnym bardzo się rozwinął sektor miningu, czyli wydobywania bitcoina (więcej o wydobywaniu będzie w kolejnych rozdziałach). Pojawiły się nowe technologie. Tak oto rozwiązania FPGA (ang. Field Programmable Gate Array) zaistniały jako ciekawa alternatywa dla tych opartych na kartach graficznych, a w ostateczności zostały zastąpione przez urządzenia zbudowane na bazie architektury ASIC. Trudność wydobycia wzrosła w tym czasie niemalże dwustukrotnie, a sieć Bitcoin umocniła się na pozycji najpotężniejszej maszyny obliczeniowej na świecie. Wpływ na to miało przede wszystkim pojawienie się maszyn opartych na układach ASIC, które było skutkiem odbloko26
Wprowadzenie
wania starych zamówień na ASIC przez kilku amerykańskich dostawców. W pierwszych dniach października FBI zamknęło wspomnianą już witrynę Silk Road — usługę ukrytą w sieci TOR, anonimizującej użytkowników, która złą sławę zawdzięczała sprzedaży broni oraz narkotyków. Serwis Silk Road korzystał z bitcoinów jako anonimowej metody dokonywania płatności przez strony transakcji, dlatego informacja o zamknięciu nielegalnej witryny spowodowała nagły spadek wartości bitcoina z poziomu 140 do nawet 110 dolarów, znów w ciągu zaledwie kilku godzin. W wyniku działań FBI zatrzymano ponad 26 000 bitcoinów, które do dziś znajdują się pod jednym z adresów sieci Bitcoin; można go podejrzeć chociażby w portalu blockchain.info. Co ciekawe, popularność tego portfela próbują wykorzystać inni użytkownicy sieci, przelewając na niego małe kwoty z własnym adresem w Bitcoinie oraz prośbą o datki w publicznie dostępnym komentarzu. Bitcoin szybko otrząsnął się z chwilowego spadku, co pozwala wierzyć, że wirtualna waluta posiada także inne, legalne zastosowania. Październik 2013 r. był miesiącem stabilnego wzrostu do poziomu nieco ponad 200 dolarów za 1 bitcoina. W listopadzie 2013 r. miała miejsce niezwykła sytuacja, kiedy konsekwentnie przez cały miesiąc kurs bitcoina rósł z wyjściowego stanu 200 dolarów aż do 1200 dolarów w ostatnim dniu miesiąca. W listopadzie zaszły też inne ważne dla wirtualnej waluty wydarzenia. W połowie miesiąca odbyła się dyskusja senatorów amerykańskich na temat nowej kryptowaluty. Stwierdzono, że wirtualne waluty mogą być usługą finansową świadczoną z takimi samymi korzyściami oraz ryzykiem jak inne systemy płatności online. Mimo że amerykański senat zauważył nielegalne zastosowania bitcoina, cała konferencja zakończyła się jedynie krótkotrwałym, dwudniowym spadkiem kursu z poziomu 800 do 500 dolarów, który po kolejnych dwóch dniach znów zaczął się piąć. Nie bez znaczenia była też deklaracja multimilionera Richarda Bransona, którego firma Virgin Galactic zaakceptowała płatności dokonywane w bitcoinach. 27
BITCOIN
Sam Branson, znany ze swoich oryginalnych pomysłów, przyznał w wywiadzie dla jednej ze stacji telewizyjnych, że wirtualna waluta posłuży raczej za medium transmisyjne, a Virgin Galactic będzie wymieniać ją na dolary, które następnie posłużą do realizacji lotów w kosmos. W tym samym wywiadzie multimilioner przyznał, że pierwsza płatność w bitcoinach wpłynęła już na konto Virgin Galactic. Przełom listopada i grudnia 2013 r. obfitował w kolejne wydarzenia związane z rosnącą popularnością bitcoina, zwłaszcza w Chinach. Płatności w wirtualnej walucie zostały zaakceptowane przez Baidu, największą wyszukiwarkę internetową Państwa Środka. Chwilowy optymizm przerwała jednak reakcja chińskiego rządu, który oznajmił, że bitcoin nie ma żadnej podstawy prawnej, wobec czego nie powinien być używany przez instytucje finansowe. W oświadczeniu nie ma jednak mowy o tym, że bitcoin jest w Chinach nielegalny — można go używać ze świadomością ryzyka, które się z tym wiąże. Na niepokojące wieści z Azji rynek bitcoina zareagował dwudniowym spadkiem, po którym nastąpiła korekta do ceny na poziomie 1000 – 1100 dolarów. Pod koniec roku 2013 pojawiły się także informacje, że bitcoinem interesują się ogromne banki inwestycyjne oraz korporacje z Doliny Krzemowej. Co może to oznaczać dla wirtualnej waluty? Bitcoin nie jest kontrolowany przez żaden rząd czy bank centralny, wobec czego jest narażony na spekulacje. Nie istnieje centralna jednostka, która posiada odpowiednie rezerwy i jest w stanie obronić w pewien sposób walutę, niwelując jej wahania kursowe. Olbrzymie transakcje skupu i sprzedaży bitcoina mogą zachwiać rynkiem wirtualnej waluty. Czy bitcoin może zacząć być w pewien sposób kontrolowany, jeśli zainteresują się nim banki inwestycyjne? Czas pokaże. Przy założeniu, że bitcoin nadal będzie się rozwijał, jest tylko kwestią czasu to, kiedy kolejne rządy zaczną debatować nad wadami i zaletami transakcji w walucie wirtualnej. Mieliśmy już kon28
Wprowadzenie
ferencje w USA, próbę regulacji bitcoina w Tajlandii, jego klasyfikacji w Niemczech lub wreszcie oświadczenie rządu Chin. W najbliższych miesiącach z pewnością pojawią się nowe interpretacje.
Jak dziś funkcjonuje bitcoin? Płatności w bitcoinach są dostępne nie od dziś, a grono firm, które zdecydowały się na akceptację kryptowaluty, nieustannie rośnie. Bitcoinami można dzisiaj płacić nie tylko za hosting czy transfer w popularnych serwisach przechowujących pliki, ale także za jedzenie, benzynę, bilety lotnicze, kasyno czy po prostu piwo w pubie. Ostatnimi czasy uniwersytet w Nikozji (znów pojawia się wątek cypryjski w historii bitcoina) zaakceptował płatności czesnego w bitcoinach. Podobnie jak Virgin Galactic, uczelnia planuje wymieniać otrzymane płatności na euro ze względu na spore wahania kursu wirtualnej waluty. Ponieważ studia w Nikozji kończy wielu studentów z Afryki oraz Azji, przelew w bitcoinach może nieraz okazać się dla nich tańszy od tradycyjnego, a przy przestarzałych systemach bankowych może być on jedyną możliwością zapłaty za studia. Donacje w bitcoinach zaczynają wkraczać także w świat otwartego oprogramowania. Na akceptację bitcoinów zdecydował się już projekt LibreOffice, czyli darmowy pakiet oprogramowania biurowego. Bitcoinami można wspomóc także portal WikiLeaks, który ze względu na niewygodną dla niektórych rządów działalność kilkakrotnie został odcięty od dotacji składanych tradycyjną drogą. Istnieją opisane w internecie przypadki prywatnych osób, które za bitcoiny kupiły samochody czy nawet domy. Z końcem roku 2013 jeden z luksusowych producentów samochodów zaakceptował przelew bitcoinów za jeden ze swoich elektrycznych modeli. W rzeczywistości bitcoiny jednak nie dotarły do firmy, lecz podobnie jak w przypadku uniwersytetu w Nikozji czy firmy Virgin Galactic, zostały od razu wymienione na dolary amerykańskie. 29
BITCOIN
Sytuację można porównać do wprowadzania płatności kartą kredytową w placówkach handlowych. Na początku usługi pośrednictwa były zbyt drogie i na zainstalowanie terminalu decydowali się tylko nieliczni. Dziś jest już dawno po ogólnej społecznej akceptacji nowej formy rozliczeń i rzadko zdarza się znaleźć sklep, w którym za zakupy nie można zapłacić plastikową kartą. Miejmy nadzieję, że podobnie będzie z bitcoinem i że już wkrótce przy kasach na stałe zagoszczą gotowe do skanowania kody QR. Bitcoin używany jest również jako platforma inwestycyjna, chociaż ze względu na spore wahania kursu powinien być traktowany jako inwestycja wysokiego ryzyka, a zainteresowany inwestor musi zaakceptować możliwość utraty większej części kapitału. Co jakiś czas jednak słychać o nowych „bitcoinowych milionerach”, którzy w ramach eksperymentu w 2009 czy 2010 r. kupili kilka tysięcy sztuk wirtualnej waluty, wówczas wartej zaledwie kilka centów za jednostkę. Wzrost wartości z poziomu 0,06 dolara do 1200 dolarów w przeciągu 4 lat można śmiało nazwać imponującym.
Podsumowanie Pieniądz został wprowadzony jako ułatwienie wymiany towarów między ludźmi i stanowił swojego rodzaju alternatywę dla wymiany barterowej. Po wielkim kryzysie na początku XX wieku zaczęto wprowadzać regulacje dotyczące systemów bankowych. Rozwój bankowości pociągnął za sobą zjawisko kreacji pieniądza, które prowadzi do wytwarzania środków niemających pokrycia w żadnych dobrach materialnych. Wartość pieniądza zależy w rzeczywistości od zaufania ludzi, którzy nim obracają. Wirtualne waluty pojawiły się pierwszy raz w kontekście portali internetowych, oferujących różnego rodzaju usługi (od gier aż po portale społecznościowe). Tego rodzaju środki płatnicze miały jednak jedynie zasięg lokalny, ograniczony do danej strony internetowej. Pojawiły się waluty wirtualne, które swoje oparcie miały 30
Wprowadzenie
w cenach realnych surowców. W 2009 r. rozpoczął się projekt Bitcoin, którego sukces spowodował powstanie innych walut cyfrowych, często opartych na podobnym protokole. Alternatywne waluty wprowadzają pewne modyfikacje do pierwotnej koncepcji bitcoina, eliminując jednocześnie określone wady lub dodając nowe właściwości, na przykład praktyczne zastosowania obliczeń związanych z wydobywaniem. Podobnie jak w przypadku innych walut czy kruszców, powodzenie bitcoina będzie zależeć od zaufania ludzi, którzy zdecydują się dokonywać różnego rodzaju transakcji z wykorzystaniem tej właśnie waluty. Fakt, że za bitcoinem nie stoi żaden rząd czy instytucja, może być jednocześnie i zaletą, i wadą. Istnieje jednak szansa, że w okresie pozytywnych zmian w gospodarce część inwestorów zdecyduje się na ryzykowne inwestycje, do których bitcoin bez wątpienia należy. Bitcoin nie ma postaci fizycznej i jest de facto jedynie zbiorem danych, przechowywanych na dysku twardym komputera. Historia tej wirtualnej waluty rozpoczyna się pracą tajemniczej osoby, ukrywającej się pod pseudonimem Satoshi Nakamoto, która już w 2008 r. opisała tę ideę. Bitcoin konsekwentnie rozwija się, a rok 2013 był dla niego bez wątpienia przełomowy. Pod koniec roku 2013 bitcoin wychodzi z podziemia i staje się dostępny dla coraz większej grupy osób, ponadto nieustannie się zwiększa grono firm, które decydują się na akceptację płatności w walucie wirtualnej.
31
BITCOIN
32
Rozdział 2.
Zasada funkcjonowania bitcoina Jak funkcjonuje bitcoin? Aby zrozumieć ideę bitcoina, trzeba poznać chociaż część teoretycznych podstaw jego funkcjonowania. W tym rozdziale poruszymy sporo kwestii technicznych, aby przybliżyć w jak najprostszy sposób używane w dalszej części książki pojęcia bloku, wydobywania czy transakcji. Ponieważ sporo operacji w sieci Bitcoin opiera się na kryptografii, nie sposób również omówić zasady działania wirtualnej waluty bez przybliżenia podstawowych pojęć z tej dziedziny.
Kryptografia Słowo „kryptografia” odmieniane jest przez wszystkie przypadki w rozmaitych definicjach bitcoina. Nic dziwnego, w końcu to właśnie algorytmy szyfrujące i działania matematyczne stanowią podstawę działania wirtualnej waluty. Mimo że większość informacji, jak chociażby historia transakcji, jest jawna, szyfrowanie odgrywa kluczową rolę w zabezpieczeniach mechanizmów bitcoina. Kryptowaluta, jak nieraz zwany jest bitcoin, korzysta przede wszystkim z kryptograficznych funkcji skrótu oraz kryptografii klucza publicznego. 33
BITCOIN
Funkcje skrótu (ang. hash function) Funkcja skrótu, zwana także funkcją haszującą, jest algorytmem komputerowym, uruchamianym na pewnych danych wejściowych. Wynikiem działania tej funkcji jest skrót (hash) o stałej długości. Dla przykładu znana i popularna w internecie funkcja MD5 generuje skrót o stałej, 32-znakowej długości, składający się ze znaków 0 – 9 oraz a – f. Spróbujmy wywołać taką funkcję dla przykładowych danych wejściowych, czyli ciągu „Bitcoin2013”. Możemy tego dokonać między innymi w licznych generatorach online lub w systemie operacyjnym Linux, używając komendy md5sum. W obu przypadkach otrzymamy taki sam skrót, widoczny na rysunku 2.1.
Rysunek 2.1. Jeden z popularnych w internecie generatorów hashy
Obliczenie jednego hashu MD5 jest bardzo szybkie. W teście przeprowadzonym na przykładowej maszynie klasy domowego komputera PC 1000 hashy MD5 obliczanych było w przeciągu 1,246 sekundy, co daje przybliżoną prędkość 803 hashy na sekundę. Funkcja haszująca ma zawsze taki sam wynik dla tych samych danych wejściowych i często możemy spotkać się z nią przy pobieraniu plików z internetu. Obok nazwy pliku znajduje się zapisany hash. Na pobranym pliku możemy wywołać funkcję haszującą na lokalnym dysku i sprawdzić, czy zwróciła ona taki hash, jaki widnieje na stronie internetowej. Dzięki temu zyskujemy pewność, że plik został pobrany w całości i nie został po drodze zmodyfikowany (rysunek 2.2).
34
Zasada funkcjonowania bitcoina
Rysunek 2.2. Strona pobrań klienta Bitcoin-qt na sourceforge.net. Obok pliku wykonywalnego EXE widnieją hashe SHA1 oraz MD5, które można wykorzystać do weryfikacji pliku po pobraniu
Funkcja skrótu jest jednostronna, ponieważ na podstawie hashu nie jesteśmy w stanie odtworzyć danych wejściowych, które posłużyły do jego wygenerowania. Poza nielicznymi przypadkami, które zostaną omówione na końcu tej sekcji, odtworzenie źródłowych danych jest często niemożliwe w zadowalającym czasie. Dobrze znane funkcje skrótu to wspomniana już MD5 czy SHA-256, które generują odpowiednio 32- i 64-znakowy skrót, używając znaków heksadecymalnych (cyfry 0 – 9 oraz litery a – f). W projekcie Bitcoin wykorzystywana jest ta druga funkcja, ze względu na to, że funkcja MD5 jest już raczej przestarzała i nie może zapewnić odpowiedniego poziomu bezpieczeństwa. Dla wymienionych wyżej funkcji skrótu bardzo mała zmiana w źródłowym zbiorze danych spowoduje, że wynikowy hash będzie zupełnie inny niż oryginalny. Taki mechanizm pozwala upewnić się, że obrabiany zbiór danych, którym może być tekst, plik lub 35
BITCOIN
też blok transakcji bitcoina, nie został zmieniony przez nieuprawnionego użytkownika. Przyjrzyjmy się, jak wygląda to na bardzo prostym przykładzie. Obliczymy skrót SHA-256 dla wyrażeń „Ala ma kota” oraz „Ola ma kota”. Te dwa zdania różnią się tylko jednym znakiem — w pierwszym z nich występuje duża litera A, w drugim duża litera O. Skrót można obliczyć z wykorzystaniem polecenia linuksowego sha256sum, jak również innych programów bądź generatorów online. Oto obliczony skrót SHA-256 z dwóch różnych wyrażeń: „Ala ma kota” 124bfb6284d82f3b1105f88e3e7a0ee02d0e525193413c05b75041917022cd6e
„Ola ma kota” 36ad917e863b5321bff77734fd52888ccf03c503bd51f649cb1ed4c28a19e5ef
Oba hashe mają kompletnie inną wartość i w żaden sposób nie zdradzają, że pochodzą z tak bardzo zbliżonych do siebie wejściowych łańcuchów znaków. W sieci Bitcoin funkcje skrótu używane są między innymi przy obliczaniu adresu Bitcoin, który wynika bezpośrednio z powiązanego z nim klucza prywatnego. Dzięki nieodwracalnemu działaniu funkcji haszujących udostępnienie swojego adresu Bitcoin publicznie nie pociąga za sobą ryzyka poznania związanego z nim klucza prywatnego. Z drugiej strony dzięki łatwemu obliczaniu hashu z zadanego łańcucha wejściowego użytkownik posiadający klucz prywatny jest w stanie bardzo szybko dowieść, że dany adres Bitcoin należy właśnie do niego. Funkcje haszujące używane są także do obliczania sum kontrolnych bloków transakcji oraz w celu zapewnienia integralności łańcucha bloków, co będzie opisane w dalszej części książki.
36
Zasada funkcjonowania bitcoina
Funkcja odwrotna do funkcji haszującej W jaki sposób możemy zastosować odwrotność funkcji haszującej oraz otrzymać wartość „Bitcoin2013”, znając jedynie wartość hashu MD5 (8d336f35c9c240464aa30fba8bd477a7)? Ogólnie rzecz biorąc, dla dobrej funkcji haszującej zadanie „oblicz hash H z łańcucha znaków Z” jest dużo prostsze niż „oblicz łańcuch znaków Z, znając hash H”. Abstrahując od słabości algorytmu MD5, ataków słownikowych, tablic tęczowych oraz innych „udogodnień”, w ogólności należałoby wygenerować hash z każdej możliwej kombinacji znaków, a następnie każdy z tych hashy porównać z oczekiwanym wynikiem. Na klawiaturze komputera mamy 26 znaków liter oraz 10 znaków cyfr. Każda litera może występować w ciągu jako mała lub duża. Łącznie daje to 26 liter dużych + 26 liter małych + 10 znaków = 62 możliwości znaku na każdym z miejsc. Jeśli zamierzamy sprawdzić tylko ciągi 11-znakowe (taką długość ma nasz przykładowy ciąg znaków „Bitcoin2013”), to do przetestowania mamy 6211 możliwości (liczbowo jest to równe 52 036 560 683 837 093 888 kombinacjom). Przy zmierzonej prędkości 803 hashy na sekundę wynikiem będą 2 054 879 844 lata (!) niezbędne do sprawdzenia wszystkich kombinacji. Nawet jeśli nasz komputer będzie 100, 1000 czy 1 000 000 razy szybszy, wynik nadal może nie zostać sprawdzony za naszego życia. Kryptografia klucza publicznego Kryptografia klucza publicznego, zwana także kryptografią asymetryczną, korzysta z dwóch matematycznie powiązanych ze sobą kluczy: publicznego i prywatnego. Klucz publiczny, zgodnie z nazwą, może zostać udostępniony szerokiemu gronu odbiorców, bez ryzyka manipulacji danymi. Klucz prywatny natomiast jest wartością, którą posiadacz powinien pozostawić dla własnej informacji. Matematyczna zależność kluczy polega na tym, że wiadomość zaszyfrowaną jednym z nich można odszyfrować tylko drugim. 37
BITCOIN
Jak takie szyfrowanie przebiega w rzeczywistości? Załóżmy, że użytkownik Adam chce wysłać wiadomość zaszyfrowaną asymetrycznie do użytkownika Bartek. Adam pobiera zatem klucz publiczny Bartka i szyfruje nim wiadomość, którą następnie wysyła. Wiadomość taka jest teoretycznie (wykluczając wszelkiego rodzaju ataki czy nadużycia) możliwa do przeczytania tylko po rozszyfrowaniu jej kluczem prywatnym Bartka. Para kluczy prywatnego i publicznego jest związana z każdym kontem Bitcoin i służy do cyfrowego podpisywania transakcji i weryfikacji podpisów cyfrowych. Transakcja w bitcoinach zostanie prawidłowo podpisana przy użyciu klucza prywatnego nadawcy. Dzięki temu wiadomo, że to on zlecił transakcję w bitcoinach (pod warunkiem że nikt nie posłużył się jego, nieprawidłowo przechowywanym, kluczem prywatnym). Z drugiej jednak strony każdy użytkownik sieci Bitcoin może tę transakcję zweryfikować, używając publicznego klucza nadawcy.
Architektura peer-to-peer Peer-to-peer to rozproszona architektura sieci. W tym modelu każdy użytkownik jest równy i łączy się bezpośrednio z innymi komputerami w sieci. Nie ma jednoznacznej hierarchii oraz podzielonych ról na maszynę żądającą zasobów i udostępniającą zasoby, jak w przypadku architektury klient-serwer. Mechanizm peer-to-peer zapewnia zdecentralizowany rynek oraz swojego rodzaju bezpieczeństwo. Sieć Bitcoin nie jest bowiem uzależniona od konkretnego serwera, którego awaria spowodowałaby problemy polegające na tym, że posiadacze bitcoinów z całego świata nie mieliby dostępu do swoich środków. Oprócz tego zdecentralizowana sieć uniezależnia bitcoina od centralnych systemów zarządzających oraz utrudnia wszelkiego rodzaju manipulacje oraz monitoring przechodzących przez nią transakcji. Cała sieć opiera się na zaangażowaniu użytkowników, których obecność tworzy projekt. 38
Zasada funkcjonowania bitcoina
Ze względu na rozproszony charakter architektury peer-to-peer nie ma możliwości szybkiego wyłączenia całej sieci, na przykład w przypadku zdelegalizowania bitcoina w którymkolwiek kraju.
Wydobywanie, transakcje i bloki Bitcoin jest zdecentralizowaną kryptowalutą. Oznacza to, że funkcjonuje w sieci peer-to-peer, nie podlega centralnym bankom czy urzędom i opiera się na szerokim wykorzystaniu funkcji kryptograficznych. Bitcoin jako waluta, której symbolem są litery BTC, jest podzielny do ośmiu miejsc po przecinku. Wyróżniamy różne nazwy, głównie w systemie metrycznym, związane z każdą cząstką wirtualnej waluty: 0,01 BTC to 1 centBitcoin lub bitcent (cBTC) 0,001 BTC to 1 miliBitcoin lub mbit (mBTC) 0,000001 BTC to 1 mikroBitcoin lub ubit (μBTC) 0,00000001 BTC to 1 satoshi Przy obecnej cenie bitcoina nie jest konieczne używanie najmniejszych wartości. Jeśli jednak kiedyś 1 BTC osiągnie wartość 10 000 dolarów, to przy obecnej cenie dolara 1 satoshi będzie warty zaledwie 0,0003 polskiego grosza. Czy większy wzrost wartości jest w ogóle możliwy? Oczywiście nie ma na to pytanie jednoznacznej odpowiedzi, można jednak sugerować się tym, że bitcoin w momencie rozpoczęcia realizacji projektu, w styczniu 2009 r., kosztował zaledwie kilka centów, a w kwietniu 2013 r. jego cena przekroczyła 250 dolarów. Oznacza to wzrost o 25 000 razy w ciągu zaledwie czterech lat. Kolejne miesiące roku 2013 obfitowały w jeszcze większe niespodzianki… Każdy z 21 milionów bitcoinów, które kiedykolwiek będą w obiegu, pojawi się w sieci jako nagroda za udostępnioną przez użytkowników moc obliczeniową w procesie zwanym wydobywaniem. Wydobywanie to rozwiązywanie skomplikowanej obli39
BITCOIN
czeniowo zagadki matematycznej, która niezbędna jest do rozwiązania bloku. W bloku gromadzone są transakcje, a rozwiązanie bloku oznacza jego weryfikację i dodanie go do publicznie dostępnego łańcucha bloków, który systematycznie tworzony jest od początku istnienia projektu. Pierwszy blok został rozwiązany przez Satoshiego Nakamoto 3 stycznia 2009 r. i wtedy właśnie pierwsza nagroda wysokości 50 BTC pojawiła się w sieci. Kolejne 50 BTC trafiało do sieci co mniej więcej 10 minut, aż do 28 listopada 2012 r., kiedy rozwiązany został blok numer 210 000 i zgodnie ze specyfikacją protokołu nagroda została zmniejszona o połowę. W okresie rozwiązywania kolejnych 210 000 bloków, co przy założeniu średniego rozwiązania bloku co 10 minut będzie trwać około 4 lat, nagroda będzie wynosić 25 BTC. W okolicach roku 2016 zostanie ona zmniejszona do 12,5 BTC itd., aż w końcu wyniesie zero, a wszystkie bitcoiny (czyli 21 milionów) zostaną włączone do obiegu. Koniec wydobycia zapowiadany jest na rok 2140. Wspomnieliśmy o tym, że średnio jeden blok generowany jest co 10 minut, a 210 000 bloków jest generowanych w cztery lata. Dlaczego mówimy o średnim czasie i w jaki sposób kontrolowana jest ta wartość? Służy do tego parametr trudności, który dostosowuje się do aktualnej sumy mocy obliczeniowej maszyn wydobywających bitcoiny. Wraz z pojawianiem się nowych technologii oraz rozrostem sieci Bitcoin rośnie także jej moc. Dostosowując się do coraz potężniejszej sieci, trudność rośnie w taki sposób, aby przy nowej mocy kolejne rozwiązanie bloku odbyło się w czasie maksymalnie zbliżonym do 10 minut. Dzięki zmianie trudności bitcoin zachowuje stałą prędkość rozwiązywania bloków, jednocześnie kontrolując pojawianie się nagrody za wydobycie (w postaci nowych wirtualnych monet) w obiegu. Niezależnie od tego, czy bitcoina będzie wydobywało pięć komputerów osobistych, czy sto superkomputerów, trudność zostanie dostosowana tak, aby średni czas między rozwiązaniem kolejnych bloków był jak najbliższy 10 minutom. 40
Zasada funkcjonowania bitcoina
Skoro już wiemy, czym jest wydobycie i w jaki sposób nowe bitcoiny trafiają na rynek, pora wyjaśnić, w jaki sposób zmieniają właściciela. Najmniejszą jednostką, którą będziemy wyszczególniać w całym łańcuchu bloków, jest transakcja. Transakcję możemy rozumieć jako przelew pewnej kwoty od użytkownika A do użytkownika B. Mechanizm bitcoina opierający się na rozproszonej sieci i charakteryzujący się brakiem centralnej jednostki zarządzającej powoduje, że wszystkie transakcje muszą być jawne i dostępne dla każdego użytkownika sieci. Dzięki temu mamy nie tylko wiedzę o tym, jakich dokonaliśmy transakcji, ale możemy też bez większych problemów dowiedzieć się, że w konkretnym dniu użytkownik X wysłał użytkownikowi Y kwotę Z BTC. Nie da się jednak w łatwy sposób dowiedzieć, kim są owi użytkownicy X oraz Y, co jest jedną z głównych zalet projektu wirtualnej waluty. Transakcja między dwoma użytkownikami polega na przepisaniu środków z jednego adresu źródłowego lub większej liczby adresów źródłowych na jeden adres docelowy lub wiele takich adresów. Adres Bitcoin to ciąg 27 – 34 alfanumerycznych znaków (wielkość liter ma znaczenie!), rozpoczynający się od cyfry 1 lub 3, który obliczany jest podstawie klucza prywatnego z wykorzystaniem takich funkcji jak RIPE-MD160, SHA-256 i Base58. Ze względu na długość oraz możliwość pomyłki przy przepisywaniu adresy Bitcoin posiadają sumę kontrolną, czyli znak lub grupę znaków, która obliczana jest na podstawie innych elementów ciągu. W celu dokładnego prześledzenia metod walidacji poprawności adresów Bitcoin (na przykład w zewnętrznych aplikacjach transakcyjnych) należałoby odnieść się do dokumentacji projektu. Przykładowy adres to: 1EwHuLGfJS5ivx1JQSuMLi9u1yuC3GCR1D
Każdy użytkownik może mieć wiele adresów, które wraz z kluczami prywatnymi przechowywane są w tak zwanym portfelu, czyli zaufanym oprogramowaniu, które może mieć postać aplikacji 41
BITCOIN
komputerowej, mobilnej lub też portalu internetowego. Adres Bitcoin w żaden sposób nie zdradza tożsamości jego właściciela, chociaż informacje o wszystkich transakcjach powiązanych z danym adresem można znaleźć w publicznie dostępnych bazach danych. Znając adres, taki jak podany powyżej, możemy przesłać na niego bitcoiny (do czego gorąco zachęcam :)) lub obejrzeć jego saldo i historię transakcji w łańcuchu bloków. Jedynie posiadanie klucza prywatnego pozwala zarządzać przypisanymi do danego adresu wirtualnymi monetami. Zgubienie klucza prywatnego będzie oznaczać, że dostęp do bitcoinów znajdujących się na danym adresie będzie niemożliwy, aczkolwiek przy znajomości adresu wciąż będzie można sprawdzić liczbę znajdujących się na nim środków. Klucz prywatny związany z adresem Bitcoin jest używany do podpisywania transakcji. Podpisanie transakcji kluczem stanowi dowód, że żądanie przekazu środków zostało utworzone przez ich prawowitego właściciela, oraz gwarantuje, że transakcja nie została po drodze zmodyfikowana. Każda transakcja składa się z kwoty wejścia oraz wyjścia. Kwota wejścia może być pusta, jeśli monety zostały stworzone w procesie wydobywania i nie miały wcześniej właściciela. W innym przypadku kwocie wejścia przypisana będzie kwota wyjścia z innej transakcji, która wpłynęła kiedyś na adres, z którego wysyłane są bitcoiny. Załóżmy, że użytkownik A otrzymał od kolegi przelew 0,1 BTC, a następnie decyduje się 0,04 BTC przelać do internetowego kantoru, aby móc wypłacić równowartość w złotówkach. W drugiej transakcji kwotą wejściową będzie 0,1 BTC (taką kwotę otrzymał użytkownik od kolegi), a kwotą wyjściową 0,04 BTC (taka kwota wędruje na adres kantoru internetowego). Kwota 0,06 BTC, czyli różnica między kwotą wejściową a wyjściową, zostanie pomniejszona o ewentualną prowizję i zwrócona nadawcy (rysunek 2.3).
42
Zasada funkcjonowania bitcoina
Rysunek 2.3. Rola oraz przepływ kwot wejściowych i wyjściowych w transakcjach Bitcoin
W jaki sposób transakcje w bitcoinach są powiązane z wydobywaniem nowych wirtualnych monet? Transakcje w bitcoinach wiązane są w bloki, które z jednej strony gromadzą informacje o transakcjach, a z drugiej są rozwiązywane przez wydobywających. Blok jest zbiorem informacji o ostatnio zrealizowanych przez sieć Bitcoin transakcjach. Kiedy transakcja trafia do bloku, jest weryfikowana oraz zapisywana w łańcuchu w taki sposób, że nigdy już nie będzie mogła być zmieniona. Łańcuch stanowi chronologicznie uporządkowaną listę bloków, z których każdy kolejny zawiera odwołanie (w postaci hashu nagłówka) do bloku poprzedniego, dzięki czemu sieć zabezpiecza się przed modyfikacją archiwalnych transakcji. W jednym bloku może znaleźć się dowolna liczba transakcji, która będzie zależeć od aktualnej aktywności użytkowników w sieci. Aby rozwiązać blok, czyli nieodwracalnie dodać go do łańcucha, uczestnicy konkurują ze sobą w procesie wydobywania. Specjalnie przygotowane komputery, zwane koparkami, szukają takiej wartości liczby n, która wraz z całą zawartością bloku będzie stanowić rozwiązanie pewnej matematycznej zależności opartej na haszowaniu. Ten z górników (jak nazywa się osoby wydobywające bitcoiny), który poda wartość liczby n jako pierwszy, otrzymuje nagrodę w postaci nowych monet (więcej informacji o wydobywaniu bitcoinów oraz technicznych szczegółach wydobycia będzie w kolejnych rozdziałach). W ten sposób pula dostępnych w obiegu bitcoinów systematycznie się powiększa. Dla pierwszych 210 000 rozwiązanych bloków nagrodą było 50 BTC. Ta era skończyła się zmniejszeniem nagrody o 50%, do wartości 25 BTC, 28 listopada 43
BITCOIN
2012 r. Oznacza to, że do tej daty w obrocie było 210 000 * 50 BTC = ponad 10 milionów bitcoinów. Przez kolejny rok przybyło ich już tylko około 1,3 miliona. W okolicach końca 2016 r. nagroda zostanie znowu zmniejszona o 50%, do 12,5 BTC. Każdy blok ma jedną, niepowtarzalną ścieżkę dotarcia do bloku numer 1, natomiast przechodząc przez łańcuch bloków, od najstarszego do najnowszego, możemy natrafić na rozgałęzienia. Równoległe ścieżki mogą pojawić się wtedy, kiedy w bliskim odstępie czasowym stworzone zostaną dwa bloki. W jaki sposób zatem system rozpozna, który z nich jest prawdziwy? Załóżmy, że powstały dwa równoległe bloki: X oraz Z, które mają jednego rodzica — blok A. Zarówno węzeł sieci, który stworzył blok X, jak i jego konkurent, który stworzył blok Z, propagują informację o nowym bloku w sieci peer-to-peer. Każdy z węzłów generujących bloki pierwszą odebraną informację potraktuje jako prawdziwą. Załóżmy zatem, że informacja o tym, że blok X jest następcą bloku A, trafiła do 60% węzłów wydobywających szybciej niż informacja o tym, że to blok Z powinien być następny w łańcuchu po bloku A. Zgodnie z założeniem 60% węzłów generujących bitcoiny będzie pracować nad następnym blokiem, którego rodzicem będzie blok X, a 40% węzłów będzie obliczać kolejny blok, którego rodzicem miałby być blok Z. Gdy któraś grupa skończy obliczanie jako pierwsza, roześle informację do całej sieci. Załóżmy, że grupa 40% węzłów posiadała większą moc obliczeniową oraz odrobinę szczęścia, która pozwoliła wygenerować nowy blok Y, posiadający jako przodków kolejno bloki Z oraz A. W tym przypadku jedno z rozgałęzień staje się dłuższe i jest preferowane przez resztę węzłów jako poprawne (rysunek 2.4). Warto pamiętać, że długość łańcucha mierzona jest jako łączna trudność danego fragmentu, a nie jako liczba bloków w danym łańcuchu.
44
Zasada funkcjonowania bitcoina
Rysunek 2.4. Rozgałęzienia w łańcuchu bloków
Poważniejsze rozgałęzienia pojawiają się czasem przy powstawaniu błędów oprogramowania, na przykład przy aktualizacjach klientów Bitcoin. Te mniej poważne mają zazwyczaj długość jednego bloku i bardzo szybko sytuacja jest wyjaśniana przez węzły pracujące w sieci. Zrównoleglone bloki w pobocznych łańcuchach, które nie przekształciły się w główny łańcuch Bitcoin, nie będą używane. Kiedy sieć ustali pożądaną ścieżkę dla łańcucha, wszystkie poprawne transakcje z równoległego bloku będą kolejkowane, a następnie zostaną dodane do kolejnego bloku w poprawnym łańcuchu. Nowe bloki pojawiają się w łańcuchu wtedy, gdy któraś z koparek poprawnie wskaże wartość określaną w języku angielskim jako nonce, znajdującą się w nagłówku bloku, w taki sposób, że hash całego bloku będzie spełniać pewien matematyczny warunek. Koparka, która wskaże poprawną wartość, zostanie wynagrodzona.
Prowizje transakcyjne Mimo iż bitcoin utożsamiany jest z możliwością przeprowadzania płatności dużo tańszych niż za pośrednictwem tradycyjnego przelewu bankowego (dotyczy to przede wszystkim przelewów międzynarodowych), w transakcjach z wykorzystaniem wirtualnej waluty od czasu do czasu pojawiają się dodatkowe opłaty. Pewna kwota, zwana prowizją bądź opłatą transakcyjną (ang. transaction fee), może 45
BITCOIN
zostać dołączona do transakcji, chociaż w większości przypadków nie jest to obowiązkowe. Suma kwot prowizji od wszystkich transakcji zawieranych w danym bloku jest wypłacana wraz z nagrodą górnikowi, który znajdzie poprawne rozwiązanie bloku. Z tego też względu część górników może nadawać priorytet transakcjom oczekującym na zawarcie w bloku, tak aby potencjalny zysk z rozwiązania bloku był jak największy, stawiając na pierwszym miejscu tych użytkowników, którzy zdecydowali się na uiszczenie dodatkowej opłaty. W związku z tym transakcje, których nadawcy zdecydują się na zapłacenie prowizji, zazwyczaj trafiają do łańcucha bloków szybciej niż inne. Założenia projektu przewidują, że z biegiem czasu stopniowe zmniejszanie się nagrody za rozwiązanie nowych bloków zostanie użytkownikom zrekompensowane właśnie przez pojawiające się coraz liczniej w transakcjach prowizje. W wersji 0.8.2 klienta Bitcoin-qt wprowadzone zostały nowe mechanizmy zarządzania opłatami transakcyjnymi, a z prowizji zostały zwolnione transakcje, których rozmiar jest mniejszy niż 10 000 bajtów, wszystkie kwoty wyjścia są większe niż 0,01 BTC, a do tego posiadają odpowiedni priorytet. Opłata transakcyjna w wysokości 0,0001 BTC doliczana jest do każdego kilobajta zajmowanego przez transakcje, jeśli powyższe warunki nie zostaną spełnione. Aby przybliżyć nieco powyższe założenia, warto wspomnieć, że typowa transakcja w bitcoinach ma rozmiar około 500 bajtów, a jej priorytet jest wprost proporcjonalny do średniej ważonej „wieku” kwot wejścia (im starsze, czyli dawniej wytworzone w portfelu użytkownika, kwoty wejścia zostaną użyte, tym lepiej) i odwrotnie proporcjonalny do jej rozmiaru.
Podsumowanie Baza danych rynku Bitcoin jest publicznie dostępna i regularnie uaktualniana między węzłami. Transakcje Bitcoin są składane w bloki, które są rozwiązywane średnio co 10 minut przez spe46
Zasada funkcjonowania bitcoina
cjalne komputery, zwane koparkami, które udostępniają swoją moc obliczeniową dla sieci Bitcoin. Po rozwiązaniu kolejnego bloku do sieci wprowadzane są nowe bitcoiny, które przypisane są do adresu wskazanego przez koparkę. Początkowa nagroda za rozwiązanie bloku wynosiła 50 BTC i jest pomniejszana o połowę co każde 210 000 bloków, czyli mniej więcej co 4 lata. System zakłada stopniowe zmniejszanie nagrody, aż do zera. Każdy kolejny tworzony blok zawiera oczekujące transakcje oraz hash bloku poprzedniego. Dzięki powiązaniu każdego bloku ze swoim poprzednikiem wszystkie transakcje tworzą łańcuch zwany łańcuchem bloków. System Bitcoin został również zaprojektowany w taki sposób, aby utrzymywany był stały średni odstęp czasowy, wynoszący 10 minut, pomiędzy kolejnymi rozwiązanymi blokami. Służy do tego parametr trudności, który sprawia, że poziom skomplikowania rozwiązania dla kolejnego bloku jest zależny od aktualnej mocy sieci Bitcoin. Trudność jest zwiększana wraz ze wzrostem mocy obliczeniowej koparek w sieci Bitcoin lub zmniejszana wraz z jej spadkiem i dostosowywana w taki sposób, aby średni czas rozwiązywania kolejnych bloków wynosił około 10 minut. Ogólna liczba bitcoinów, która będzie kiedykolwiek w obiegu, nigdy nie przekroczy 21 milionów wirtualnych monet.
47
BITCOIN
48
Rozdział 3.
Korzystanie z bitcoina Portfele Bitcoin Gdy decydujemy się na wejście w świat bitcoina, należy wybrać, w jaki sposób chcemy przetrzymywać swoje wirtualne monety, innymi słowy, trzeba sobie wybrać portfel. Ponieważ portfel Bitcoin przetrzymuje jedynie klucze kryptograficzne przypisane do każdego adresu, który posiada właściciel konta, nie może spełniać wszystkich swoich funkcji bez powiązania z łańcuchem bloków. W łańcuchu bloków znajdują się informacje o każdej jednostce monetarnej bitcoina, która została kiedykolwiek wygenerowana, oraz o jej transferach między różnymi adresami. Posiadanie klucza prywatnego do adresu Bitcoin sprawia, że można gospodarować przypisanymi do danego konta wirtualnymi monetami. Saldo, które wyświetla program Bitcoin-qt, to tak naprawdę liczba bitcoinów przypisanych do adresów, których klucze prywatne są zapisane w pliku portfela wallet.dat, przeliczana z uwzględnieniem wszystkich bloków w łańcuchu. Przechowywanie portfela na lokalnym dysku twardym jest jednym z bezpieczniejszych sposobów dostępu do bitcoinów. W programie Bitcoin-qt można dodatkowo wybrać opcję zaszyfrowania pliku portfela hasłem, co jeszcze bardziej podniesie poziom bezpieczeństwa. Istnieją jednak wady takiego rozwiązania. Dostęp do bitcoinów jest wtedy możliwy tylko i wyłącznie z jednego komputera PC. Nie możemy więc zlecić przelewu środków, korzystając 49
BITCOIN
z komputera w pracy lub u znajomych. Drugą wadą przechowywania bitcoinów na własnym komputerze jest to, że portfel musi mieć regularnie uaktualniane informacje o całym łańcuchu bloków. W przypadku portfela Bitcoin-qt należy pobrać całą historię transakcji, od stycznia 2009 r. do dnia bieżącego. Pod koniec roku 2013 jest to już ponad 12 GB informacji, co nie pozostaje bez znaczenia, zwłaszcza dla użytkowników dysków o niewielkich pojemnościach. Oczywiście, aby być na bieżąco ze swoim stanem konta oraz móc swobodnie korzystać ze zgromadzonych środków, należy nieustannie aktualizować łańcuch bloków. Codziennie tworzonych jest około 144 nowych bloków. Jeśli nie korzystamy z oprogramowania przez dwa tygodnie, do pobrania mamy 2016 bloków, które zawierają wszystkie transakcje wykonane w tym czasie. Rozmiar danych 12 GB jest zatem jedynie punktem wyjścia… Jakie są inne możliwości? Możemy przetrzymywać swoje wirtualne monety u jednego z zewnętrznych operatorów. Sprowadza się to do tego, że tworzymy nowy adres na jednej ze stron, która zajmuje się przetrzymywaniem bitcoinów, lub przenosimy swoje klucze prywatne z innego portfela (np. Bitcoin-qt). Zaletą rozwiązania webowego jest bez wątpienia większa wygoda oraz dostęp do całego łańcucha bloków na bieżąco. Największą wadą takiego rozwiązania jest poziom bezpieczeństwa. Portale z portfelami Bitcoin bardzo często padają ofiarą ataków hakerów, a struktura bitcoina i niemożliwe do anulowania transakcje oraz brak uwarunkowań prawnych w większości państw świata sprawiają, że odzyskanie utraconych bitmonet może okazać się niemożliwe. Nic nie stoi jednak na przeszkodzie, aby klucze prywatne rozdysponować do kilku portfeli. Można na przykład przetrzymywać na lokalnym dysku zaszyfrowany portfel dla klienta Bitcoin-qt, w którym to portfelu będziemy posiadać większość środków, a klucz prywatny jednego z jego adresów można wyeksportować do zewnętrznego serwisu. Wówczas adres u zewnętrznego operatora będzie przechowywać jedynie drobne kwoty, do których będziemy potrze50
Korzystanie z bitcoina
bować dostępu w miejscach, gdzie nie mamy dostępu do głównego komputera. Warto tu również wspomnieć o mobilnych portfelach Bitcoin, czyli aplikacjach na telefony komórkowe, pozwalających płacić bitcoinami w coraz większej liczbie miejsc akceptujących taką formę płatności, na przykład w sklepach czy restauracjach. Portfele mobilne są często wyposażone w skaner kodów QR, który sprawia, że wirtualne płatności są jeszcze prostsze. Zdecydowanie najbezpieczniejszym rozwiązaniem są portfele offline. Tego rodzaju przetrzymywanie wirtualnych monet polega na wydrukowaniu kluczy prywatnych na kartce bądź na zapisaniu pliku wallet.dat na nośniku zewnętrznym. Tak przygotowane dane można bez problemu zamknąć w sejfie na długie lata. Po co jednak komukolwiek takie rozwiązanie, skoro nie zapewnia ono żadnej użyteczności i strasznie komplikuje dokonywanie transakcji? Z portfela offline skorzystają przede wszystkim inwestorzy, którzy posiadają adres Bitcoin, na którym gromadzą wirtualne monety z zamiarem wydania ich w bliżej nieokreślonej przyszłości. Wydaje się, że to racjonalne rozwiązanie, gdy weźmiemy pod uwagę ogromny skok wartości od początku projektu. Należy pamiętać, że do sejfu schowamy jedynie klucze prywatne. Adres Bitcoin możemy jednak zachować dla siebie i regularnie zasilać go nowymi monetami albo np. upublicznić go na swoim blogu w oczekiwaniu na datki od odwiedzających go gości. Saldo, które znajduje się pod danym adresem, będziemy mogli zawsze sprawdzić za pomocą ogólnodostępnych przeglądarek łańcucha bloków (np. blockchain.info), bez konieczności używania bezpiecznie schowanego klucza prywatnego. Do pracy przy portfelach oraz migracji z portfela klienta Bitcoin-qt do klientów webowych przyda się skrypt pywallet. Jest to skrypt napisany w języku Python. Przełącznik --dumpwallet pozwala wypisać na ekranie wszystkie klucze prywatne, które są skojarzone z danym portfelem i jego adresami. Dzięki temu możemy zobaczyć, że po instalacji klienta Bitcoin-qt w pliku wallet.dat znajduje 51
BITCOIN
się dużo więcej adresów Bitcoin niż tylko te, które można zobaczyć w graficznym interfejsie użytkownika. Domyślny klient Bitcoin tworzy aż 100 adresów przy instalacji, z których użytkownik może skorzystać. Przy tworzeniu nowego adresu z użyciem graficznego interfejsu użytkownika programu Bitcoin-qt przypisujemy temu adresowi de facto etykietę do uprzednio wygenerowanego klucza prywatnego. Miejsce „zarezerwowanego” klucza prywatnego zajmuje nowy, generowany przez klienta Bitcoin-qt. W ten sposób plik wallet.dat zawsze dysponuje pewnym zapasem adresów gotowych do przyjmowania transakcji. Klucze prywatne wyeksportowane za pomocą skryptu pywallet można wydrukować bądź też przenieść do innych portfeli, na przykład webowych lub mobilnych. Zanim jednak bezpowrotnie usuniemy plik wallet.dat, warto sprawdzić, czy bez problemu można je zaimportować z powrotem (na przykład na innym komputerze). Skrypt pywallet pozwala także importować klucze prywatne. Ze względów bezpieczeństwa adresy, które pochodzą z innych serwisów, lepiej wykorzystywać jednorazowo, a przy przenoszeniu do innego klienta należy po prostu wykonać transfer środków na nowo wygenerowane konta. Skrypt pywallet przyda się, gdy będziemy korzystać z innego konsolowego narzędzia — vanitygen. Narzędzie vanitygen tworzy adres, którego reprezentacja tekstowa będzie zawierać określone przez użytkownika ciągi znaków. Taki adres na pewno wygląda ciekawiej i w odróżnieniu od innych adresów Bitcoin jego właściciel jest w stanie zapamiętać chociaż pewien jego fragment. Im dłuższy ciąg znaków, tym bardziej złożone oraz czasochłonne jest wygenerowanie adresu, który będzie taki ciąg zawierał. Duże przyspieszenie generowania adresów można uzyskać, stosując układy GPU. Załóżmy, że użytkownik chce mieć adres Bitcoin rozpoczynający się od ciągu 1ABC. Podaje taki ciąg jako argument do vanitygen i już po chwili (dla tak krótkiego ciągu jest to faktycznie chwila) otrzymuje gotowy, wygenerowany adres wraz z kluczem prywatnym. Za pomocą skryptu pywallet możliwe jest zaimportowanie tego adresu do portfela Bitcoin. 52
Korzystanie z bitcoina
Gdy zostanie uruchomiona aplikacja Bitcoin-qt, nowy adres będzie widoczny na liście adresów i użytkownik będzie mógł dodać do niego łatwą do zapamiętania etykietę (rysunek 3.1).
Rysunek 3.1. Generowanie oraz importowanie do klienta Bitcoin-qt adresu Bitcoin zawierającego specjalny ciąg znaków i wygenerowanego za pomocą narzędzia vanitygen
Przed skorzystaniem z narzędzia pywallet oraz każdego innego oprogramowania służącego do manipulowania plikiem portfela oraz zgromadzonymi w nim kluczami prywatnymi należy bezwzględnie zapoznać się ze sposobem, w jaki program działa (aby nie trafić na złośliwe oprogramowanie wykradające portfele), oraz na wszelki wypadek sporządzić kopię zapasową portfela. Skrypty w rodzaju pywallet są dość często uaktualniane. Warto sprawdzić, czy posługujemy się aktualną wersją. 53
BITCOIN
Transakcja Bitcoin Przyjrzymy się, jak będzie wyglądać transakcja Bitcoin między dwoma użytkownikami — Adamem i Bartkiem. W pierwszej kolejności Adam musi poznać numer konta Bitcoin Bartka. Bartek może przesłać mu go e-mailem lub w postaci kodu QR. Adres przeznaczony do transakcji może być zarówno stale używany przez adresata, jak i wygenerowany jednorazowo, specjalnie w celu jednego przekazania bitcoinów. Następnie za pomocą wybranego klienta Bitcoin Adam zleca oraz podpisuje swoim kluczem prywatnym transfer odpowiedniej kwoty na zadane konto. Jednocześnie Adam udostępnia swój klucz publiczny oraz rozsyła informacje o transakcji do wszystkich użytkowników sieci Bitcoin. Gdyby złośliwy użytkownik Damian podmienił adres docelowy w rozsyłanej transakcji i rozesłał ją do wszystkich komputerów w sieci, transakcja zostałaby odrzucona. Stałoby się tak dlatego, że Damian nie posiada klucza prywatnego Adama i nie jest w stanie ponownie podpisać przesyłanej wiadomości w taki sposób, aby mogła zostać zaakceptowana przez innych użytkowników, którzy dokonają weryfikacji na podstawie klucza publicznego prawdziwego nadawcy — Adama. Zilustrujmy prawdziwą transakcję Bitcoin przykładem. Załóżmy, że stronami transakcji są znane nam już osoby: Adam i Bartek. Adam, korzystający z klienta Bitcoin-qt w systemie operacyjnym Linux, chce przelać kwotę 0,001 BTC na konto Bartka. Numer konta Bartka zaczyna się od znaków 18J. Ze względu na to, że transfer dotyczy bardzo małej kwoty w walucie wirtualnej, pojawi się monit o konieczności uiszczenia prowizji za dokonywaną transakcję (rysunek 3.2). Gdy opłata zostanie zatwierdzona, w pasku systemowym pojawi się komunikat o nadaniu łącznej kwoty 0,0013 BTC, na którą składa się właściwa kwota przelewu (0,001 BTC) oraz prowizja (0,0003 BTC) (rysunek 3.3).
54
Korzystanie z bitcoina
Rysunek 3.2. Monit dotyczący potwierdzenia opłacenia prowizji od transakcji
Rysunek 3.3. Informacja o zleceniu transakcji pojawiająca się u nadawcy
Informacja o przelewie pojawi się na koncie Bartka (używającego klienta Bitcoin-qt w systemie Windows XP) niemal błyskawicznie ze wstępnym statusem „niezatwierdzona”. Aby transakcja mogła zostać zatwierdzona i by odpowiednia kwota bitcoinów została dopisana do konta adresata na stałe, musi ona zostać zaakceptowana przez sieć peer-to-peer. Informacja o transakcji rozsyłana jest do węzłów w sieci, w tym także do tych publicznych, takich jak na przykład blockchain.info — strona publikująca całą historię transakcji Bitcoin w formie przyjaznego interfejsu WWW. Już po paru minutach pod adresem http://blockchain.info/address/18J… pojawi się informacja o wciąż niezatwierdzonym przelewie (rysunek 3.4). Podobny status widnieje w kliencie Bitcoin zarówno u Adama (rysunek 3.5), jak i u Bartka (rysunek 3.6).
55
BITCOIN
Rysunek 3.4. Informacja o niepotwierdzonej transakcji na stronie blockchain.info. Strona jest tłumaczona automatycznie, stąd niejasne brzmienie niektórych terminów
Rysunek 3.5. Informacja o niepotwierdzonej transakcji u nadawcy
Rysunek 3.6. Informacja o niepotwierdzonej transakcji u odbiorcy 56
Korzystanie z bitcoina
W związku z niepotwierdzoną transakcją bitcoiny nie są dopisane do konta Bartka, jedynie oczekują jako niezatwierdzone. Przyjrzyjmy się jeszcze raz transakcji widzianej przez blockchain.info, czyli jeden z węzłów sieci Bitcoin. Tuż nad adresem nadawcy widać bardzo długi numer transakcji. Jego kliknięcie przeniesie nas do strony ze szczegółami transakcji, gdzie możemy zobaczyć dodatkowe informacje, takie jak data i godzina transakcji, adres IP węzła, od którego strona blockchain.info dowiedziała się o transakcji, oraz sumaryczna kwota wejściowa i wyjściowa (rysunek 3.7).
Rysunek 3.7. Informacja o niepotwierdzonej transakcji na stronie blockchain.info
Adres IP widniejący w szczegółach transakcji może być adresem źródłowym, z którego został wysłany przelew bitcoinów, bądź też może okazać się kolejnym węzłem rozgłaszającym transakcję. Bardzo prawdopodobne jest to, że prawdziwy nadawca poinformuje jako pierwszy inny węzeł, a ten dopiero, w ramach rozgłaszania transakcji wewnątrz sieci peer-to-peer, prześle informację do węzła udostępniającego dane dla witryny blockchain.info. Osobę stawiającą pierwsze kroki w świecie bitcoinów może zdziwić nie tylko słabej jakości tłumaczenie strony na język polski. Dziwić mogą także kwoty oznaczone jako Całkowity pobór (ang. Total Input) oraz Całkowita moc wejściowa (ang. Total Output), które są odpowiednio kwotą wejściową i wyjściową. Kwota prowizji opłaty (ang. fees) oraz rzeczywistego przelewu Szacunkowa 57
BITCOIN
BTC transakcji (ang. Estimated BTC transacted) są zgodne ze zleconą dyspozycją, ale wydaje się, że kwoty wejściowa oraz wyjściowa nie pasują do niej. Aby wyjaśnić to zjawisko, najłatwiej posłużyć się analogią do pieniądza papierowego. Załóżmy, że Adam, czyli osoba płacąca gotówką Bartkowi, ma zamiar oddać swojemu koledze dług w wysokości 20 PLN. Problem w tym, że Adam posiada jedynie 100-złotowy banknot, który dzień wcześniej pobrał z bankomatu. Bartek zapewne nie przyjmie w ramach rozliczenia oddartej jednej piątej 100-złotowego banknotu, ale raczej weźmie cały banknot 100 PLN, wydając jednocześnie Adamowi banknoty 10 PLN, 20 PLN oraz 50 PLN. Ten przypadek przekłada się bezpośrednio na przelewy w bitcoinach. Kwota 0,02 BTC to kwota wchodząca, którą otrzymał Adam w jednej z poprzednich transakcji. Innymi słowy, ktoś wysłał do Adama przelew o wartości 0,02 BTC. Ponieważ przelew do Bartka jest mniejszy od tej kwoty, mechanizmy sieci Bitcoin użyją należącej do Adama kwoty 0,02 BTC jako wejścia do transakcji i przeznaczą tę kwotę na zapłatę dla Bartka oraz opłacenie prowizji. Niewykorzystana kwota, równa 0,0187 BTC, zostanie Adamowi zwrócona na tzw. konto reszty (ang. change, w tym przypadku jest to numer rozpoczynający się od 13J). Ostatnia kwota w tej transakcji, całkowite wyjście, to nic innego jak wejście pomniejszone o wartość prowizji. W ten sposób kwota 0,02 BTC została podzielona na dwie części (0,0187 BTC oraz 0,001 BTC), z których pierwsza trafiła do nadawcy jako reszta, a druga została przeznaczona dla adresata. Brakujące 0,0003 BTC zostało przeznaczone na prowizję i zostało pochłonięte przez sieć Bitcoin. Jeśli kwota przelewu kierowanego do Bartka byłaby większa niż 0,02 BTC, sieć Bitcoin złożyłaby kwotę wejściową z paru kwot, które Adam otrzymał w przeszłości. Gdyby na koncie Adama widniały wpłaty o wartości 0,02 BTC, 0,01 BTC oraz 0,01 BTC, a chciałby on przelać Bartkowi kwotę 0,035 BTC, to jako kwota wejściowa byłyby użyte wszystkie trzy transakcje (0,02 + 0,01 + 0,01 = 0,04 BTC, co jest większe niż 0,035 BTC). Transakcję 58
Korzystanie z bitcoina
można uznać za bezpiecznie przeprowadzoną, kiedy otrzyma się sześć potwierdzeń (rysunek 3.8).
Rysunek 3.8. Zebrane sześć potwierdzeń, wyświetlone u nadawcy
Konto reszty (w tym przypadku rozpoczynające się od 13J) jest domyślnie ukryte w kliencie Bitcoin-qt i może początkującemu użytkownikowi przysporzyć pewnych problemów. Aby sprawdzić, czy jego klucz prywatny rzeczywiście znajduje się w pliku wallet.dat, można posłużyć się narzędziem pywallet (rysunek 3.9).
Rysunek 3.9. Odbiorca weryfikuje adres, na który wpłynęła reszta z transakcji
Nie wszystkie transakcje w bitcoinach będą wymagać przepisywania bądź kopiowania i wklejania adresu odbiorcy. Trudno bowiem wyobrazić sobie sytuację, kiedy w kolejce w supermarkecie kasjerka dyktuje klientowi ponad dwudziestoznakowy kod, który ten pospiesznie wpisuje w swoim urządzeniu przenośnym. W takich sytuacjach z pomocą przychodzą kody QR (rysunek 3.10). Angielskie rozwinięcie skrótu, Quick Response, doskonale tłumaczy zastosowanie tej technologii. Kody QR mogą być skanowane przez urządzenia mobilne — zawarta w tych kodach informacja zostanie w odpowiedni sposób przetworzona. Dzięki temu możemy wydrukować na przykład plakat z reklamą swojej firmy, na którym w postaci kodu QR zostanie umieszczony adres firmowej strony WWW. Przystanek autobusowy, na którym taki plakat zostanie 59
BITCOIN
Rysunek 3.10. Przykładowy kod QR adresu Bitcoin
powieszony, nie jest miejscem, gdzie każdy z przechodniów może wyciągnąć kartkę i długopis, a następnie zapisać interesujący adres, który odwiedzi dopiero wieczorem, gdy będzie siedział w domu przed komputerem. Pasażer oczekujący na autobus może za pomocą specjalnej aplikacji w urządzeniu mobilnym zeskanować kod QR i automatycznie uzyskać przekierowanie na zapisany w kodzie adres URL. Dzięki temu może od razu odwiedzić stronę, bez konieczności kłopotliwego przepisywania nieraz długich treści. Kody QR przychodzą także z pomocą przy szybkich transakcjach w bitcoinach. Klient posiadający specjalną aplikację zintegrowaną z mobilnym portfelem Bitcoin skanuje kod QR znajdujący się przy kasie, wpisuje kwotę i zatwierdza przelew. Adres, na który zostanie wysłana ustalona kwota, będzie automatycznie odszyfrowany z kodu QR. Istnieją również takie mobilne portfele Bitcoin, które automatycznie przeliczają kwotę w lokalnej walucie papierowej na bitcoiny, dzięki czemu możemy zapłacić sprzedawcy równowartość tej kwoty, której oczekiwałby od nas, rozliczając się w sposób tradycyjny.
60
Korzystanie z bitcoina
Długofalowa inwestycja w bitcoiny może przynieść realne zyski. W internecie pojawiają się informacje o bitcoinowych milionerach, którzy kupili kilka tysięcy jednostek wirtualnej waluty na samym początku projektu i przetrzymali je przez okres, w którym nastąpił wzrost wartości jednego bitcoina z kilku centów do tysiąca dolarów. Ze względu na zaimplementowane w protokole ograniczenia wydobycia, zmniejszanie się nagrody za wydobycie oraz założenie, że tylko 21 milionów wirtualnych monet może trafić do obiegu, bitcoin zachowuje raczej deflacyjną naturę. Deflacja jest zjawiskiem wzrostu siły nabywczej (wartości) pieniądza w kontekście jego zmniejszającej się podaży, czyli liczby jednostek w obiegu. Obecnie liczba bitcoinów w obiegu rośnie. Należy jednak liczyć się z tym, że ludzie będą tracić swoje wirtualne monety w losowych przypadkach (zainfekowanie lub zniszczenie komputera, utrata hasła do portfela) i z biegiem czasu coraz większa ilość środków będzie zamrażana. Kiedy bitcoin był warty zaledwie kilka centów, sporo ludzi zapewne nie myślało o wykonaniu kopii zapasowej portfela, na którym zgromadzili kilkadziesiąt sztuk BTC. Oczywiście nie jesteśmy w stanie stwierdzić, ile środków pozostaje odciętych od swoich właścicieli. Przy założeniu jednak, że nawet 90% bitcoinów zostanie „zgubionych”, daje to 2,1 miliona monet w obiegu, a uwzględniając podzielność bitcoina do ośmiu miejsc po przecinku, otrzymamy 210 bilionów satoshi, czyli najmniejszych niepodzielnych części wirtualnej monety. Nie wiadomo jednak, czy będzie to wystarczająca liczba do przetrwania bitcoina. Na pewno będzie trzeba zmienić przyzwyczajenia i nie traktować 1 bitcoina jako podstawowej jednostki rozliczeniowej (na przykład trzeba będzie mówić nie o 0,001 BTC, ale raczej o 1 mBTC). Na podobny krok zdecydowała się już strona bitcoinity.org, gdzie po przekroczeniu przez bitcoina ceny 1000 dolarów podstawową jednostką stała się jedna tysięczna BTC, czyli właśnie 1 mBTC.
61
BITCOIN
Pozyskiwanie bitcoinów Bitcoiny najłatwiej kupić w internecie, począwszy od portali aukcyjnych, gdzie bitcoiny często oferowane są w małych kwotach i wysokich cenach, aż po dedykowane rozwiązania w postaci kantorów online. Wybór jak zwykle należy do klienta. Do zalet systemów aukcyjnych można zaliczyć ich renomę oraz chociażby system komentarzy, który pozwala częściowo zweryfikować sprzedającego. Wadą kupowanych tam bitcoinów jest ich cena, która bywa nawet dwukrotnie wyższa od rynkowej przy niskich kwotach. Z powyższych względów większość wymiany walut dokonuje się w kantorach online. Kantory Kantor to nazwa nieco zapożyczona ze świata pieniędzy papierowych. Ujmując rzecz skrótowo, w prawdziwym kantorze znajduje się gotówka w różnych walutach, którą można wymienić przy zastosowaniu specjalnych przeliczników. Kantory Bitcoin są tak naprawdę portalami pośredniczącymi w transakcjach między parami użytkowników. Bitcoiny można kupić od razu, według cen sprzedaży oferowanych jako ASK, lub też założyć cenę, którą gotowi jesteśmy zapłacić za odpowiednią liczbę wirtualnych monet. Jeśli znajdzie się inny użytkownik, który będzie chciał sprzedać swoje bitcoiny w cenie zaproponowanej przez nas, transakcja dojdzie do skutku. Podobnie wygląda to w przypadku sprzedaży bitcoinów, jednak wtedy obowiązują ceny BID. Kantory posiadają dwa konta, na które można wpłacać odpowiednio walutę tradycyjną oraz bitcoiny. Zasilenie konta złotówkami odbywa się poprzez tradycyjny przelew i w zależności od kantoru może trwać do kilku dni roboczych. Wypłata bitcoinów na nasz adres realizowana jest już jednak zgodnie z zasadami działania wirtualnej waluty i w zależności od modelu wypłat kantoru możemy oczekiwać na środki tak długo, jak długo trwa otrzymanie wymaganej liczby potwierdzeń transakcji. 62
Korzystanie z bitcoina
Najbardziej znanym kantorem w świecie bitcoina jest Mt.Gox, chociaż pomału palmę pierwszeństwa zaczynają odbierać mu inne kantory online. Kantor ten ma tyle samo zwolenników, co przeciwników. Na polskim rynku największym graczem jest obecnie Bitcurex. W listopadzie 2013 r. w wyniku włamania padł inny duży serwis, bidextreme.pl, a cała zawartość przetrzymywanych na nim portfeli została skradziona. Nie chciałbym w tym miejscu w jakikolwiek sposób rekomendować jednej konkretnej marki. Rynek Bitcoin jest jeszcze bardzo niedojrzały i zmienia się wystarczająco dynamicznie, by portal, który dziś wydaje się „jedynym słusznym”, okazał się przedmiotem skutecznego ataku hakerów, zanim jeszcze ta publikacja trafi do księgarni. Z drugiej strony mogą powstawać w tym samym czasie inne godne polecenia rozwiązania. Nie jest również wykluczone, że wraz z rozwojem bitcoina i coraz większą jego akceptacją pojawi się on wkrótce także w ofertach znanych instytucji finansowych. Transakcje twarzą w twarz Dla osób chcących zagwarantować sobie jeszcze większy poziom bezpieczeństwa oraz anonimowości przy transakcji przeznaczone są transakcje twarzą w twarz (ang. face to face). Idea jest prosta i wygląda mniej więcej w ten sposób. Spotykają się dwie osoby, z których jedna przynosi gotówkę, druga komputer z dostępem do swojego portfela Bitcoin. Odbywa się transakcja, która po pewnym czasie oraz po zebraniu wystarczającej liczby potwierdzeń może zostać uznana za zrealizowaną. Problemem może być liczba potwierdzeń, która będzie wymagana przez obie strony, a zwłaszcza tę, która kupuje bitcoiny. Na rekomendowaną liczbę sześciu potwierdzeń trzeba czasem czekać nawet ponad godzinę. Można też zdecydować się na zaakceptowanie transakcji przy mniejszej liczbie potwierdzeń lub uzyskać niezbędną ich liczbę szybciej, podnosząc opłatę transakcyjną. Przy zakupie niewielkiej liczby bitcoinów koszt, jaki po63
BITCOIN
tencjalny oszust musiałby ponieść w celu oszukania sieci, byłby dużo wyższy niż wartość ukradzionych złotówek. W transakcjach twarzą w twarz można się dodatkowo zabezpieczyć, korzystając z portali internetowych, które oferują usługi typu escrow. W ten sposób bitcoiny przed transakcją zostają zabezpieczone na serwerze, a dopiero po udanym spotkaniu są przekazywane stronie kupującej. W czasach dynamicznego rozwoju i zainteresowania bitcoinem coraz większej grupy ludzi może po prostu warto chwilę posiedzieć i porozmawiać o wspólnym hobby, czekając na odpowiadającą obu stronom liczbę potwierdzeń? Mikrozarobki Świat bitcoina kopiuje pewne pomysły, które dobrze sprawdzają się w realnym świecie. Jednym z nich jest wynagradzanie użytkowników bitcoinami lub raczej ich mikroczęściami za udział w akcjach marketingowych. Możemy na przykład oglądać reklamy, grać w gry, umieszczać reklamy na swojej stronie internetowej i w zamian otrzymywać wynagrodzenie w małych kwotach w walucie BTC. Podobnie jak w realnym świecie, zysk nie jest tutaj porażający i oscyluje raczej w granicach ułamków grosza za podjętą akcję. Rozmaite rozwiązania oferują system poleceń, dzięki czemu możemy rozsyłać linki dalej w świat, zarabiając część urobku kolejnych osób. Z tego rodzaju systemami wiążą się bardzo często różnego rodzaju nadużycia w postaci zalewania postami forów internetowych czy rozsyłania spamu. Jest to jednak alternatywa na pozyskanie pierwszych mikrobitcoinów, dzięki którym możemy poznać właściwości wirtualnej waluty, sprawdzić, w jaki sposób funkcjonują transakcje, potwierdzenia oraz cała sieć Bitcoin. Mining Mining (z ang. — wydobywanie) jest procesem pozyskiwania bitcoinów poprzez udostępnianie mocy obliczeniowej swojego komputera. Nazwa tego procesu, który bywa również zwany kopaniem, 64
Korzystanie z bitcoina
jest nawiązaniem do wydobywania złota w zamierzchłych czasach. W przeszłości było to trudne i monotonne zadanie, które przyczyniało się do powiększania dostępności drogocennego kruszcu na świecie, a jednocześnie pomniejszało zasoby złota, pozostałe do wydobycia. Liczba bitcoinów (analogicznie do złota), która jest możliwa do wydobycia, jest ograniczona i nie jest możliwe, aby na rynku pojawiło się więcej wirtualnej waluty niż założone w projekcie 21 milionów. Każde wydobycie zmniejsza pozostałą, możliwą do pozyskania pulę i jest odpowiednio rozłożone w czasie. W projekcie Bitcoin założono, że średnio co 10 minut powinien być generowany kolejny blok, a do sieci trafiać będą nowe bitcoiny w ramach nagrody dla posiadacza fartownej koparki (komputera wydobywającego bitcoiny). Projekt Bitcoina nie był w stanie jednak przewidzieć skali nieuniknionego postępu technicznego, wobec czego na użytkowników wydobywających wirtualną walutę należało nałożyć sztuczne ograniczenia. Gdyby takie ograniczenia nie istniały, łatwo można by sobie wyobrazić scenariusz, kiedy do projektu Bitcoin angażowane są super-komputery o olbrzymiej mocy i wykopują wszystkie Bitcoiny w bardzo krótkim czasie. Jednym z ograniczeń wydobycia monet jest parametr nazwany trudnością (ang. difficulty). Trudność jest sztucznym ograniczeniem, które chroni rynek przed zbyt dużym przyrostem wirtualnych monet w czasie, a jej wartość można rozumieć jako stopień skomplikowania matematycznego zadania związanego z wydobyciem bloku w porównaniu z najprostszym blokiem w historii, czyli blokiem numer 1. Trudność jest przeliczana co każde 2016 bloków i dostosowywana tak, aby rozwiązanie kolejnych 2016 bloków zajęło około dwóch tygodni. To wartość trudności w znaczny sposób wpływa na rynek koparek, co z kolei wpływa na użytkowników, by konstruowali coraz wydajniejsze urządzenia. Z drugiej jednak strony nieustanny postęp technologiczny i wzrost mocy obliczeniowej, którą dysponują górnicy, wpływa na wzrost stopnia trudności wydobycia. Znowu widać podobieństwo do wydobywania 65
BITCOIN
złota. Na samym początku projektu bitcoiny można było generować samemu, przy użyciu najprostszego sprzętu. Dzisiaj, kiedy zainteresowanie wirtualną walutą oraz trudność jej wydobycia wzrosły, do opłacalnego kopania potrzebna jest większa grupa osób oraz wyspecjalizowany, wydajny sprzęt. Drugim ograniczeniem nałożonym na użytkowników wydobywających wirtualną walutę jest stopniowe zmniejszanie się nagrody za wygenerowanie bloku. Początkowo górnik otrzymywał 50 BTC za „rozbicie” bloku. Kwota ta jest co określony czas pomniejszana o 50%, aż jej zaokrąglenie będzie wynosić zero. Wraz ze zmniejszaniem wartości nagrody projekt zakłada zwiększanie znaczenia opłat transakcyjnych, których sumaryczna wartość przekazywana wraz z nagrodą będzie motywować użytkowników do dalszego rozwiązywania bloków. Zmiany trudności są dyktowane łączną mocą obliczeniową maszyn wydobywających bitcoiny. Jeśli moc wydobywających urządzeń rośnie — rośnie poziom trudności. Poziom trudności może również spaść. Dzieje się tak, gdy przy kolejnej serii 2016 bloków okazuje się, że łączna moc jest mniejsza od poprzedniej. Duże spadki poziomu trudności wydobywania zdarzają się stosunkowo rzadko w obliczu rosnącego zainteresowania bitcoinem. Od strony technicznej zadanie sprowadza się do rozwiązania bloku i polega na wygenerowaniu z całego bloku hashu SHA-256, który będzie mniejszy od liczby zwanej celem (ang. target). Jedyną zmienną częścią bloku, a właściwie jego nagłówka, jest 4-bajtowa losowa liczba nonce. Jeśli program odpowiedzialny za funkcję skrótu otrzyma rezultat niższy od wartości celu, obliczanie hashu SHA-256 zostanie powtórzone z inną wartością nonce, zazwyczaj powiększoną o jeden. Warto zauważyć w tym miejscu, że nawet minimalna zmiana wartości liczby nonce będzie skutkować wygenerowaniem hashu o zupełnie innej wartości, który może okazać się rozwiązaniem danego bloku. Zostało to zilustrowane na rysunku 3.11. 66
Korzystanie z bitcoina
Rysunek 3.11. Generowanie hashy z ciągu znaków powiększonego o kolejne liczby — analogia do rozwiązywania bloków
Jako łańcuch wejściowy (nagłówek) otrzymujemy ciąg znaków „Bitcoin”. Ciąg ten będzie symulował faktyczną zawartość całego bloku. Problem polega na znalezieniu takiej liczby, która dołączona do łańcucha „Bitcoin” utworzy taki ciąg, w którego przypadku wynikiem funkcji SHA-256 będzie hash rozpoczynający się od znaków 000. Będziemy testować wobec tego wartości Bitcoin1, Bitcoin2, Bitcoin3… aż do znalezienia rozwiązania. W tym celu został napisany prosty skrypt Bash: for i in `seq 30000` do r=`echo -n "Bitcoin$i" | sha256sum` if [ -n "`echo $r | grep -P \"^000\"`" ] then echo "Rozwiazanie to Bitcoin$i" echo $r exit fi done
Skrypt będzie uruchamiał sprawdzanie w pętli 30 000 liczb. W trzeciej linii obliczy wartość hashu SHA-256, a w czwartej sprawdzi, czy hash ten rozpoczyna się od znaków 000. Spójrzmy, jaką wartość zwróci nam wywołanie skryptu i ile czasu ono zajmie: root@debian-sec:~# time ./mining.sh Rozwiazanie to Bitcoin4457 0001ce656b8bff026345ee54f0a1c0bbacba5d0f1d721a76f92dcbadc40689c8 67
BITCOIN
real0m14.368s user0m0.580s sys0m1.088s
W naszym przypadku rozwiązanie zostało znalezione już po 14 sekundach, a poprawną wartością liczby nonce jest 4457. Jeśli zwiększymy trudność naszego zadania i będziemy poszukiwać czterech zer na początku wynikowego hashu, otrzymamy wynik dopiero dla ciągu „Bitcoin13562” po 44 sekundach. Rozwiązanie dla pięciu zer ukazało się na ekranie po 1 minucie i 27 sekundach, a hash z sześcioma zerami na początku nie znalazł rozwiązania, wyczerpując wszystkie 30 000 kombinacji. Taki eksperyment daje pewien pogląd na to, jak wygląda poszukiwanie poprawnego rozwiązania bloku. Prawdziwy mining jednak nie opiera się na prostym ciągu „Bitcoin”, ale na złożonym bloku, pełnym danych nagłówkowych oraz informacji o transakcjach, a wartość celu jest ściśle związana z trudnością wydobycia bitcoinów. Rozwiązanie użytkownika jest weryfikowane bardzo prostym mechanizmem zwanym proof of work (z ang. — dowód wykonania pracy). Znalezione rozwiązanie może zostać w trywialny sposób sprawdzone, natomiast jego stworzenie wymaga znacznego nakładu czasu oraz mocy obliczeniowej. Łatwo opisać to na podstawie poprzedniego przykładu. Trudno jest znaleźć taką liczbę nonce, która dodana do bloku pozwoli wygenerować hash spełniający określony warunek. W przypadku wydobywania bitcoinów chodzi o to, aby liczba zer na początku hashu całego bloku była mniejsza od wartości celu (ang. target). Takie obliczenia wymagają wielu prób i podstawiania za zmienną nonce kolejnych liczb całkowitych. Z drugiej jednak strony po dostarczeniu ostatecznego rozwiązania wystarczy wykonać jedno haszowanie, aby sprawdzić, czy jest ono poprawne. Zastosowanie takiego mechanizmu utrudnia oszustwa i generowanie niepoprawnych, losowych hashy.
68
Korzystanie z bitcoina
Jak otrzymać nagrodę?
Nagrodę otrzymuje górnik, który poprawnie rozwiąże blok. Zadanie to wymaga sporej mocy obliczeniowej oraz szczypty szczęścia. Jeśli przy trudności rzędu 707 milionów uruchomimy wydobywanie bitcoinów na komputerze z kartą graficzną o prędkości 100 Mhash/s, to jest możliwe (chociaż z prawdopodobieństwem bardzo bliskim zeru — według kalkulatorów online samodzielne obliczanie bloku przy takiej mocy oraz trudności wydobycia rzędu 707 milionów będzie trwać prawie tysiąc lat!), że uda się rozwiązać blok i zdobyć całe 25 BTC. Zdecydowanie bardziej prawdopodobne w przypadku dysponowania takim sprzętem przy wspomnianej wartości trudności jest to, że w ciągu najbliższych kilku lat nie uda się znaleźć poprawnego rozwiązania ani razu. Właśnie dlatego osoby wydobywające bitcoiny korzystają z serwerów zwanych kopalniami (ang. mining pools). Oprogramowanie kopalni skonstruowane jest w taki sposób, że wszyscy właściciele koparek do niej podłączonych współuczestniczą w procesie wydobycia, a moc obliczeniowa, którą dysponują, jest sumowana. Dzięki temu jako grupa mogą znaleźć rozwiązanie bloku oraz otrzymać nagrodę wysokości 25 BTC nawet kilka razy dziennie. Uczestniczący w wydobyciu górnicy są wynagradzani proporcjonalnie do mocy, której użyczają ich koparki w odniesieniu do całej kopalni. Wydobywając bitcoiny w kopalni, możemy liczyć na proporcjonalne do wniesionej mocy obliczeniowej ułamkowe porcje nagrody, dostarczane w miarę regularnie, choć pomniejszone o kilkuprocentową prowizję kopalni (zazwyczaj jest to 1 – 2%). Wydobywając bitcoiny we własnym zakresie i nastawiając się na zagarnięcie całej nagrody za jednym razem, możemy przez wiele miesięcy kopać bez żadnego zysku, zwłaszcza jeśli dysponujemy niewielką mocą. Może się również okazać, że wydobywając samemu na słabej koparce, nigdy nie otrzymamy oczekiwanej nagrody. Spróbujmy przybliżyć to, dokonując prostych obliczeń. Użytkownik dysponujący mocą 400 Mhash/s, podłączając się do kopalni, której użytkownicy posiadają 69
BITCOIN
sumaryczną moc 40 Ghash/s, otrzymuje 1% udziałów w wydobywanych przez tę kopalnię bitcoinach. W idealnym scenariuszu użytkownik ten będzie otrzymywać 1% z aktualnej nagrody (wynoszącej w 2013 r. 25 BTC) za każdy poprawnie rozwiązany przez kopalnię blok. W rzeczywistości algorytmy zarządzające kopalniami szacują w bardziej wyszukany sposób zaangażowanie danego górnika w cały proces wydobycia, a do tego pobierają drobną prowizję od każdej nagrody zdobytej przez grupę koparek. Faktyczny zarobek zależy oczywiście od aktualnej trudności wydobycia i średnio powinien być taki sam (bez uwzględnienia prowizji), bez względu na to, czy górnik wydobywa bitcoiny samemu, czy też w kopalni. Cała różnica polega na tym, że kopalnia o znacznej mocy w miarę często rozwiązuje blok, w związku z czym partycypujący górnik będzie regularnie wynagradzany mniejszym urobkiem. W przypadku kopania na własną rękę górnik nastawia się na jednorazowo dużą nagrodę (25 BTC), której przy niskiej mocy obliczeniowej może tak naprawdę nigdy nie zdobyć. Bloki będą rozwiązywane przez duże kopalnie, a zwiększająca się trudność będzie coraz bardziej oddalać możliwość zarobku. Wybierając kopalnie, będziemy otrzymywać bitcoiny regularnie, lecz kosztem niewielkiej prowizji. Kopiąc samemu, ryzykujemy zerowy zarobek, ale jednorazowa nagroda będzie bardzo duża. CPU Mining
Początkowo trudność wydobycia bitcoinów wynosiła 1, nagroda za wygenerowanie bloku równa była 50 BTC, a do generowania bloków wystarczyły urządzenia o małej wydajności. Na przykład procesory Intel Core i5-2400 są w stanie obliczać hashe z prędkością od 4,5 Mhash/s do 14 Mhash/s (w zależności od użytego oprogramowania oraz konfiguracji), a ich maksymalne zapotrzebowanie na energię elektryczną wynosi 95 W. W miarę rozwoju sieci Bitcoin i zwiększenia się liczby kopaczy zwiększyła się jednak także trudność wydobycia i z biegiem czasu wydobywanie z użyciem 70
Korzystanie z bitcoina
mocy obliczeniowej procesora (ang. CPU — Central Processing Unit) przestało się opłacać. Z jednej strony rezultaty w postaci liczby wygenerowanych monet były mało satysfakcjonujące, a z drugiej ta metoda generowała wysokie rachunki za prąd. W pewnym momencie okazało się, że wartość bitcoinów wydobytych z wykorzystaniem CPU jest dużo niższa niż koszt energii elektrycznej, którą zużywa procesor. O kopaniu przy użyciu CPU można dziś usłyszeć jedynie w kontekście cyberprzestępczości. Przy korzystnej relacji wysokiej ceny i stosunkowo niskiej trudności zdarzały się przypadki używania sieci botnet do wydobywania wirtualnej monety. Botnet to sieć zainfekowanych komputerów, kontrolowanych zdalnie przez cyberprzestępców bez wiedzy ich prawdziwych użytkowników. Ponieważ są to losowo infekowane komputery, które nie zawsze posiadają wydajny układ graficzny, kopanie odbywa się głównie z wykorzystaniem CPU. Hakerów nie odstrasza ani niska wydajność, ani koszty energii — w końcu dysponują nieraz kilkunastoma tysiącami komputerów, a rachunki zapłacą niczego nieświadomi użytkownicy. GPU Mining
Kiedy moc obliczeniowa CPU zaczęła przynosić mało satysfakcjonujące rezultaty, pojawiła się alternatywa w postaci układów GPU (ang. Graphics Processing Unit), czyli procesorów kart graficznych. Do najpopularniejszych należy zaliczyć karty firmy ATI z serii Radeon HD 5xxx, 6xxx oraz 7xxx. Na przykład karta oparta na układzie Radeon HD 6770 mogła obliczać hashe z prędkością 200 Mhash/s, konsumując zaledwie 100 W, co stanowi ogromny wzrost prędkości w porównaniu z procesorami CPU klasy domowej przy podobnym poziomie zapotrzebowania na energię jak omawiany wcześniej procesor. Odpowiednie płyty główne umożliwiają podłączenie kilku kart graficznych jednocześnie, co pozwala na budowę koparki o dużej mocy — w jednej obudowie i przy wykorzystaniu jednego procesora, jednej pamięci RAM czy 71
BITCOIN
jednego dysku twardego. Układy GPU wymagają wydajnego chłodzenia oraz, w przypadku zastosowania większej ich liczby, dobrze wentylowanego pomieszczenia. Koparka złożona z trzech układów ATI Radeon HD 7990 będzie pobierać 1320 W na zasilanie samych kart graficznych, co wiąże się z ogromną ilością generowanego ciepła. Zaletą układów GPU w porównaniu z kolejnymi omawianymi rozwiązaniami jest możliwość alternatywnego wykorzystania podzespołu. Karta graficzna, podobnie jak procesor, w przypadku rezygnacji użytkownika bądź braku opłacalności wydobywania bitcoinów wskutek wzrostu trudności może być sprzedana lub służyć chociażby jako platforma do gier. Raczej nie można tego powiedzieć o układach FPGA lub ASIC, które są rozwiązaniami dedykowanymi, a ich użycie poza światem bitcoina nie jest tak powszechne jak wykorzystywanie kart graficznych. Czy dziś jeszcze opłaca się kopanie bitcoinów z zastosowaniem układów GPU? Spróbujmy to obliczyć. Przy trudności rzędu 707 milionów oraz mocy obliczeniowej układu Radeon HD 6770 w ciągu miesiąca nieustannej pracy jesteśmy w stanie zgromadzić zysk o średniej wartości 0,004 BTC. Jakie są koszty takiego przedsięwzięcia? Karta graficzna ma pobór mocy 100 W. Zasilacz oraz cały zestaw komputerowy pobierać będzie około 50 W (zauważmy, że wszystkie obliczenia będą odbywały się w karcie graficznej, wobec czego pozostałe elementy koparki będą praktycznie nieobciążone). Praca koparki o łącznej mocy 150 W w ciągu godziny skonsumuje 0,15 kWh energii elektrycznej. W ciągu dnia będzie to 3,6 kWh, a w 30-dniowym miesiącu pracy licznik naliczy dodatkowe 108 kWh. Przy cenie 0,6 PLN/kWh rachunek elektryczny za pracę koparki wyniesie około 65 PLN. Za taką kwotę można kupić około 0,02 BTC (według ceny z 30 listopada 2013 r.). Jest to pięciokrotnie więcej wirtualnych monet (w odniesieniu do liczby monet wykopanych w ciągu miesiąca), które można mieć od razu. To zdecydowanie lepsze rozwiązanie niż oczekiwanie przez cały miesiąc na dużo mniejszy urobek. Bez obniżenia trudności kopa72
Korzystanie z bitcoina
nia bitcoinów, co obecnie wydaje się raczej niemożliwe, kopanie z wykorzystaniem układów graficznych będzie nieopłacalne nawet dla hurtowych odbiorców energii, którzy mają własne, negocjowane stawki za zużytą kWh. FPGA Mining
Koparki oparte na układach FPGA osiągają prędkości porównywalne z kartami graficznymi przy jednoczesnym poborze mocy na poziomie kilku lub kilkunastu watów. Stały się one ciekawą alternatywą dla układów GPU, kiedy w drugim kwartale 2013 r. cena bitcoina dramatycznie spadła. Dzięki niskiemu, niemalże pomijalnemu zużyciu energii faktyczny zakup koparki FPGA był całym kosztem inwestycji, a miesięczne koszty utrzymania były symboliczne. Bezsprzeczną wadą układów FPGA była ograniczona alternatywa ich ponownego użycia. Układy FPGA mogą być co prawda przeprogramowane, jednak konfiguracja płytki koparki może nie odpowiadać innym zastosowaniom, do których miałaby zostać w przyszłości użyta. Jak wyglądałaby dzisiaj opłacalność kopania bitcoinów z wykorzystaniem takiego urządzenia? Weźmy za przykład koparkę polskiej firmy Sidus. Według producenta koparka ta charakteryzuje się prędkością na poziomie 400 Mhash/s oraz poborem mocy około 20 W. Przy trudności 707 milionów miesięczny urobek z koparki może wynieść 0,008 BTC. Koparka pobierze jednak kilkakrotnie mniej energii niż komputer PC z wydajną kartą graficzną. W ciągu godziny na liczniku energetycznym pojawi się dodatkowe 0,02 kWh. Dziennie będzie to 0,48 kWh, a w ciągu miesiąca 14,4 kWh. Przy wspomnianej cenie 0,6 PLN/kWh miesięczny koszt utrzymania koparki to zaledwie 8,64 PLN. Za taką kwotę dziś można kupić jedynie 0,0028 BTC, więc można śmiało stwierdzić, że obecnie bilans jest dodatni. Oczywiście w powyższych kalkulacjach dotyczących opłacalności wydobywania bitcoina nie uwzględniliśmy ani amortyzacji sprzętu, ani prawdopodobnej zmiany trudności miningu w przyszłości. 73
BITCOIN
Koparki ASIC
Koparki ASIC stanowią kolejną odsłonę w wyścigu o najwydajniejszy układ przy jednoczesnym jeszcze większym obniżeniu poziomu poboru energii. Dostępne na rynku układy ASIC cechują się zazwyczaj dużymi prędkościami, na poziomie kilku lub nawet kilkudziesięciu GH/s. Istnieją także mniej wydajne koparki. Popularnym rozwiązaniem są podłączane przez USB małe koparki Block Erupter o prędkości 336 Mhash/s i rozmiarze zbliżonym do pamięci przenośnych typu pendrive. Pobór mocy wynosi zaledwie 2,5 W (0,007 W/Mhash w porównaniu z 0,05 W/Mhash w omawianym wcześniej układzie FPGA oraz 0,5 W/Mhash w przypadku karty graficznej ATI Radeon HD 6770). Aby móc lepiej porównać trzy technologie, powtórzmy obliczenia z poprzednich podrozdziałów. Ponieważ omawiany Block Erupter USB nie jest urządzeniem autonomicznym, do wspomnianych 2,5 W należy doliczyć dodatkowy pobór mocy przez komputer, który będzie go obsługiwać. Jeśli skorzystamy z mikrokomputera Raspberry Pi, będzie to około 5 W, wobec czego łączny pobór mocy przez koparkę wyniesie 7,5 W. Do jednego komputera możemy oczywiście podłączyć większą liczbę urządzeń USB, jednak na potrzeby naszych obliczeń przyjmiemy, że podłączone jest tylko jedno. Szybkość 336 MH/s pozwala nam przy obecnej trudności cieszyć się z zarobionych 0,007 BTC po miesiącu. Z drugiej strony w ciągu godziny nasza koparka skonsumuje 0,0075 kWh, w ciągu doby 0,18 kWh, a w trzydziestodniowym miesiącu 5,4 kWh, czyli około 3,2 PLN przy ustalonej cenie prądu 0,6 PLN/kWh. Za 3,2 PLN jesteśmy w stanie kupić tylko 0,001 BTC, co jest wartością siedmiokrotnie mniejszą niż prognozowany w ciągu miesiąca przychód. Pozostaje jeszcze jedno kryterium, którego nie poruszyliśmy w poprzednich podrozdziałach: cena. Trudno jednak w tym przypadku dokonywać konkretnych kalkulacji. Cena rozwiązań dedykowanych, czyli przede wszystkim koparek FPGA i ASIC, jest bardzo uzależniona od aktualnej opłacalności wydobywania, czyli 74
Korzystanie z bitcoina
mówiąc krótko, od trudności i ceny bitcoina. Zdarza się, że urządzenie dedykowane kosztuje 2000 PLN, a po paru miesiącach można je sprzedać za mniej niż 100 PLN. Cena nie dotyczy de facto urządzenia czy poszczególnych jego komponentów, ale koparki jako całości wraz z oprogramowaniem przeznaczonym do wydobywania bitcoinów. Elementy składowe takich koparek można kupić za dużo mniejszą kwotę niż gotowe urządzenia. Porównanie trzech wiodących technologii wydobywania bitcoinów przedstawia tabela 3.1. Tabela 3.1. Porównanie trzech wiodących technologii wydobywania bitcoinów Technologia
GPU (ATI Radeon FPGA HD 6770) (Sidus)
ASIC (Block Erupter USB)
Prędkość [Mhash/s]
200
400
336
Pobór mocy układu [W]
100
20
2,5
Pobór mocy przez koparkę [W]
50
nie dotyczy (urządzenie 5 autonomiczne)
Łączny pobór mocy [W]
150
20
7,5
Miesięczny pobór energii [kWh]
108
14,4
5,4
Miesięczny koszt energii [PLN]
65
8,64
3,2
Miesięczny koszt energii [BTC]
0,02
0,0028
0,001
Miesięczny zarobek [BTC]
0,004
0,008
0,007
Wydobywanie innych kryptowalut
Mimo iż wydobywanie bitcoinów z zastosowaniem CPU czy GPU przeszło już raczej do historii, wciąż istnieją alternatywne kryptowaluty, które mogą skorzystać ze wspomnianych technologii. CPU może zostać użyte np. w procesie wydobywania monet primecoin, gdzie obliczenia oparte są na poszukiwaniach ciągów liczb pierwszych. GPU przyda się natomiast we wszelkich kryptowalutach opartych na obliczeniach typu Scrypt, z których najpopularniejszą w obecnie jest litecoin (LTC). Kryptowaluty oparte 75
BITCOIN
na modelu Scrypt różnią się tym od bitcoina (oraz innych walut opartych na hashach SHA-256), że do obliczeń potrzeba dużo szybkiej pamięci RAM, co dyskwalifikuje większość rozwiązań opartych na technologiach FPGA czy ASIC. W internecie istnieją specjalne porównywarki, które po podaniu prędkości urządzenia (zarówno dla obliczeń Scrypt, jak i SHA-256) wskażą kryptowaluty, które są najefektywniejsze ekonomicznie, jeśli chodzi o ich wydobywanie w danym momencie.
Fizyczny bitcoin We wprowadzeniu do niniejszej publikacji zostało jasno powiedziane, że bitcoin jest w pełni wirtualny i nie posiada fizycznej reprezentacji. Skąd jednak biorą się lśniące, bogato zdobione monety z wielką literą B, których zdjęcie towarzyszy artykułom w portalach informacyjnych? Otóż okazuje się, że bitcoina można kupić także w tej formie, w której można go chwycić czy schować do tradycyjnego portfela. Najbardziej znanym projektem tego rodzaju jest Casascius Coin. Cała idea polega na wyprodukowaniu (najczęściej ze złota lub srebra) medalu o kształcie i rozmiarze zbliżonym do monety, który posiada nominał oraz symbole bitcoina. Rewers monety jest zakryty naklejką ze specjalnym hologramem, który zmienia swoją strukturę po odklejeniu. Pod hologramem zapisany jest zaszyfrowany klucz prywatny do adresu Bitcoin, który został wcześniej zasilony kwotą zgodną z nominałem na monecie. Producent tych bitcoinów zarzeka się, że nie przechowuje kopii kluczy prywatnych swoich klientów, ale jeśli korzystamy z tego rozwiązania, należy zachować dodatkową ostrożność. Monety te są oczywiście sporo droższe, niż wskazuje ich nominał, przede wszystkim dlatego, że w ich skład wchodzą drogie metale. Ze względu na cyfrową naturę bitcoina jego fizyczne egzemplarze powinny być raczej traktowane jako pewnego rodzaju ciekawostka bądź też przedmioty kolekcjonerskie. 76
Korzystanie z bitcoina
Polskie prawo a bitcoin Bitcoin staje się coraz popularniejszy. Niestety, w parze z rosnącą popularnością nie idą odpowiednie przepisy prawne, które pozwalałyby swobodnie korzystać z płatności w bitcoinach na co dzień. Osoby korzystające z wirtualnej waluty lub biorące udział w procesie wydobycia nie powinny być zdziwione, iż na sam dźwięk słowa „bitcoin” większość urzędników schowa głowę w piasek. W dziedzinach prawnych, związanych z działalnością człowieka w internecie, w zakresie nowoczesnych technologii jesteśmy niestety kilka kroków wstecz… Czym w sensie prawno-podatkowym jest bitcoin? W tym kontekście nie można mówić o nim jak o prawdziwej walucie, ponieważ nie spełnia podstawowych, należnych jej definicji. Nad bitcoinem nie ma kontroli żadna instytucja publiczna bądź prywatna, nie istnieją żadne międzypaństwowe umowy, które by w jakikolwiek sposób regulowały tę wirtualną walutę. Brak regulacji nie pozwala również klasyfikować bitcoina jako instrumentu finansowego czy też pieniądza elektronicznego. Bitcoin może być traktowany jako pewnego rodzaju bon, którym można płacić w akceptujących go sklepach. Na przykład w interpretacji Izby Skarbowej w Katowicach bitcoin określany jest mianem „cyfrowego certyfikatu”. Rodzi się zatem pytanie, czy za sprzedaż wirtualnej waluty przyjdzie nam płacić prawdziwe podatki? Według opinii Ministerstwa Finansów przygotowanej dla „Gazety Prawnej” wymiana bitcoinów na tradycyjną papierową walutę lub też zapłacenie bitcoinami za produkt lub usługę powoduje powstanie przychodu, który należy opodatkować. Także dla osób planujących założyć firmę trudniącą się obrotem bitcoinami (na przykład kantor internetowy) pojawiły się już pierwsze interpretacje prawne. Zgodnie z interpretacją katowickiej Izby Skarbowej działalność gospodarcza polegająca na wymianie bitcoinów na tradycyjną walutę nie może zostać zakwalifikowana 77
BITCOIN
jako zwolniona z podatku VAT usługa pośrednictwa finansowego. W związku z tym po uzyskaniu przez przedsiębiorcę obrotu wyższego niż 150 tysięcy złotych, co wiąże się z przekroczeniem limitu podmiotowego zwolnienia z podatku VAT, od takiej działalności będzie trzeba zapłacić jeszcze podatek VAT. Takie informacje narzucają tylko kolejne pytania. Jak przedsiębiorca, który inwestuje bądź wydobywa bitcoiny, ma udokumentować koszty ponoszone w ramach swojej działalności? Ze względu na anonimowość transakcji w bitcoinach nie można jednoznacznie stwierdzić, w jakiej cenie została zakupiona wirtualna waluta. Kupujący może bowiem skorzystać z wielu adresów Bitcoin, a tylko jeden z nich przypisać do prowadzonej przez siebie działalności. Sam przelew do kantoru Bitcoin również nie powinien być brany pod uwagę — bitcoiny można nabyć przecież w kilku transzach, po różnych cenach i w kilka dni po zasileniu konta. Kolejne pytania może nasunąć próba rozliczania kosztów wydobywania bitcoinów, do których należy nie tylko koszt koparek, ale także regularne opłaty za prąd oraz łącze internetowe. W kontekście interpretacji prawnych bitcoina nie po raz pierwszy spotykamy się z sytuacją, że prawo nie nadąża za technologią. Miejmy nadzieję, że kolejne firmy, które będą chciały zalegalizować swój obrót bitcoinami, przyczynią się do powstawania coraz dokładniejszych analiz i interpretacji i jednocześnie wydepczą ścieżkę dla kolejnych przedsiębiorców.
Podsumowanie Bitcoiny przechowuje się w portfelach, które mogą mieć postać pliku na twardym dysku, aplikacji webowej czy nawet kartki papieru. Każdy z portfeli ma swoje wady i zalety dotyczące zarówno bezpieczeństwa, jak i dostępności. Wybierając odpowiednie dla nas rozwiązanie, prawie zawsze należy pójść na pewien kompromis. Klucze prywatne między portfelami można przenosić, chociaż 78
Korzystanie z bitcoina
często lepszym rozwiązaniem będzie wygenerowanie nowego, „świeżego” adresu oraz transfer środków. Za pomocą narzędzi typu vanitygen można stworzyć oryginalnie wyglądający adres Bitcoin. Przy używaniu zewnętrznych narzędzi, które przetwarzają plik portfela, trzeba jednak zachować szczególną ostrożność, aby przypadkowo nie stracić lub nie uszkodzić danych. Domyślny klient Bitcoin-qt działa zarówno w systemie Windows, jak i Linux, a transakcje dokonane przy użyciu tego narzędzia są widoczne w publicznym łańcuchu bloków, na przykład na stronie blockchain.info. Wygodnym rozwiązaniem dla szybkich transakcji w bitcoinach są kody QR, obsługiwane przez mobilne portfele wirtualnej waluty. Górny limit bitcoinów, które kiedykolwiek pojawią się w obiegu, wynosi 21 milionów, jednak część środków zostanie odcięta od swoich właścicieli w wyniku zdarzeń losowych. Wobec tego z czasem liczba aktywnych środków w obiegu będzie maleć, co w pozytywnym scenariuszu może spowodować wzrost wartości bitcoina lub też jego klęskę w scenariuszu negatywnym. Bitcoiny można zdobyć, wymieniając walutę tradycyjną w kantorach lub z innymi użytkownikami w transakcjach bezpośrednich (twarzą w twarz). Drobne kwoty w bitcoinach, które pozwolą na zapoznanie się z systemem, można zdobyć na stronach, które płacą w ten sposób za oglądanie reklam. Szczególnym sposobem na zdobycie bitcoinów jest wydobywanie, czyli proces weryfikacji i dołączania transakcji do łańcucha bloków. Wydobywanie generuje nowe bitcoiny w ramach nagrody dla górników, czyli użytkowników udostępniających moc obliczeniową swoich maszyn dla sieci Bitcoin. Rozwiązywanie bloku oparte jest na problemie haszowania, a jego trudność jest dopasowywana do bieżącej mocy wszystkich wydobywających urządzeń. Blok rozwiązywany jest średnio co 10 minut, a nagroda (która początkowo wynosiła 50 BTC) zmniejszana jest o połowę mniej więcej co cztery lata. Rynek urządzeń wydobywających bitcoiny zmienia się wraz z pojawianiem się nowych generacji koparek. Przy ewentualnym zakupie maszyny, 79
BITCOIN
która ma brać udział w procesie wydobywania bitcoinów, warto zwrócić uwagę nie tylko na jej cenę i wydajność, ale także na pobór energii oraz możliwe alternatywne zastosowania. Bitcoin w sensie prawnym nie może być traktowany jako waluta, instrument finansowy czy też papier wartościowy. Prawo jest parę kroków wstecz za rozwojem technologii, aczkolwiek pojawiają się już pierwsze opinie oraz interpretacje. Handel bitcoinami może być przedmiotem prowadzenia działalności gospodarczej i należy w odpowiedni sposób rozliczać podatki od zysku. Kwestią otwartą pozostaje klasyfikacja kosztów uzyskania przychodu, przede wszystkim przy wydobywaniu bitcoinów.
80
Rozdział 4.
Bezpieczeństwo Anonimowość Kiedy w Polsce nastąpił wielki wzrost podłączeń do internetu, wielu użytkowników było przekonanych o anonimowości, jaka panuje w wirtualnej sieci. Te poglądy były jednak stopniowo weryfikowane przez pojawiające się od czasu do czasu w mediach informacje o namierzeniu wirtualnych przestępców przez organy ścigania. Są oczywiście sposoby na podniesienie poziomu prywatności w internecie przy zastosowaniu odpowiednich środków bezpieczeństwa. Podobnie jest z bitcoinem, który bardzo często jest zachwalany jako wirtualna kryptowaluta gwarantująca anonimowe przelewy w internecie. Wewnątrz systemu użytkownicy są rozpoznawani na podstawie swoich adresów. Inny użytkownik może zatem podjąć się próby powiązania adresów z innymi informacjami publicznie dostępnymi w internecie, czego skutkiem może być częściowa identyfikacja posiadacza konta Bitcoin. Korzystanie z różnych adresów Bitcoin Warto pamiętać, że transakcje Bitcoin są jawne, a ich historia się nie przedawnia. Numery transakcji, kwoty oraz adresy będące stronami transakcji są umieszczane na publicznie dostępnych witrynach, takich jak blockchain.info. Przy odrobinie nieostrożności, na przykład przy podaniu swojego adresu Bitcoin na jednym z forów inter81
BITCOIN
netowych przez jedną ze stron transakcji, możliwe będzie częściowe lub całkowite poznanie tożsamości osoby. Jeśli przekaz bitcoinów ma być trudniejszy do namierzenia przez potencjalnego napastnika, warto dla konkretnej transakcji wygenerować nowy numer konta. W tym kontekście można przytoczyć przykład zamkniętego niedawno przez FBI sklepu internetowego Silk Road, działającego w sieci TOR, który oferował narkotyki jako jeden z dostępnych towarów. Transakcje Bitcoin były realizowane w celu zapewnienia większego poziomu bezpieczeństwa i anonimowości osób sięgających po nielegalne używki. Z drugiej jednak strony adres Bitcoin portalu Silk Road jest publiczny i dobrze znany. Z informacji dostępnych na blockchain.info możemy dowiedzieć się między innymi, że na konto tego sklepu wpłynęło łącznie ponad 29 000 bitcoinów, co mogło być bardzo istotną informacją dla organów ścigania przy wymierzaniu kary twórcom nielegalnego serwisu (bitcoiny te zostały przechwycone przez FBI po zamknięciu Silk Road). Inną informacją, która dostępna jest publicznie, są adresy Bitcoin, których właściciele przekazywali swoje środki na konto witryny, a więc potencjalnie brali udział w nielegalnym procederze. Jeżeli któryś z nich był tak nierozsądny, aby przy okazji umieścić adres Bitcoin w swoim podpisie na jednym z internetowych forów bądź na portalu społecznościowym czy blogu, może zostać w łatwiejszy sposób namierzony i pociągnięty do odpowiedzialności. Jawność transakcji Bitcoin może prowadzić do jeszcze innej próby zdobycia choćby garści informacji o tożsamości użytkownika konkretnego konta. Bitcoin coraz częściej pojawia się w transakcjach odbywających się w realnym świecie, można płacić nim w restauracjach, sklepach czy kawiarniach. To, gdzie i na co dana osoba wydaje swoje pieniądze, dla atakującego może być dodatkową informacją. Przecież jeśli namierzany użytkownik płacił za obiad w pewnej restauracji bitcoinami, to można ze sporym prawdopodobieństwem stwierdzić, że mieszka w jej okolicy. Jeśli dodatkowo dokonuje on 82
Bezpieczeństwo
zakupów w innych lokalizacjach w tym samym mieście, atakujący może być tej informacji niemalże pewien. Nie pozwoli mu to oczywiście wskazać konkretnej osoby, ale umożliwi przy użyciu dodatkowych kryteriów zawężenie obszaru poszukiwań. Aby zapewnić sobie większą prywatność, warto korzystać z wielu adresów Bitcoin. Adres IP uczestniczący w transakcji We wcześniejszych rozdziałach mówiliśmy o transakcji Bitcoin widzianej przez blockchain.info. Jako jedną z wartości strona blockchain.info podaje adres IP węzła, od którego otrzymała informacje o transakcji. W jaki sposób może to wpłynąć na bezpieczeństwo bądź anonimowość użytkownika? Dla uproszczenia wyobraźmy sobie, że w sieci Bitcoin znajdują się jedynie cztery węzły. Każdy z nich posiada numer, mamy więc węzły W0, W1, W2 oraz W3. Załóżmy, że węzeł W0 to strona blockchain.info, W1 to węzeł użytkownika nadającego transakcję do węzła W2, a W3 to węzeł nieuczestniczący w transakcji, czyli jeden z elementów sieci peer-to-peer. Każdy z węzłów jest w jakiś sposób połączony z resztą, jednak w realnym świecie nie oznacza to połączenia „każdy z każdym” we wszystkich możliwych kombinacjach. Przykładowe połączenie obrazuje rysunek 4.1.
Rysunek 4.1. Przekazywanie informacji o transakcji wewnątrz sieci peer-to-peer
83
BITCOIN
W sytuacji, kiedy W1 oraz W2 nie są podłączone do strony blockchain.info (W0), informacja o transakcji, która pomiędzy nimi zaszła, zostanie przekazana do blockchain.info za pośrednictwem węzła W3. Na stronie blockchain.info pojawi się zatem adres IP węzła W3 jako adres, który dodał informacje o nowej transakcji. Co zdarzy się jednak, jeśli węzeł W3 będzie posiadała osoba, która chce zidentyfikować komputer nadający transakcję, czyli węzeł W2? W3 otrzyma informacje o transakcji bezpośrednio od nadawcy i w ten sposób pozna jego adres IP. Serwis blockchain.info jest podłączony do kilkuset węzłów, klient Bitcoin-qt łączy się zaledwie z kilkoma z nich. Prawdopodobieństwo trafienia na blockchain.info jest zatem dość małe. Możliwe jest natomiast to, że atakujący posiada większą liczbę komputerów w sieci Bitcoin i w ten sposób zwiększa swoje prawdopodobieństwo na pozyskanie adresu IP osoby wysyłającej przelew Bitcoin. Aby zabezpieczyć się przed tego rodzaju powiązaniem transakcji z osobą, należałoby korzystać z innych metod zapewnienia prywatności, jak na przykład anonimizujące proxy czy sieć TOR. Nie jesteśmy w stanie jednak ręczyć za adresata naszej transakcji, a czasem upublicznienie jego adresu IP jako strony przepływu wirtualnej waluty może być kolejnym tropem dla ciekawskich internautów.
Double-spending W kontekście bezpieczeństwa należy omówić jeszcze sposób, w jaki sieć Bitcoin radzi sobie z tym, aby użytkownik Adam nie przelał tych samych wirtualnych monet więcej niż raz. Służy do tego mechanizm opierający się na łańcuchach bloków transakcji. Jak mówiliśmy wcześniej, informacja o każdej transakcji jest rozsyłana do wszystkich komputerów w sieci, a każdy z nich posiada pełną kopię wszystkich transakcji, które miały miejsce od wygenerowania pierwszego bloku w 2009 r. Ze względu na zdecentralizowaną 84
Bezpieczeństwo
naturę sieć Bitcoin została wyposażona w mechanizm zarządzający problemem podwójnego wydawania tych samych środków, ponieważ nie może w tym przypadku polegać na centralnej instytucji, gdyż ona po prostu nie istnieje. Istotą zabezpieczeń przed podwójnym wydawaniem środków (ang. double-spending) są potwierdzenia od innych węzłów. Wraz ze wzrostem liczby potwierdzeń maleje prawdopodobieństwo podwójnego wydania tych samych środków. Bardzo często przyjmuje się, że minimalnie wymagane jest sześć potwierdzeń, aby być pewnym, że kupujący nie wyda drugi raz tych samych środków. Wartość ta jest również używana w kliencie Bitcoin-qt. Sześć potwierdzeń zostało uznane za bezpieczne, a liczba ta obliczona jest przy założeniach, że bardzo mało prawdopodobne jest, aby atakujący posiadał więcej niż 10% mocy obliczeniowej całej sieci Bitcoin (na koniec grudnia 2013 r. cała moc obliczeniowa wynosiła ponad 11 milionów Ghash/s), oraz przy zaakceptowaniu przez użytkownika ryzyka niepowodzenia mniejszego niż 0,1%. Ponieważ łańcuch bloków (ang. block chain) zawiera informacje o każdej transakcji, bez problemu można sprawdzić stan rachunku któregokolwiek numeru konta w dowolnym przedziale czasowym. Dzięki strukturze wiązania bloków w łańcuch niezmiernie trudna i kosztowna staje się zmiana którejkolwiek transakcji z przeszłości. Modyfikując jakąkolwiek wartość w bloku o numerze n, zmieniamy hash jego nagłówka, który należałoby umieścić w bloku następnym, o numerze n+1. Jeśli umieścimy w nagłówku bloku n+1 nowy hash bloku n, spowodujemy tym samym zmianę treści bloku n+1, a co za tym idzie — zmianę wartości hashu, która umieszczona jest w nagłówkach bloku n+2 (rysunek 4.2). Wynika z tego, że zmiana historycznej transakcji wiązałaby się z tym, że należałoby posiadać olbrzymią moc obliczeniową, niezbędną do przeliczenia wszystkich hashy, od zmodyfikowanego bloku n aż po najbardziej aktualny blok.
85
BITCOIN
Rysunek 4.2. Zasada działania łańcucha bloków determinuje ponowne generowanie hashy wszystkich bloków, począwszy od pierwszej modyfikacji
Atak 50%+ Jedną z możliwości przejęcia kontroli nad siecią Bitcoin jest utworzenie alternatywnego łańcucha bloków. Atakujący, który posiada więcej niż 50% mocy obliczeniowej sieci Bitcoin, może ingerować w bieżące transakcje. Ponieważ atakujący może rozwiązywać bloki teoretycznie szybciej niż inni, może on stworzyć swoje własne rozgałęzienie, które po odpowiednim czasie zostanie zaakceptowane przez sieć jako najdłuższy łańcuch. Innymi słowy, osoba posiadająca ponad 50% mocy obliczeniowej sieci zaczyna sama tworzyć łańcuch bloków, który wkrótce stanie się wiodącym łańcuchem, zastępując ten stworzony przez resztę sieci. Przed atakiem 50%+ nie jest w stanie uchronić żadna liczba potwierdzeń, aczkolwiek im jest ich więcej, tym większych nakładów finansowych oraz czasowych będzie wymagać próba przeforsowania łańcucha bloków na swoją korzyść. Na koniec grudnia 2013 r. moc sieci wynosiła ponad 11 000 000 Ghash/s. Biorąc pod uwagę urządzenia, które porównywaliśmy w podrozdziale o wydobywaniu bitcoinów, przekładałoby się to na 45 milionów kart graficznych ATI Radeon 6770, 22,5 miliona układów FPGA o mocy 400 Mhash/s każdy lub 26 milionów układów Block Erupter USB. Koszty utworzenia własnej sieci stanowiącej ponad 50% całej sieci Bitcoin są ogromne, choć takie ataki jednak mają rację bytu w mniej rozwiniętych, alternatywnych kryptowalutach. Bitcoin zabezpiecza się przed atakiem 50%+ 86
Bezpieczeństwo
w jeszcze inny sposób. Jeśli znajdzie się użytkownik, który zdecyduje się za ogromne pieniądze kupić sprzęt o mocy obliczeniowej równej ponad połowie mocy sieci, prawdopodobnie bardziej będzie mu się opłacało zaangażowanie w jej legalne działanie, czyli po prostu zajęcie się wydobyciem. Dysponując 50% mocy sieci, można statystycznie wykopać co drugi blok. Oznacza to niemalże pewną nagrodę wysokości 25 BTC co 20 minut. Działania mające na celu oszukanie innych węzłów mogą trwać długo, a ich efekty mogą być niezadowalające.
Ciemna strona bitcoina Bitcoin zaczyna wychodzić z podziemia i coraz częściej słychać o jego legalnych zastosowaniach, dzięki czemu przestaje być kojarzony jedynie z nielegalnym procederem. Nad wirtualną walutą nie ma kontroli żaden rząd ani żadna powołana do tego grupa, wobec czego użytkownicy muszą być świadomi zagrożeń oraz samodzielnie radzić sobie ze wszystkimi niebezpieczeństwami. Atak na portfel W zależności od tego, gdzie trzymamy nasz portfel Bitcoin, cyberprzestępcy mogą podejmować różne działania w celu przejęcia jego zawartości i przywłaszczenia sobie naszych bitmonet. Portale online są zdecydowanie najwygodniejszym sposobem przechowywania bitcoinów, ale niestety są one również obiektem ataków. Liczba wszystkich przypadków zaatakowanych stron i ukradzionych wirtualnych monet jest ogromna i nie sposób jej tutaj przytoczyć. Oto kilka najgłośniejszych zdarzeń: o Bitcoinica — w 2012 r. włamano się na serwery firmy hostingowej Linode, skąd uzyskano dostęp do danych kont ośmiu jej klientów powiązanych z rynkiem Bitcoin. Na kontach wspomnianych osób włamywacze znaleźli 87
BITCOIN
o
o
o
klucze prywatne adresów i użyli ich do transferu ponad 46 tysięcy bitcoinów na swoje konta. Bitcoinica padła ofiarą jeszcze dwóch kolejnych ataków w ciągu następnych miesięcy. Bidextreme.pl — w listopadzie 2013 r. serwer Bidextreme został zaatakowany, w wyniku czego zostały wyczyszczone konta wirtualnych walut BTC oraz LTC. Bitomat.pl — w 2011 r. prawdopodobnie w wyniku błędów konfiguracyjnych 17 tysięcy bitcoinów zostało odciętych od swoich właścicieli. Instawallet — serwis został zamknięty w niewyjaśnionych okolicznościach. Prawdopodobnie w wyniku błędów konfiguracyjnych możliwy był nieautoryzowany dostęp do przechowywanych w serwisie bitcoinów.
Te kilka przypadków ma na celu jedynie zakreślenie sytuacji. Przykłady ataków i włamań można mnożyć, idąc w dziesiątki, a może nawet setki incydentów. Anonimowość bitcoina jest rajem dla cyberprzestępców i pozwala bardzo łatwo zacierać ślady po nielegalnych przywłaszczeniach środków. Równie często, choć w mniej efektowny sposób łupem hakerów padają portfele przechowywane na twardych dyskach użytkowników sieci Bitcoin. Włamania najczęściej nie polegają tutaj na uzyskaniu dostępu do strzeżonej serwerowni, ale na wykorzystaniu niewiedzy, braku doświadczenia lub po prostu naiwności przeciętnego Kowalskiego. W internecie krążą odmiany złośliwego oprogramowania (ang. malware), które po zainstalowaniu na komputerze automatycznie wyszukują oraz przesyłają na zewnątrz znalezione portfele Bitcoin. Pliki wyszukiwane są najczęściej w domyślnej lokalizacji w systemie Windows (%UserProfile%\AppData\ Roaming\Bitcoin\wallet.dat), a przesyłane bywają przy użyciu protokołu SMTP lub też FTP. Niestety, bardzo częstym złym nawykiem jest przechowywanie portfeli w postaci niezaszyfrowanej, co czyni kradzież wirtualnej waluty jeszcze prostszą. Samo szyfro88
Bezpieczeństwo
wanie portfela hasłem nie jest również stuprocentowym zabezpieczeniem przed utratą wirtualnych środków. Atakujący, który jest w posiadaniu zaszyfrowanego portfela, będzie podejmował próby odtworzenia hasła, aby uzyskać dostęp do przechowywanych bitcoinów. Jeśli portfel zaszyfrowany był prostym, słownikowym hasłem lub też jakość hasła (długość, użyte znaki) była niska, utrata środków jest prawdopodobna. Innym błędem jest przypadkowe upublicznienie pliku wallet.dat, na przykład poprzez archiwizację plików na serwerze WWW. Może to wydawać się na pierwszy rzut oka niemożliwe, ale historia zna i takie przypadki. Przy domyślnej konfiguracji serwera Apache może się okazać, że plik naszego portfela zostanie zaindeksowany przez wyszukiwarkę Google, a przypadkowy internauta będzie w stanie „namierzyć” go, stosując niezbyt skomplikowaną frazę. Omawiając ataki na portfele oraz zaniedbania dotyczące bezpieczeństwa ze strony użytkowników, nie sposób nie wspomnieć o metodzie generowania adresów Bitcoin, zwanej „brainwallet”. Pomysł polega na tym, że klucz prywatny do portfela, a co za tym idzie, także adres Bitcoin generowany jest na podstawie wpisanego hasła. Użytkownik pamięta hasło i jest w stanie uzyskać dostęp do swojego portfela w każdym miejscu na świecie. Problem jest jednak całkiem inny. Użytkownicy nie są informowani o tym, że hasło to powinno być bardzo skomplikowane. Największą wadą idei brainwallet jest to, że haker może w domowym zaciszu uruchomić prosty program, który będzie sprawdzał rozmaite kombinacje haseł, generował z nich klucze prywatne oraz adresy Bitcoin i w razie wystąpienia jakichkolwiek środków na danym koncie — będzie przelewał je na swój własny adres. Przewagą dla hakera, a wadą dla posiadacza adresu wygenerowanego przez aplikację typu brainwallet jest fakt, że cały proceder może odbywać się na komputerze, który nie ma dostępu do internetu! Dzięki temu haker może tygodniami rozpracowywać czyjeś hasło bez wzbudzania najmniejszych podejrzeń. Potrzebuje do tego jedynie aktualnego łańcucha bloków 89
BITCOIN
oraz skryptu generującego klucze prywatne na podstawie podawanych haseł. Gdy okaże się jednocześnie, że dana osoba schowała hasło w sejfie i przez najbliższe kilka lat nie ma zamiaru ruszać swoich bitcoinów, haker ma mnóstwo czasu na generowanie nawet najbardziej egzotycznych kombinacji haseł. Jako przykład niech posłuży wypowiedź jednego z użytkowników, który stracił 4 BTC ze swojego brainwallet. Jego hasłem zabezpieczającym był… wers z poematu napisanego w języku afrikaans. Jak widać, cyberprzestępcy mają bardzo dużą wyobraźnię… Wydobywanie w botnecie Wraz ze wzrostem mocy obliczeniowej sieci Bitcoin pojawiały się kolejne technologie pozwalające wydobywać bitcoiny taniej i szybciej. Kopanie przy użyciu CPU zastąpiły układy graficzne, które zostały po pewnym czasie wyparte najpierw przez maszyny FPGA, a następnie ASIC. Rzadko kto podejmuje się dzisiaj kopania bitcoinów przy użyciu procesora domowego komputera. Szybkość obliczania na poziomie kilkunastu Mhash/s wraz z poborem mocy oscylującym w granicach kilkudziesięciu watów generuje raczej wysokie rachunki za prąd niż kolejne jednostki kryptowaluty. A gdyby nie trzeba było płacić za prąd? Często spotykanym zjawiskiem było korzystanie z „darmowego” prądu. Pracownicy przedsiębiorstw czy instytucji zostawiali włączone koparki w pracy, uczniowie w szkole, a młodzież w domu (bez wiedzy rodziców). W większej skali z „darmowego” prądu korzystali także cyberprzestępcy, uruchamiający infrastruktury zwane botnetami. Botnet to ogromne sieci zainfekowanych komputerów, które wykonują zadania zlecone im przez cyberprzestępców za pomocą serwerów C&C (ang. Command & Control — komendy i kontrola), zwanych też serwerami C2. Przy użyciu serwera C2 możliwe jest wydanie wszystkim komputerom botnetu np. polecenia ataku DDoS na serwer WWW, rozesłania dziesiątek tysięcy niechcianych e-maili lub też właśnie 90
Bezpieczeństwo
kopania bitcoinów. Każdy z komputerów dysponuje wprawdzie niską prędkością (załóżmy, że jest to 5 Mhash/s), ale jeśli w botnecie jest 10 000 takich maszyn, cyberprzestępca ma do dyspozycji 50 Ghash/s. Według trudności z 30 listopada 2013 r. taka moc pozwala zarobić 1,1 BTC miesięcznie. Oczywiście, jeśli na którymś z zainfekowanych komputerów znajdzie się odpowiednia karta graficzna, urobek będzie jeszcze większy. W kopaniu z użyciem botnetu hakerzy znów korzystają z anonimowego rozliczania transakcji przez sieć Bitcoin. Wykopane wirtualne monety wędrują na konto cyberprzestępcy, a następnie mogą być wymienione na tradycyjną walutę, na przykład w transakcjach twarzą w twarz. Zarówno kradzież portfela z dysku twardego, jak i zarażenie komputera złośliwym oprogramowaniem i dołączenie go do botnetu mają jedną wspólną cechę — bazują na niewiedzy użytkownika danego urządzenia. Malware najczęściej instalowany jest w wyniku wykorzystania dobrze znanej luki w oprogramowaniu przeglądarki internetowej lub jej wtyczek. Z pominięciem ataków typu 0-day, kiedy to złośliwy kod pojawia się w internecie przed opublikowaniem niezbędnych aktualizacji przez producenta oprogramowania, przed większością tego rodzaju ataków można zabezpieczyć się, regularnie aktualizując system oraz wszystkie jego komponenty. Niestety, bardzo często nieświadomość użytkowników sprawia, że celowo odraczają oni instalacje poprawek kluczowych elementów swoich systemów operacyjnych. Złośliwe oprogramowanie może dostać się do komputera na przykład poprzez: o o
o
odpowiednio spreparowaną stronę internetową, uruchamianie spreparowanych wersji rzetelnego oprogramowania, które zawierają „doklejony” złośliwy kod (np. pirackie kopie programów), przekierowanie do złośliwej strony internetowej poprzez specjalnie przygotowany link przesłany pocztą elektroniczną bądź udostępniony na portalach społecznościowych. 91
BITCOIN
Warto przyjrzeć się, co tak naprawdę dzieje się w naszym systemie operacyjnym, kiedy z komputera nie korzystamy, a mimo wszystko obciążenie procesora rzadko spada poniżej 90%, oraz zainwestować w sprawdzone oprogramowanie antywirusowe. Ataki na giełdy Posiadacze bitcoinów zauważyli to zagrożenie chociażby w kwietniu 2013 r., kiedy w wyniku zbyt dużego przeciążenia lub też ataków DDoS największe giełdy wirtualnej waluty miały, delikatnie rzecz ujmując, problemy ze stabilnością. Ten, kto zadowolony z wysokiego kursu bitcoina chciał wymienić wirtualny pieniądz na ten tradycyjny, bardzo często nie był w stanie tego dokonać. W efekcie wywołany został efekt kuli śnieżnej, który spowodował masową panikę, wyprzedaż oraz ogromny spadek ceny bitcoina w ciągu zaledwie kilku godzin. Wtedy wyszły na jaw niedojrzałość projektu i fakt, że nie był on przygotowany na taką dużą liczbę zainteresowanych użytkowników oraz realizowanych transakcji. Jak jest dzisiaj? Przy przekroczeniu przez bitcoina granicy najpierw 800, a następnie 900 i 1000 dolarów w listopadzie 2013 r. można było odczuć problemy z działaniem niektórych serwisów. Na szczęście problemy te były tymczasowe i administratorzy bardzo szybko się z nimi uporali. Tego typu sytuacje będą pewnie zdarzać się użytkownikom od czasu do czasu. Możemy jedynie liczyć na to, że wraz z rozwojem projektu kantory internetowe będą zarabiać coraz więcej, co będzie skutkowało regularną poprawą ich infrastruktury sieciowej oraz zabezpieczeń. Okup Bitcoin pod pewnymi względami ma te same wady i zalety co gotówka. Transakcja gotówkowa jest anonimowa i raz zrealizowana, ogólnie rzecz biorąc, nie może zostać cofnięta. Papierowa gotówka jest jednak w pewien sposób limitowana terytorialnie. Najczęściej 92
Bezpieczeństwo
trzeba się z kimś spotkać, żeby przekazać mu pieniądze, co w pewien sposób może zdradzić tożsamość potencjalnego przestępcy. Zapłata w bitcoinach może jednak być anonimowa, a do tego nie jest wymagane, aby nadawca i odbiorca przebywali w tym samym miejscu i o tym samym czasie. Pierwszy przykład wykorzystania bitcoinów jako okupu to oprogramowanie typu ransomware (ang. ransom — okup). Popularnym przykładem tego rodzaju programów jest CryptoLocker, który dostaje się do komputera ofiary takimi samymi drogami jak tradycyjny malware. Jego działanie nie polega jednak na wykonywaniu komend, kopaniu bitcoinów czy rozsyłaniu spamu. CryptoLocker szyfruje z użyciem kryptografii asymetrycznej wszystkie pliki dokumentów na lokalnym dysku oraz w podłączonych udziałach sieciowych. Z serwera C2 do komputera ofiary dociera tylko klucz publiczny użyty do szyfrowania. Jak wiadomo, aby takie dane odszyfrować, niezbędny jest klucz prywatny, który został wygenerowany na zewnętrznym serwerze i jest tylko i wyłącznie w posiadaniu cyberprzestępcy. Za udostępnienie klucza prywatnego crackerzy żądają okupu w wysokości pewnej kwoty BTC. Aby dodać całej sprawie nieco więcej pikanterii, na wszystkie działania hakerzy dają ofierze 72 godziny, po których upływie klucz prywatny zostanie bezpowrotnie usunięty. Czy to przestępstwo doskonałe? Niemalże. Uchronić mogą przed nim jedynie regularna archiwizacja ważnych plików z twardego dysku oraz regularne aktualizacje oprogramowania. Aż strach pomyśleć, co będzie, gdy okupy w bitcoinach wyjdą poza internet… Nielegalna działalność Najbardziej znanym przykładem nielegalnej działalności był zamknięty w październiku 2013 r. serwis Silk Road. Portal umożliwiał handel między innymi narkotykami, bronią oraz podrabianymi lekami. Serwery ukryte były w sieci TOR, której działanie opiera się na wykorzystaniu anonimizujących węzłów rozsianych po całym 93
BITCOIN
świecie. Ukrycie transakcji natomiast realizowane było z wykorzystaniem płatności w bitcoinach. Administratora serwisu Silk Road zgubiła nieostrożność. Między innymi korzystał z tego samego nicku na swoim nielegalnym portalu oraz na jednym z forów internetowych. Innym śladem było używanie podobnego podpisu w stopce na dwóch różnych witrynach. Takie drobne szczegóły, zebrane przez FBI, pozwoliły zidentyfikować i namierzyć przestępcę. W wyniku akcji zatrzymane zostały ogromne kwoty wirtualnej waluty, a kurs bitcoina chwilowo się zawahał. Silk Road na pewno nie był ostatnim tego typu miejscem w internecie. W sieci TOR pojawiły się już kolejne portale, które kontynuują ten nielegalny proceder. Pozostaje tylko mieć nadzieję, że takie wykorzystanie bitcoina będzie marginalne, a wirtualna waluta będzie używana przede wszystkim w legalnych transakcjach.
Podsumowanie Bitcoin oferuje większy poziom prywatności niż standardowe płatności elektroniczne, jednak należy być świadomym pewnych właściwości wirtualnej waluty. Aby zwiększyć poziom swojej anonimowości w sieci Bitcoin, można generować indywidualne adresy dla każdej z wpłat. Należy mieć na uwadze również to, że informacje o transakcji są rozgłaszane przez węzły sieci w niej uczestniczące, dzięki czemu przy odrobinie szczęścia osoby trzecie są w stanie poznać adresy IP stron transakcji. Wirtualna waluta zabezpiecza się przed podwójnym wydawaniem tych samych bitcoinów, stosując mechanizm potwierdzeń. Korzystając z bitcoina, trzeba pamiętać również o licznych zagrożeniach płynących ze strony cyberprzestępców. Do tych niebezpieczeństw należą m.in. ataki na portfele online czy wykradanie portfeli z dysków twardych. Rosnąca wartość bitcoina kusi właścicieli botnetów do powiększania swoich sieci oraz wydobywania kryptowaluty przy użyciu tysięcy zainfekowanych maszyn. Bitcoin zdążył się już zapisać negatyw94
Bezpieczeństwo
nie w globalnej sieci. Zdarzały się przypadki użycia programu CryptoLocker, który szyfruje pliki na dysku zainfekowanego komputera, a klucz prywatny, służący do ich odszyfrowania, przesyła (lub obiecuje, że prześle) dopiero po wpłaceniu okupu w bitcoinach. Innym elementem ciemnej strony bitcoina jest zamknięty przez FBI portal Silk Road, w którym transakcje w BTC służyły regulowaniu należności za broń czy narkotyki.
95
BITCOIN
96
Rozdział 5.
Pierwsze kroki Jak rozpocząć? Po lekturze publikacji niektórzy Czytelnicy mogą być zainteresowani rozpoczęciem swojej własnej przygody z bitcoinem. Jedni będą chcieli w ten sposób przesyłać środki finansowe za granicę, drudzy zwiększyć poziom prywatności w transakcjach, a jeszcze inni potraktują bitcoina jako inwestycję. Poznaliśmy już podstawy, wiemy, jak funkcjonuje bitcoin, jakie są jego słabe i mocne strony. Jak wobec tego możemy zacząć swoją, oby jak najdłuższą przygodę z wirtualną walutą? W pierwszej kolejności należy zastanowić się, gdzie zamierzamy przetrzymywać swoje wirtualne monety. W tym celu należałoby jeszcze raz przestudiować rozdział dotyczący portfeli Bitcoin. Jeśli zamierzamy korzystać z bitcoina w codziennych zakupach, a sklepy w naszym otoczeniu oferują już taką możliwość, zwróćmy uwagę na portfel mobilny. Osobę dokonującą w większości zakupów online z pewnością zainteresuje portfel webowy lub domyślny lokalny klient Bitcoin-qt. Nie zapominajmy, że w skórzanych portfelach, które nosimy w kieszeni, nie przechowujemy jednak całych oszczędności swojego życia. Warto większość środków zabezpieczyć w pewniejszym, choć już nie tak łatwo dostępnym portfelu, a portfel przeznaczony na zakupy zasilać w miarę potrzeb. Nie chcielibyśmy w końcu stracić większej liczby bitcoinów w przypadku 97
BITCOIN
utraty telefonu komórkowego bądź włamania do portfela webowego. Długoterminowi inwestorzy powinni zwrócić się raczej w kierunku portfeli przechowywanych w postaci zaszyfrowanego pliku w zabezpieczonej lokalizacji bądź nawet zdecydować się przepisać klucz prywatny ważnego adresu i schować go fizycznie w bezpiecznym miejscu. Pamiętajmy jednak, aby zarchiwizowane dane co jakiś czas sprawdzać i odświeżać ich nośniki. Płyty CD czy pamięci przenośne mają ograniczoną żywotność i odczytanie ich zawartości po upływie kilku lub kilkunastu lat może okazać się niemożliwe. Podobnie tradycyjny talerzowy dysk twardy może ulec rozmagnesowaniu, a kartka papieru może zwyczajnie wyblaknąć. Czasem dobrym pomysłem jest zrobienie kilku kopii ważnych informacji i przetrzymywanie ich w kilku dobrze zabezpieczonych miejscach, oddalonych od siebie. Po wybraniu portfela należy się zastanowić nad pozyskaniem bitcoinów. Pierwsze wirtualne monety można zakupić na aukcji internetowej, żeby zapoznać się z mechanizmem transakcji. Należy jednak mieć na uwadze, że nie wszystkie portale aukcyjne zezwalają na obrót kryptowalutami, a cena kupowanych tam monet może być sporo wyższa od ceny, za którą można kupić bitcoiny w kantorach internetowych. Być może lepszym pomysłem będzie raczej wybranie rzetelnego kantoru lub zaaranżowanie spotkania twarzą w twarz z lokalnym entuzjastą bitcoina? Przed pierwszym zakupem wirtualnej waluty musimy zapoznać się z jej aktualnym kursem, a także spróbować ocenić prawdopodobieństwo spadku lub wzrostu ceny w najbliższej przyszłości. Jeśli w niedalekiej przyszłości planowana jest ważna konferencja, uruchomienie dużej platformy transakcyjnej lub też zaakceptowanie bitcoina przez duży sklep online, możemy przypuszczać, że będzie miało to chociażby krótkotrwały wpływ na cenę wirtualnej waluty. W przypadku transakcji z innymi użytkownikami pamiętajmy o zebraniu satysfakcjonującej liczby potwierdzeń oraz próbie poznania opinii o osobie, z którą umawiamy się na wymianę. Jeśli zamierzamy zainwestować i zo98
Pierwsze kroki
stawić bitcoiny na długie lata, warto zapisać sobie pod ręką adres portfela, żeby móc go monitorować, na przykład za pośrednictwem strony blockchain.info. Jeśli mamy już upragnione bitcoiny, korzystajmy z nich. Możemy teraz kupować lub sprzedawać. Jeśli chcemy zachować większą anonimowość, warto od czasu do czasu zmienić adres. Do każdej z transakcji przychodzących możemy generować nowy adres. Jeśli chcemy uzyskiwać datki w bitcoinach od gości odwiedzających nasz profil w internecie, a prywatność nie jest priorytetem, możemy umieścić jeden ze swoich adresów w podpisie w stopce na forum, we wpisach na blogu bądź też możemy wygenerować odpowiedni kod QR i umieścić go na własnej stronie internetowej. Założenia projektu Bitcoin nie nakładają na użytkownika żadnych ograniczeń w korzystaniu z kryptowaluty.
99
BITCOIN
100
Słowniczek 1 satoshi — najmniejsza, niepodzielna jednostka bitcoina. „Bitcoinowy grosz” równy 0,00000001 BTC. Adres Bitcoin — ciąg znaków alfanumerycznych identyfikujący konto Bitcoin. W realnym świecie można porównać go do numeru rachunku bankowego. Algorytm oparty na parze klucza prywatnego i publicznego — wykorzystywany w kryptografii asymetrycznej algorytm oparty na dwóch matematycznie powiązanych ze sobą kluczach, z których jeden może służyć do szyfrowania wiadomości, a drugi do jej rozszyfrowywania. Algorytm ten jest również używany przy podpisach cyfrowych. Bank centralny — instytucja państwowa lub podporządkowana danemu państwu, odpowiedzialna za funkcjonowanie systemu bankowego; emituje pieniądz gotówkowy, jest bankiem banków — udziela kredytów bankom komercyjnym, prowadzi obsługę bankową rządu i instytucji bankowych, obsługuje dług publiczny, prowadzi politykę pieniężną państwa. Bloki — zbiory danych, które zawierają informacje o zrealizowanych transakcjach. Bloki utworzone (rozwiązane) przez wydobywających bitcoiny trafiają do łańcucha bloków. Deflacja — przeciwieństwo inflacji. Wzrost siły nabywczej pieniądza, spadek cen. 101
BITCOIN
EBC — Europejski Bank Centralny, bank centralny Unii Europejskiej, emitujący euro, z siedzibą we Frankfurcie nad Menem. Fed — System Rezerwy Federalnej (ang. Federal Reserve); bank centralny Stanów Zjednoczonych, powołany w 1913 r. Funkcja haszująca — jednostronny algorytm obliczający pewien stały skrót (hash) z danych wejściowych. Inflacja — ogólny wzrost cen w gospodarce. Może to być również zjawisko spadku wartości pieniądza wskutek zwiększenia jego podaży w gospodarce. Spadek siły nabywczej pieniądza. Koparka Bitcoin — urządzenie dokonujące obliczeń w procesie wydobywania bitcoinów. Koparką może być odpowiednio skonfigurowany domowy komputer lub też dedykowany układ typu FPGA czy ASIC. Kreacja pieniądza — wprowadzanie dodatkowych pieniędzy (forma bezgotówkowa) ponad wartość bazy monetarnej (pieniędzy wyemitowanych przez bank centralny) do obiegu przez bank komercyjny, przede wszystkim w oparciu o udzielanie kredytów i zapisy na rachunkach bankowych. Kryptografia — dziedzina kryptologii zajmująca się ukrywaniem informacji z wykorzystaniem szyfrowania. Kryptowaluta — waluta wirtualna opierająca zasadę swojego funkcjonowania na kryptografii. Łańcuch bloków — baza danych, która zawiera wszystkie bloki, czyli całą historię transakcji, od początku projektu Bitcoin. Nakamoto Satoshi — pseudonim osoby (lub grupy osób), która jako pierwsza opublikowała pracę opisującą koncepcję wirtualnej waluty opartej na kryptografii i funkcjonującej w sieci peer-to-peer.
102
Słowniczek
NBP — Narodowy Bank Polski, pełni funkcje banku centralnego w Polsce. Pieniądz bezgotówkowy — pieniądz występujący w postaci zapisów na rachunkach bankowych. Pieniądz fiducjarny — pieniądz opierający swoją wartość na umowie społecznej, niewymienialny na kruszec. Pywallet — skrypt służący między innymi do eksportowania i importowania adresów z lokalnego portfela Bitcoin. RPP — Rada Polityki Pieniężnej, organ Narodowego Banku Polskiego, prowadzi politykę pieniężną państwa, ustala wysokość stóp procentowych, dba o stabilność pieniądza w Polsce i odpowiedni, niski poziom inflacji. W skład Rady Polityki Pieniężnej wchodzi prezes Narodowego Banku Polskiego jako przewodniczący i dziewięciu członków, powoływanych po trzech przez prezydenta, Sejm i Senat na okres 6 lat. Sieć peer-to-peer — rodzaj architektury sieciowej, w której każdy węzeł jest równy oraz podłączony bezpośrednio do innych węzłów. Peer-to-peer różni się od architektury klient-serwer, gdzie węzły dzielą się na te, które udostępniają zasoby (serwery), oraz te, które z tych zasobów korzystają (klienci). System bankowy — banki oraz instytucje finansowe wraz z systemem prawnym, powiązaniami między nimi i otoczeniem. System kruszcowy — system waluty złotej; pierwszy system walutowy, w którym jednostka pieniężna była ekwiwalentem określonej ilości złota wyrażonej w jednostce masy; emitent pieniądza gwarantował jego wykup za daną ilość złota. System kursów płynnych — kurs waluty kształtuje się w oparciu o popyt na nią i jej podaż, państwo nie ingeruje w jego wysokość, nie ustala kursu wymiany na sztywno. 103
BITCOIN
Transakcja Bitcoin — „przelew” bitcoinów między dwoma adresami Bitcoin. Transfer Bitcoinów — patrz transakcja Bitcoin. wallet.dat — plik, w którym klient Bitcoin-qt przechowuje dane dotyczące adresów Bitcoin (w tym klucze prywatne). Ze względu na to, że plik wallet.dat przechowuje klucze prywatne adresów Bitcoin, jego utrata skutkować będzie brakiem możliwości zarządzania zgromadzonymi na danych adresach jednostkami wirtualnej waluty. Wydobywanie bitcoinów — w wydobywaniu bitcoinów biorą udział komputery zwane koparkami, które za udostępnienie swojej mocy obliczeniowej są wynagradzane nowymi jednostkami wirtualnej waluty. Obliczenia dokonywane przez koparki wykorzystywane są do generowania nowych bloków w łańcuchu bloków.
104