Kryptowaluty

20 Marca 2022

W ostatnich latach coraz więcej słyszymy o “krypto” i “blockchain”, a nawet o “NFT”. Nie jestem specjalistą od spraw ekonomii, a technologicznie w rozproszonych bazach danych też nie siedzę, ale postanowiłem napisać ten post żeby zebrać do kupy to co wiem na ten moment. Będę próbował ugryźć temat z kilku stron, ale nie będę udawał bezstronności - uważam, że forma w jakiej obecnie działają kryptowaluty jest niezdrowa.

Podstawy

Waluta

Zacznijmy od początku, czyli wytłumaczeniem kryptowaluty na bazie tego z czym mieliśmy do czynienia dotychczas. W dawnych czasach ludzie wymieniali się towarami - ja mam jabłko, ty masz ziemniaka, wymieniamy się. W miarę postępu cywilizacji zaczęto posługiwać się produktem pośrednim, co ułatwiło handel z wieloma ludźmi zamiast jednym - sprzedaję po jabłku 20 osobom, każdy daje mi za to monetę, a następnie daję 15 monet jednej osobie i dostaję nóż. No i waluta to pewien abstrakcyjny opis tych monet, gdzie wartość waluty powiązana jest z siłą nabywczą - ile i co mogę kupić za jednostkę waluty.

W Polsce mamy złotówkę, w Unii Europejskiej funkcjonuje euro, a w Wielkiej Brytanii funt. Te waluty różnią się wartością, bo jak idę do sklepu kupić mleko to powiedzmy w Polsce zapłacę 4zł, w Niemczech 0.8€, a w Anglii 0.7£ - no i tak na macro skalę. Stąd też mamy kantory wymiany walut i cenę, że ja płacę tyle złotówek, a dostanę tyle euro.

Bank

W miarę jak waluty się przyjęły i były reprezentowane fizycznymi obiektami, to zaczęto również prowadzić bankowość - będę podróżować, nie chcę żeby mnie ktoś okradł, więc pójdę do kogoś kto przechowa moje pieniądze i będzie ich pilnować. Ale podczas gdy ja tych pieniędzy nie używam to ten ktoś może nimi obracać, pod warunkiem że kiedy poproszę o moje pieniądze z powrotem to je dostanę.

Na przykład Janek, Stachu i Zdzichu umieścili po 200 monet u Janusza. Janusz zapisał to w notesie. Następnie Patryk przyszedł do Janusza i powiedział “Potrzebuję pożyczyć 300 monet na tydzień, oddam ci 320”. Janusz miał monety kolegów i postanowił pożyczyć je Patrykowi - w ten sposób nawet jeśli odda kolegom tyle samo ile mu dali, to będzie bogatszy o te 20 dodatkowych monet od Patryka. Jeśli w ciągu tego tygodnia jeden z kolegów będzie chciał wyciągnąć swoje oszczędności, to Janusz może mu je wypłacić, ale jeśli wszyscy koledzy przyjdą, to Janusz będzie miał problem, bo pożyczył te pieniądze Patrykowi i musi poczekać aż ten mu je odda, a koledzy będą się denerwować.

Podobnie działają instytucje bankowe tylko na o wiele większą skalę. Każdy bank ma swój notes gdzie pilnuje ile kto ma pieniędzy. Banki umożliwiają też przelewy - gdzie pieniądze są przepisywane z jednego konta na inne. Przelewy między bankowe wymagają synchronizacji różnych notesów i przedstawienia gotówki lub dokumentów, które potwierdzają, że dany bank posiada kapitał którym operuje.

W erze internetu, większość banków ma portal gdzie możesz się zalogować i zlecić przelew - zarządzać pieniędzmi, które bank przechowuje. Ze względu na regulacje, sprawdzanie przelewów, synchronizację notesów, itd. taki przelew między bankami nie dzieje się natychmiast, ale jeśli nadawca i odbiorca są w jednym banku to przelew może być natychmiastowy.

Kryptowaluta

Więc teraz przechodzimy do kryptowalut - na razie bez rozpatrywania technologii. Ogólna idea jest taka, że będzie to wyłącznie cyfrowa waluta, bez fizycznej gotówki. Ta waluta będzie żyć w systemie internetowym, który pełni rolę banku, tylko takiego międzynarodowego, w którym konto musi mieć każdy, kto tę walutę posiada. Więc transakcje w tej walucie dzieją się wyłącznie w obrębie jednego banku i mają być szybkie bo jest tylko jeden notes.

Żeby zabezpieczyć ten system bankowy przed złodziejami, używane są techniki kryptograficzne, baza danych (czyli ten notes) jest rozproszona między wiele komputerów i każdy może dołączyć do sieci wspierającej operacje banku. W dodatku ta baza danych jest tak zrobiona żeby w miarę łatwo było coś do niej dopisać, ale bardzo trudno coś zmienić lub usunąć.

Skąd się biorą pieniądze w tym systemie? W przypadku centralnie zarządzanych monet jak USDC, będą one wydawane przez zarządzającą jednostkę. W zdecentralizowanych systemach biorąc udział w tym rozproszonym systemie, twój komputer będzie wykonywał pewną pracę, przetwarzając transakcje banku. Za to dostaniesz zapłatę w tej walucie.

Problemy które krypto próbuje rozwiązać

To są powody jakie znalazłem online - niekoniecznie dotyczą wszystkich kryptowalut (bądź w różnym stopniu).

  • Próg wejścia - żeby założyć konto w banku musimy potwierdzić swoją tożsamość, a czasem nawet że nie jesteśmy bezdomni - w banku kryptowaluty każdy może założyć konto (albo wiele kont) bez żadnej weryfikacji.
  • Koszt współpracy banków - przelewy między bankowe wymagają wysiłku ze strony banków, stąd niektóre formy przelewów będą dodatkowo płatne - jeśli jest jeden bank dla całej waluty to ten problem jest zmniejszony.
  • Przejrzystość - banki nie udostępniają informacji o kontach, ani o swoich kosztach operacyjnych publicznie - w banku kryptowaluty każdy ma wgląd w to ile dane konto ma pieniędzy i dostęp do pełnej historii transakcji; ma to przeciwdziałać oszustwom.
  • Niezmienność - polityka i przepisy krajowe tworzą regulacje banków i mogą te regulacje zmieniać aby wpłynąć na wartość lub ilość dostępnej waluty - bank kryptowaluty ma z góry ustalone reguły.

Technologia

Nie będę zagłębiał się za bardzo, ani wchodził w szczegóły konkretnych sieci (Bitcoin, Ethereum, etc.), ale postaram się opisać bloki budujące te sieci.

Kiedy mówimy tu o sieci, mamy na na myśli komputery na których zainstalowano oprogramowanie banku kryptowaluty (którego kod źródłowy często będzie otwarty bitcoin) połączone przez internet peer-to-peer. Kilka komputerów w sieci będzie oficjalnych i znajdziemy ich IP poprzez zapytanie DNS, a następnie od nich dowiemy się o pozostałych uczestnikach sieci. Za pomocą algorytmów rozproszonej komunikacji serwery w sieci będą się dogadywać i dzielić informacjami, mając na celu konsensus - czyli, że każdy serwer ma taką samą wiedzę o danych w sieci.

Dane przechowywane są postaci blockchain - czyli łańcuch bloków o relacji rodzic-dziecko. Bardzo podobnie do tego jak działa git, z liniową historią. Blok będzie zawierał informacje o transakcjach. Transakcja opisuje konto, które wydało pieniądze i konto, które te pieniądze otrzymało, oraz kwotę. To ile masz pieniędzy na końcie to suma otrzymanych pieniędzy minus suma wydanych - a dane do tych obliczeń zapisane są w blokach.

Użytkownik wysyła opis transakcji do jednego z serwerów w sieci, a ten odpowiednio tę informację propaguje. Każdy serwer po zebraniu pewnej liczby transakcji zaczyna pracować nad utworzeniem bloku - weryfikuje transakcje i używa mechanizmu certyfikacji (o tym poniżej) do zatwierdzenia bloku z informacją, że opłaty za wykonanie transakcji będą przelane na jego konto. Następnie informacja o nowym bloku jest wysyłana do sieci, inne serwery ją sprawdzają, i jeśli twój blok był dobry i został rozesłany wcześniej niż blok kogoś innego, to staje się historią i wszyscy zaczynają pracować nad kolejnym blokiem. Tutaj mała uwaga - kiedy serwer synchronizuje swoją historią z innymi w sieci, może się okazać że sąsiedzi mają nieco inny obraz historii - wtedy używany jest ustalony algorytm żeby zdecydować która historia to ta prawdziwa.

Mechanizmy certyfikacji

Dwa obecnie popularne mechanizmy potwierdzania legitności bloków to Proof-of-Work i Proof-of-Stake. W tym pierwszym każdy serwer pracujący nad blokiem musi wykonać pewne kosztowne obliczenia. Obliczenia zajmują czas i zżerają prąd, więc ekonomicznie ciężko by było mieć na tyle siły obliczeniowej żeby zawsze być autorem bloków - co daje kontrolę nad danymi w sieci. Przy porównywaniu historii przez serwery wybierane będą historie o największej liczbie bloków (co jest proporcjonalne do ilości potrzebnej pracy). W przypadku Proof-of-Stake serwer obstawia pewną kwotę, aby zapisać do puli weryfikatorów, gdzie losowo może być wybrany jako autor bloku, albo będzie weryfikować innego autora bloku. Za źle wykonaną pracę może stracić depozyt, a za dobrze wykonaną pracę będzie nagrodzony.

Zachęcam przeczytać nieco o tym w dokumentacji Ethereum.

Konto

Wykorzystywana tu jest asymetryczna kryptografia. Mój klucz publiczny identyfikuje moje konto, a za pomocą klucza prywatnego podpisuję zlecenie przelewu. Ponieważ mając klucz publiczny ciężko jest znaleźć klucz prywatny, to jest to bezpieczne. Ta technologia nie jest odkrywcza (jak zresztą większość ogólnych konceptów w krypto) i używana jest przez każdego z nas codziennie odwiedzając strony internetowe, gdzie nasza przeglądarka potwierdza zgodność strony internetowej z jej certyfikatem SSL.

Spekulacja

Żeby waluta była wprowadzona do użytku, musi być stosunkowo stabilna. To znaczy, że zmiana cen w skali roku, a tym bardziej z dnia na dzień, powinna być mała. Jeśli wydoję krowę i sprzedam mleko dzisiaj, otrzymując X waluty, za co kobię sobie nieco chleba, to za tydzień powinienem móc to powtórzyć, albo trochę odłożyć i kupić coś droższego. Kiedy wartość waluty się gwałtownie zmienia to zmienia się też nasze podejście do odkładania na potem. W przypadku inflacji ceny będą rosnąć, więc będę próbować kupić jak najwięcej rzeczy na zapas. W przypadku deflacji ceny będą spadać, więc będę czekać z wydawaniem pieniędzy.

W przypadku kryptowalut mamy obecnie brak odniesienia wartości waluty do towarów i usług, bo nie doszło do szerszej adopcji - jest mało sklepów gdzie można zapłacić krypto. Teoretycznie można by powiedzieć, że wartość waluty powiązana jest z kosztem energii zużytej na utworzenie nowego bloku. Ale w praktyce kryptowaluty służą spekulacji - jeśli wydaje mi się, że cena wzrośnie (bo więcej osób będzie chciało kupić walutę) to kupię żeby po tym jak wzrośnie sprzedać. Im więcej osób kupuje, to cena wzrasta, im więcej sprzedaje, to cena spada. Cena potrafi się zmienić o kilka do kilkudziesięciu dolarów w minutę.

Wobec tego obecne kryptowaluty nie nadają się do wymiany na towary, skoro w tej chwili stać mnie rower, a za 10 minut na samochód, a za kolejne kilka to może już nawet tego roweru nie kupię. Tak się nie da. Niezależnie od tego jaki będzie przelicznik jednostki waluty na inne waluty, ta cena musi być stabilna aby ograniczyć ryzyko posiadania tej waluty.

Inflacja

Jednym ze stwierdzeń, które niedawno wyczytałem to to, że bitcoin jest odporny na inflację. Wręcz może być deflacyjny przez systemowo ograniczoną ilość jednostek jakie mogą zostać wydobyte przy tworzeniu bloków. Bitcoin jest odporny w ten sposób na psucie monety przez wydanie nowych monet. Natomiast inflacja zachodzi również naturalnie na rynku i może stymulować wzrost gospodarczy, jeśli jest nieduża. Brakuje mi dobrego materiału, który by wyjaśnił jak się tu ma jedno do drugiego.

Zjawiska społeczne

To o czym najciężej pisać - jak ludzie wchodzą w interakcje z kryptowalutami. Zacznijmy od tego, że żeby zrozumieć jak kryptowaluta działa zarówno technicznie jak i ekonomicznie potrzeba nieco wiedzy. Ale jest to jako tako do ogarnięcia (inaczej ten post byłby książką). Tylko, że na niewiedzy innych można się wzbogacić.

Zacznijmy od zabezpieczenia konta bankowego. W tradycyjnym banku pokazuję dowód osobisty, w bankowości internetowej używam potwierdzenia telefonem (SMS, PIN lub odcisk palca w zaufanej aplikacji), płacąc kartą muszę mieć komplet danych, albo wręcz fizycznie kartę - a we wszystkich przypadkach jeśli zostanę oszukany to mogę się do kogoś (instytucji banku) z tym zwrócić. W krypto banku, jeśli się znam to zarządzam swoimi kluczami prywatnymi, jeśli się nie znam to używam jakiejś aplikacji (jednej z wielu) która zarządza kluczami za mnie. Jeśli ktoś mnie oszuka i wyślę im pieniądze, to nie ma możliwości ich odzyskać, bo system został w tym celu zaprojektowany. I czytam nagłówek “Inwestor stracił $120k klikając z złośliwy link”.

Relatywna anonimowość, niski próg wejścia i brak regulacji to świetne warunki dla oszustów. Przeczytałem trochę komentarzy pod tweetem kogoś kto zarobił sprzedając NFT i zaoferował podarować losowej osobie 0.5ETH która napisze dlaczego ona powinna dostać te pieniądze - znacząca większość brzmiała “Straciłem pieniądze, zostałem oszukany, hackerzy”. Jak wejdę w sekcję komentarzy na YT pod filmem o krypto to widzę mnóstwo osób, które polecają “specjalistów” od inwestycji, którzy robią cuda z ich pieniędzmi, ile to oni nie zarobili…

Jednocześnie mamy do czynienia z brakiem prywatności, ponieważ wszystkie transakcje są publicznie dostępne. Wręcz przeczytałem w dokumentacji bitcoin, że zalecane jest używać dane konto tylko raz (najpierw otrzymując pieniądze, a potem je wydając), co utrudnia, ale nie uniemożliwia śledzenia. Więc pojawiają się produkty jak CoinJoin albo wręcz nowe waluty jak ZCash, aby poprawić tę sytuację.

Tylko, że nadal kryptowaluty nie są używane jak waluty, a coraz więcej pieniędzy jest w nie pompowanych. W jaki sposób zarobić? Kupić krypto, zachęcić innych żeby kupili krypto, łudząc ich, że się wzbogacą, a kiedy cena wzrośnie przez wzrost zainteresowania, sprzedać krypto. Więc teraz ci co kupili starają się przekonać samych siebie i innych, że był do dobry krok, mając nadzieję, że odzyskają pieniądze.

Dlatego mimo, że mógłbym to nie będę się dotykać kryptowalut. Ciążyłoby mi na sumieniu, że ktoś prawdopodobnie stracił pieniądze abym ja mógł zyskać. Jeśli w perspektywie kolejnych kilkudziesięciu lat pojawią się sensowne kryptowaluty, to spokojnie będę mógł spróbować alternatywnych form płatności. A jeśli nie, to ominie mnie ból głowy.

Polecam przeczytać ten artykuł