Wydobywanie kryptowalut to nieodłączny element funkcjonowania zdecentralizowanych sieci. Jednak do czego właściwe potrzebujemy górników, koparek kryptowalut oraz kopalni wydobywczych? W dzisiejszej publikacji poszukamy odpowiedzi na te właśnie pytania.
Jakie zadania stoją przed górnikami?
Kryptowaluty jako twór wysoce zdecentralizowany oraz z silnymi zdolnościami do samoregulacji, do swojego funkcjonowania nie potrzebują centralnego opiekuna, który będzie nadzorował i kontrolował sieć. Kryptowaluty poprzez protokół, w którym zapisane są immanentne (niemożliwe do zmiany) cechy i podstawowe parametry posiadają sztywno określone właściwości.
W ten sposób każdy może sprawdzić jaka jest maksymalna ilość monet, jaka jest roczna emisja nowych monet oraz czy emisja będzie nieskończona lub ograniczona czasowo. Na co dzień za bezpieczne i efektywne funkcjonowanie sieci odpowiadają górnicy oraz ich parki maszyn zwane potocznie koparkami kryptowalut. Dzięki ich pracy każdy użytkownik może czuć się pewnie, że wszelkie transakcje dokonywanie w sieci są sprawdzone przez moc obliczeniową koparek i są dopisane do łańcucha bloków kryptowaluty. Głównym zadaniem stojącym przed górnikami jest dodawanie nowych bloków z transakcjami do sieci, dzięki mocy obliczeniowej górnicy są w stanie zwalidować (potwierdzić) poprawność tych transakcji.
Za wykonaną pracę górnicy otrzymują wynagrodzenie w postaci nowo wygenerowanych monet, które jest jednocześnie zachętą do podtrzymywania pracy na rzecz danej sieci. W późniejszym etapie rozwoju wraz ze postępującym spadkiem emisji kryptowalut wynagrodzenia dla górników będą zastępowane prowizjami dołączanymi do każdej transakcji. Obecnie udział prowizji jest nieznaczny, jednak z biegiem wzrostu ilości transakcji ten stan powinien ulec zmianie.
Kiedy górnik otrzymuje wynagrodzenie?
Znamy już zadania jakie realizują górnicy, czas omówić dostępne sposoby wynagradzania ich pracy. Zasadniczo każdy górnik może pracować w trybie solo albo poprzez dołączenie do wybranej kopalni wydobywczej. Szczegółowe omówienie tego zagadnienia znajdziecie tutaj. W przypadku dużych kryptowalut takich jak Bitcoin oraz Ethereum kopanie w pojedynkę (solo) staje się bardzo ryzykownym przedsięwzięciem, ponieważ oczekiwany czas znalezienia bloku może być bardzo długi. W uproszczeniu wymagany czas na znalezienie bloku możemy wyliczyć następującym wzorem:
Co dla sieci Ethereum i typowej koparki opartej na mocy sześciu kart graficznych o mocy 180Mh/s daje następujący rezultat:
Oznacza to, że będziemy musieli utrzymywać i zasilać koparkę przez blisko pół roku zanim otrzymamy wypłatę. I to w idealnym przypadku, czyli nie biorąc po uwagę wariancji, która może wynosić od kilku do kilkuset procent.
Tym samym oczekiwany czas może wydłużyć się kilkukrotnie w przypadku pecha, lub w przypadku szczęścia skrócić kilkukrotnie. Dlatego zdecydowana większość stawia na praktyczne rozwiązania i łączy się w większe skupiska mocy obliczeniowej w ramach kopalń wydobywczych (mining pool). Zmniejszamy tym sposobem czas oczekiwania na otrzymanie wynagrodzenia przy jednoczesnym zwiększeniu płynności finansowej, otrzymując mniejsze ilościowo wynagrodzenia, ale w dużo bardziej przewidywalnych odstępach czasowych.
Czym są kopalnie (platformy) kryptowalut?
Kopalnię wydobywczą można określić jako protokół dla grupy górników, który umożliwia wspólną pracę w celu zwiększenia częstotliwości i przewidywalności otrzymywanych wynagrodzeń za wykonaną pracę. Serwer platformy wydobywczej przydziela każdemu z górników zadania, które mogą być rozwiązane i odesłane do kopalni w celu walidacji oraz docelowo wygenerowania nowego bloku w sieci.
Po wygenerowania nowego bloku serwer kopalni zleca wypłatę monet dla górników zgodnie z ilością rozwiązanych zadań, czyli proporcjonalnie do ilości mocy udostępnionej podczas obliczania zadań. Jeśli górnik posiada 1% udziałów to otrzyma 1% znalezionego wynagrodzenia. Na rynku platform górniczych dostępnych jest co najmniej kilka sposób przeliczania udziałów dla górników, te najczęściej spotykane zostały opisane tutaj.
Wariancja – kluczowy czynnik w ustalaniu wynagrodzeń
Najbardziej enigmatycznym i jednocześnie jednym z najbardziej złożonych elementów w życiu górnika jest wariancja. Wariancja gra w procesie wydobycia kluczową rolę, ponieważ to od niej zależy kiedy praca górnika zostaje wynagrodzona. Koparki kryptowalut podczas pracy rozwiązują zagadki kryptograficzne zadane przez algorytm kryptowaluty.
Górnik nie zna poprawnej odpowiedzi. Wynik jest w pewnym sensie zgadywany, tak jak w przypadku rzutu kostką – szansa na wyrzucenie szóstki w idealnym przypadku wynosi 1/6 – 16,67%, ale zdarza się, że szóstka wypadnie przy mniejszej ilości rzutów lub przy większej. Tak samo w przypadku wydobywania kryptowalut, jeśli koparki podłączone do kopalni „zgadują” rozwiązanie błędnie zbyt wiele razy to wariancja (luck) rośnie aż do momentu znalezienia poprawnego rozwiązania i wygenerowania bloku. W przypadku przeciwnym, gdy koparki wygenerują i wyślą poprawne rozwiązanie szybciej niż przewiduje to średnia, to otrzymana wariancja (luck) wynosi poniżej 100%. Oznacza to że górnicy włożyli mniej wysiłku i otrzymali rozwiązanie oraz nagrodę szybciej niż przewiduje to średnia.
Średnia to inaczej oczekiwany czas, który możemy wyliczyć na podstawie podanego wcześniej wzoru. Na przebieg całego procesu uczestnicy sieci nie mają wpływu. To jedna z ciekawszych cech łańcucha bloków – zdolność do samoregulacji. Każdy górnik może zakładać, że wariancja będzie dążyć na dłuższej próbie do 100%, a więc odnosząc się do zaprezentowanego przykładu, przy jednej typowej koparce w sieci Ethereum znajdziemy blok średnio co 166 dni. Jednocześnie znalezienie bloku po 30 dniach jak i zarówno po 400 dniach jest prawdopodobne. Stąd też łatwo o błąd pomiarowy ze względu na bardzo duży rozstrzał w jednostkowych pomiarach. Zaleca się w celu otrzymania miarodajnych pomiarów porównywać osiągi na próbie co najmniej 50-100 bloków. Dzięki takiej mechanice górnik, który wydobywa kryptowaluty na dłuższym dystansie czasowym może być spokojny, że jego praca zostanie rzetelnie wynagrodzona, adekwatnie do ilości wniesionej mocy obliczeniowej.
W praktyce oznacza to, że wynagrodzenia górników odznaczają się sezonowością, za którą stoi sprzyjająca lub nieprzychylna wariancja. Do typowych sytuacji zalicza się otrzymywanie nieregularnych dniówek przez górników: jednego dnia może to być 47 USD, innego 62 USD. Doświadczony górnik sprawdza, w jakiej fazie wariancji znajduje się jego platforma wydobywcza. Jeśli w historii ostatnich bloków widnieje kilka dłuższych bloków to wysoce prawdopodobne, że przed takim górnikiem stoi powrót dobrej wariancji, a więc bardzo dobra dniówka i powinien on szczególnie zadbać aby jego park maszyn był sprawny w 100% – szkoda byłoby tracić to co najlepsze w miningu.
Częstym błędem jest porównywanie platform wydobywczych na bazie krótkiego pomiaru – górnicy podłączają dwie identyczne koparki do dwóch różnych kopalni na okres 24h. Następnie odczytują naliczone wynagrodzenia oraz je wzajemnie porównują. To klasyczny błąd zbyt krótkiej próby, jeśli w pomiarze nie uwzględnimy wariancji, to ciężko w ten sposób wytypować lepszą kopalnię. Paradoksalnie, można nawet wybrać tę gorszą, która po prostu w rzeczonym teście miała więcej szczęścia. A na dłuższej próbie będzie uzyskiwać gorsze wyniki, na przykład dlatego, że jej serwery mieszczą się w innej części świata (większe opóźnienie) lub operator kopalni pobiera większą prowizję. Warto uważnie czytać dane z platform wydobywczych, większość profesjonalnych kopalni publikuje na swoich stronach historię znajdywania bloków – jest to dobra praktyka, takie dane co do zasady powinny być publiczne dostępne. Jeśli nie jesteście w stanie znaleźć takich danych na swojej kopalni – może to najlepszy znak żeby się zastanowić dlaczego kopalnia nie publikuje takich informacji? Wszak kto z nas chciałby powierzać swoje oszczędności bankowi, który nie podaje wysokości oprocentowania depozytów?
Autor: Marcin Żywica z ŻET Technologies
Górnik, założyciel ŻET Technologies, firmy projektującej
i wytwarzającej zaawansowane koparki do wydobywania
kryptowalut. ŻET Technologies dostarcza moc obliczeniową dla sieci
blockchain, tworzy technologię dla biznesu XXI wieku.