Czym Jest Wydobywanie Kryptowalut?
Spis Treści
Wprowadzenie
Jak działa wydobycie?
Czy wszystkie kryptowaluty mogą być wydobywane?
Proof of Work (PoW)
Różne metody wydobywania kryptowalut
Wydobycie na CPU
Wydobycie na GPU
Wydobycie na ASIC
Pule wydobywcze
Przemyślenia końcowe
Czym Jest Wydobywanie Kryptowalut?
Strona Główna
Artykuły
Czym Jest Wydobywanie Kryptowalut?

Czym Jest Wydobywanie Kryptowalut?

Początkujący
Opublikowane Dec 6, 2018Zaktualizowane Nov 16, 2022
8m

TL;DR

Wydobywanie kryptowalut odnosi się do procesu weryfikacji i zatwierdzania transakcji blockchain. Jest to również proces, który tworzy nowe jednostki kryptowalut. Praca wykonywana przez górników wymaga intensywnych zasobów obliczeniowych, ale to właśnie ona zapewnia bezpieczeństwo sieci blockchain. Uczciwi i skuteczni wydobywcy są wynagradzani za swoją pracę nowo utworzonymi kryptowalutami plus opłatami transakcyjnymi.


Wprowadzenie

Wydobycie to proces, w którym transakcje kryptowalutowe pomiędzy użytkownikami są weryfikowane i dodawane do księgi publicznej blockchain. Operacje wydobywcze są również odpowiedzialne za wprowadzanie nowych monet do istniejącej podaży obiegowej.

Wydobywanie jest jednym z kluczowych elementów, które pozwalają blockchainowi Bitcoin pracować jako rozproszona księga. Wszystkie transakcje są rejestrowane w sieci peer-to-peer bez potrzeby istnienia centralnego organu. W tym artykule omówimy wydobycie, które odbywa się w sieci Bitcoin, ale proces ten jest podobny przy altcoinach, które przyjmują ten sam mechanizm wydobywczy.


Jak działa wydobycie?

W miarę tworzenia nowych transakcji blockchain są one wysyłane do puli zwanej pulą pamięci. Zadaniem wydobywcy jest weryfikacja ważności tych oczekujących transakcji i organizowanie ich w bloki. O bloku można myśleć jako o stronie księgi głównej blockchain, w której zapisanych jest kilka transakcji (wraz z innymi danymi).
Dokładniej rzecz ujmując, węzeł wydobywczy jest odpowiedzialny za zbieranie niepotwierdzonych transakcji z puli pamięci i łączenie ich w blok kandydujący. Po tym, wydobywca będzie próbował przekształcić ten blok kandydujący w ważny, potwierdzony blok. Ale żeby to zrobić, musi znaleźć rozwiązanie złożonego problemu matematycznego. Wymaga to dużej ilości zasobów obliczeniowych, ale każdy pomyślnie wydobyty blok daje górnikowi nagrodę za blok, składającą się z nowo utworzonych kryptowalut plus opłaty transakcyjne. Przyjrzyjmy się bliżej procesowi wydobycia.


Krok 1 - Hashing transakcji

Pierwszym krokiem wydobycia bloku jest pobranie oczekujących transakcji z puli pamięci i przesłanie ich, jedna po drugiej, przez funkcję hash. Za każdym razem, gdy prześlemy kawałek danych przez funkcję hashującą, wygenerujemy wyjście o stałym rozmiarze zwane hash. W kontekście górnictwa, hash każdej transakcji składa się z ciągu cyfr i liter, który działa jako identyfikator. Skrót transakcji reprezentuje wszystkie informacje zawarte w tej transakcji.
Oprócz hashowania i notowania każdej transakcji z osobna, wydobywca dodaje również własną transakcję, w której wysyła sobie nagrodę za blok. Ta transakcja jest określana jako transakcja coinbase i to właśnie ona tworzy zupełnie nowe monety. W większości przypadków transakcja coinbase jest pierwszą, która jest rejestrowana w nowym bloku, a następnie wszystkie oczekujące transakcje, które chcą zatwierdzić.

Krok 2 - Tworzenie Drzewa Merkle

Po tym, jak każda transakcja jest hashowana, hashe są następnie organizowane w coś, co nazywa się Drzewem Merkle. Znane również jako drzewo hash, Drzewo Merkle jest tworzone poprzez organizowanie hashów transakcji w pary, a następnie ich hashowanie. Nowe wyjścia hash są następnie łączone w pary i ponownie hashowane, a proces ten jest powtarzany aż do uzyskania pojedynczego hasha. Ten ostatni hash jest również nazywany root hash (lub Merkle root) i jest w zasadzie hashem, który reprezentuje wszystkie poprzednie hashe, które zostały użyte do jego wygenerowania.

Krok 3 - Znalezienie prawidłowego block headera (hash bloku)

Block header działa jako identyfikator dla każdego pojedynczego bloku, co oznacza, że każdy blok ma unikalny hash. Podczas tworzenia nowego bloku, górnicy łączą hash poprzedniego bloku z root hashem ich bloku kandydującego, aby wygenerować nowy hash bloku. Ale oprócz tych dwóch elementów, muszą również dodać arbitralną liczbę zwaną nonce.

Tak więc, próbując zweryfikować swój blok kandydata, górnik musi połączyć root hash, hash poprzedniego bloku, oraz nonce i przesłać je wszystkie przez funkcję hash. Ich celem jest stworzenie hasha, który jest uznawany za ważny.

Root hash i hash poprzedniego bloku nie mogą być zmienione, więc górnicy muszą zmieniać wartość nonce kilka razy, aż do znalezienia poprawnego hasha.

W celu uznania za ważne, wyjście (hash bloku) musi być mniejsza niż pewna wartość docelowa, która jest określona przez protokół. W wydobywaniu Bitcoina, hash bloku musi zaczynać się od pewnej liczby zer. To jest to, co nazywamy trudnością wydobycia.

Krok 4 - Rozgłaszanie wydobytego bloku

Jak już widzieliśmy, górnicy muszą hashować block header w kółko, z różnymi wartościami nonce. Powtarzają tę pracę, aż znajdą poprawny hash bloku. Górnik, który go znalazł będzie następnie wysłać swój blok do sieci. Wszystkie pozostałe węzły sprawdzą, czy blok i jego hash są ważne, a jeśli tak, dodadzą nowy blok do swojej kopii blockchaina.

W tym momencie blok kandydujący staje się blokiem potwierdzonym, a wszyscy górnicy przechodzą do wydobywania kolejnego bloku. Wszyscy górnicy, którzy nie mogli znaleźć poprawnego hasha na czas, odrzucają swój blok kandydacki, a wyścig wydobywczy zaczyna się od nowa.


Dostosowanie trudności wydobycia

Trudność wydobycia jest regularnie dostosowywana przez protokół, zapewniając, że tempo tworzenia nowych bloków pozostaje stałe. To właśnie sprawia, że emisja nowych monet jest stała i przewidywalna. Trudność dostosowuje się proporcjonalnie do ilości mocy obliczeniowej (hash rate) przeznaczonej dla sieci.

W związku z tym, za każdym razem, gdy nowi górnicy dołączą do sieci i wzrośnie konkurencja, trudność hashowania wzrośnie, zapobiegając zmniejszeniu średniego czasu bloku. W przeciwieństwie do tego, jeśli wielu górników zdecyduje się opuścić sieć, trudność hashowania spadnie, co sprawi, że wydobycie nowego bloku będzie mniej trudne. Te poprawki utrzymują czas bloku na stałym poziomie, niezależnie od całkowitej mocy hashowania sieci.


Co jeśli dwa bloki są wydobywane w tym samym czasie?

Czasami zdarza się, że dwóch górników nadaje ważny blok w tym samym czasie, a sieć kończy się z dwoma konkurującymi blokami. Górnicy zaczynają wtedy wydobywać następny blok w oparciu o blok, który otrzymali jako pierwszy. To powoduje, że sieć rozdziela się (tymczasowo) na dwie różne wersje blockchaina.

Rywalizacja między tymi blokami będzie trwała do momentu wydobycia kolejnego bloku, na szczycie któregoś z konkurujących bloków. Kiedy nowy blok jest wydobywany, ten blok, który pojawił się przed nim, będzie uważany za zwycięzcę. Blok, który zostaje porzucony nazywany jest orphan block lub stale block, co powoduje, że wszyscy górnicy, którzy wybrali ten blok, przestawiają się z powrotem na wydobywanie łańcucha zwycięskiego bloku.


Czy wszystkie kryptowaluty mogą być wydobywane?

Bitcoin jest najbardziej popularnym i dobrze ugruntowanym przykładem kryptowaluty wydobywalnej, ale nie wszystkie kryptowaluty są wydobywalne. Wydobycie Bitcoina oparte jest na algorytmie konsensusu zwanym Proof of Work (PoW).


Proof of Work (PoW)

Proof of Work (PoW) to oryginalny mechanizm konsensusu blockchain stworzony przez Satoshi Nakamoto. Został on wprowadzony w whitepaper Bitcoina, w 2008 roku. W skrócie, PoW określa sposób, w jaki sieć blockchain osiąga konsensus pomiędzy wszystkimi rozproszonymi uczestnikami bez pośrednictwa osób zewnętrznych. Osiąga się to poprzez wymaganie znacznej mocy obliczeniowej w celu zniechęcenia złych podmiotów.
Jak już widzieliśmy, transakcje w sieci PoW są weryfikowane przez górników. Aby wygrać prawo do wydobycia następnego bloku, górnicy rywalizują poprzez rozwiązywanie skomplikowanych zagadek kryptograficznych za pomocą specjalistycznego sprzętu wydobywczego. Pierwszy górnik, aby znaleźć prawidłowe rozwiązanie może następnie wysłać swój blok transakcji do blockchaina i otrzymać nagrodę za blok.

Ilość krypto w nagrodzie za blok różni się w zależności od różnych blockchainów. Na przykład w blockchainie Bitcoina górnik może otrzymać 6,25 BTC w ramach nagrody (stan na grudzień 2021). Ilość BTC w nagrodzie za blok zmniejsza się o połowę co 210 000 bloków (mniej więcej co cztery lata) z powodu mechanizmu halvingu.


Różne metody wydobywania kryptowalut

Nie ma jednej metody wydobywania kryptowalut. Sprzęt i proces zmieniają się wraz z pojawianiem się nowego sprzętu i algorytmów konsensusu. Zazwyczaj górnicy używają wyspecjalizowanych jednostek komputerowych do rozwiązywania skomplikowanych równań kryptograficznych. Przyjrzyjmy się, jak działają niektóre z najbardziej powszechnych metod wydobywczych.


Wydobycie na CPU

Wydobywanie na Central Processing Unit (CPU) polega na wykorzystaniu CPU komputera do wykonywania funkcji hashujących wymaganych przez PoW. We wczesnych dniach Bitcoina, koszt i bariera wejścia do wydobnictwa były niskie. Trudność wydobycia mogła zostać pokonana przez zwykły procesor, więc każdy mógł spróbować wydobywać BTC i inne kryptowaluty.

Jednak w miarę jak coraz więcej osób zaczęło wydobywać, a hashrate sieci wzrastał, opłacalne wydobycie stawało się coraz trudniejsze. Na dodatek, pojawienie się wyspecjalizowanego sprzętu wydobywczego o większej mocy obliczeniowej w końcu sprawiło, że wydobycie z wykorzystaniem CPU stało się prawie niemożliwe. Obecnie wydobycie na CPU nie jest już opłacalne, ponieważ wszyscy górnicy korzystają z wyspecjalizowanego sprzętu.


Wydobycie na GPU

Jednostki GPU (Graphics Processing Units) przeznaczone są do równoległego przetwarzania szerokiej gamy aplikacji. Chociaż są one zazwyczaj używane do gier wideo lub renderowania grafiki, mogą być również wykorzystywane do wydobycia.

Układy GPU są stosunkowo tanie i bardziej elastyczne niż popularny sprzęt wydobywczy ASIC. Niektóre altcoiny można wydobywać za pomocą GPU, ale wydajność zależy od algorytmu wydobywania i trudności.


Wydobycie na ASIC

Układ scalony specyficzny dla aplikacji (ASIC - Application-Specific Integrated Circuit) jest zaprojektowany do jednego konkretnego celu. W kryptowalutach odnosi się do wyspecjalizowanego sprzętu stworzonego do wydobywania. Wydobywanie na ASIC jest bardzo wydajne, ale drogie.

Wydobywanie to zawody. Aby wydobycie było opłacalne, potrzebny jest konkurencyjny sprzęt wydobywczy. Ponieważ górnicy ASIC znajdują się w awangardzie technologii wydobywczej, koszt jednostki jest znacznie wyższy niż procesorów CPU lub GPU. Ponadto, ciągły postęp w technologii ASIC szybko sprawia, że starsze modele ASIC stają się nierentowne, co oznacza, że często trzeba je wymieniać. To sprawia, że wydobycie na ASIC jest jednym z najdroższych sposobów wydobycia, nawet bez uwzględnienia kosztów energii elektrycznej.


Pule wydobywcze

Ponieważ nagroda za blok jest przyznawana pierwszemu udanemu górnikowi, prawdopodobieństwo znalezienia poprawnego hasha jest bardzo małe. Górnicy posiadający niewielki procent mocy wydobywczej mają bardzo małe szanse na samodzielne odkrycie kolejnego bloku. Pula wydobywcza oferuje rozwiązanie tego problemu.

Pule wydobywcze to grupy górników, którzy łączą swoje zasoby (hash power), aby zwiększyć prawdopodobieństwo wygrania nagród za blok. Gdy pula z powodzeniem znajdzie blok, górnicy podzielą nagrodę równo między wszystkich w puli, zgodnie z ilością wniesionej pracy.

Pule wydobywcze mogą przynieść korzyści indywidualnym górnikom pod względem kosztów sprzętu i energii elektrycznej, ale ich dominacja w górnictwie rodzi obawy o atak 51% na sieć.


Przemyślenia końcowe

Wydobywanie kryptowalut jest kluczową częścią Bitcoina i innych blockchainów PoW. Jest to jedna z rzeczy, które zapewniają bezpieczeństwo sieci i stabilną emisję nowych monet. Wydobywanie ma pewne zalety i wady, z których najbardziej oczywistą jest potencjalny zarobek, jaki można uzyskać z nagród za bloki. Na zyski z wydobycia może jednak wpływać wiele czynników, w tym koszty energii elektrycznej i ceny rynkowe. Nie ma gwarancji, że osiągniesz zyski, więc zanim wskoczysz do wydobywania kryptowalut, powinieneś(-naś) DYOR i ocenić wszystkie potencjalne ryzyka.