Jedną z głównych zalet kryptowalut jest decentralizacja. Zdecentralizowane kryptowaluty nie podlegają żadnym bankom ani władzom. W tych sieciach płatniczych nie ma nawet żadnego serwera nadrzędnego, przez który przechodziłyby wszystkie transakcje. Na przykład, jeśli wysyłasz płatność przelewem bankowym, przechodzi ona przez centralny serwer banku, który sprawdza, rejestruje i potwierdza płatność. Nie ma czegoś takiego w przypadku kryptowalut. Jednak transakcje nadal muszą być sprawdzane, aby uniemożliwić użytkownikom ich podrabianie. Tym właśnie zajmuje się górnictwo kryptowalutowe.
Jak działa koparka czyli wydobywanie kryptowaluty
Kopanie kryptowalut to proces sprawdzania i potwierdzania transakcji w sieci. Proces ten zabezpiecza sieć. Jest więc jasne, że górnictwo jest niezbędne do prawidłowego funkcjonowania kryptowalut. Ponieważ jednak w sieci nie ma centralnego komputera, który zapewniałby wydobycie, komputery zwykłych użytkowników – górników – muszą zapewnić wydobycie. Wydobywanie kryptowalut jest jednak procesem bardzo wymagającym obliczeniowo, więc aby zachęcić użytkowników do ich wydobywania, system sowicie wynagradza górników.
Wyjaśnijmy na początku górnictwo w sposób uproszczony. Użytkownik instaluje na komputerze specjalny program i podłącza komputer do internetu. Program łączy się z siecią kryptowalutową, zaczyna przetwarzać przychodzące informacje i rozwiązuje trudny problem matematyczny. W ten sposób działają wszystkie komputery górników. Górnik, którego komputer pierwszy rozwiąże zadanie otrzymuje nagrodę w postaci kilku cyfrowych monet. Wielkość nagrody jest warta setki, tysiące, a nawet dziesiątki tysięcy dolarów. Inni górnicy nie mają szczęścia i muszą zacząć rozwiązywać nowy problem.

Rejestrowanie i weryfikacja transakcji
Kryptowaluty nie mają formy fizycznej, lecz cyfrową. Każda transakcja to po prostu plik danych, który zawiera informacje o adresie konta nadawcy, adresie konta odbiorcy oraz o tym, ile pieniędzy jest wysyłanych. Kiedy wysyłasz transakcję, wysyłasz ją do najbliższych węzłów, którymi są komputery innych użytkowników podłączonych do sieci. Każdy węzeł weryfikuje transakcję, która przez niego przechodzi zanim wyśle ją dalej do sieci. Sprawdzają one rzeczy formalne (poprawna składnia pliku, przestrzeganie maksymalnego rozmiaru pliku…), ale także to, czy nadawca ma kwotę, którą chce wysłać itp. Jeśli transakcja przebiega bezproblemowo, informacja o niej dociera do wszystkich podłączonych użytkowników w mgnieniu oka. Gwarantuje to, że tylko ważne transakcje są przesyłane przez sieć, a błędne lub fałszywe są natychmiast odrzucane.
Ponadto komputery górników rejestrują transakcje, weryfikują je i propagują bezproblemowe w sieci. Dodatkowo wszystkie ważne transakcje są przechowywane w pamięci do dalszego przetwarzania. Raz na jakiś czas tworzą plik z zapisanymi transakcjami (zwany blokiem transakcji), który blokują i zaczynają „wydobywać”. W międzyczasie oczywiście, rejestrują i zatwierdzają inne przychodzące transakcje i przechowują je w nowym bloku, który zostanie wydobyty po rozwiązaniu bieżącego. Blok nie może przekroczyć maksymalnego rozmiaru danych (np. 1 MB dla Bitcoina), więc może pomieścić tylko ograniczoną liczbę transakcji.
Zasada wydobywania kryptowaluty
Gdy górnik zablokuje blok, rozpoczyna się wydobycie. Transakcje zapisane w bloku są na tym etapie wysyłane, ale jeszcze nie potwierdzone ani nie rozliczone. Program górnika bierze blok i używa matematycznej funkcji haszowania, aby go zmodyfikować. Funkcja haszująca przekształca dużą ilość danych w krótki ciąg symboli (cyfr i liter) zwany haszem. Jeśli zmienisz, powiedzmy, jeden znak w dziesięciostronicowym pliku, wynikowy hash zostanie całkowicie zmieniony.
Stworzenie hasha jest łatwe, ale odszyfrowanie go z powrotem do oryginalnych danych jest praktycznie niemożliwe. To jak sumowanie liczb. Jeśli masz dodać do siebie liczby 3, 2 i 5, to istnieje tylko jeden poprawny wynik (a jest nim 10). Ale jeśli ktoś zapyta cię, jakie trzy liczby musisz dodać, żeby otrzymać wynik 10 to istnieje niezliczona liczba różnych możliwości. Nie ma też sposobu, by stwierdzić, jaki był oryginalny hash danych.
Każda kryptowaluta ma określony czas jaki zajmuje wydobycie bloku (na przykład 10 minut w przypadku bitcoina). Ale stworzenie hasha z bloku transakcji nie zajmuje komputerom ani sekundy. Dlatego system okresowo dostosowuje złożoność wydobywania poprzez dodawanie dodatkowych wymagań, które musi spełniać uzyskany w ten sposób hash. Takim wymogiem może być to, by hash zaczynał się od kilku zer. Ale żeby zmienić hash, musisz zmienić dane wejściowe. Nikt też nie chce, by informacje o transakcjach uległy zmianie. To musi pozostać bez zmian. Dlatego właśnie używa się systemu „proof of work”.
Proof of Work
Zanim program rozpocznie wydobycie dodaje do bloku „nonce”. Nonce to tekst, który choć nie ma znaczenia, zmienia wynikowy hash. Możesz zmieniać tę część tekstu tak długo, aż otrzymany hash będzie spełniał wszystkie wymagania. Program po prostu zmienia nonce, rozwiązuje hash i sprawdza czy wynik spełnia wymagania. Jeśli nie, pętla się powtarza. Nowoczesne komputery mogą wykonywać miliony takich cykli na sekundę lub więcej. Dla niektórych może to być zaskakujące, ale wydobywanie kryptowalut tak naprawdę opiera się na metodzie prób i błędów.

Przykład: Jak zmiana danych wpływa na wynikowy hash, ilustruje kalkulator, który konwertuje tekst na hash przy użyciu bitcoinowego algorytmu SHA256. Załóżmy, że rozwiązywany blok zawiera trzy transakcje, a wynikowy hash ma się zaczynać od dwóch zer. Rysunek (po lewej) pokazuje sam hash danych, ale zaczyna się on od 5. Ponieważ nie chcesz zmieniać informacji o transakcji, ale chcesz zmienić hash, dodajesz „nonce”. Następnie losowo zmieniasz tę część pliku, aż uzyskasz hash zaczynający się od dwóch zer (po prawej).
Można zauważyć, że im mocniejszy jest twój komputer, tym więcej haszy na sekundę możesz sprawdzić. A im więcej haseł możesz sprawdzić, tym większe prawdopodobieństwo, że któreś z nich będzie poprawne. W początkowym okresie wydobycie odbywało się za pomocą procesorów komputerowych, później za pomocą kart graficznych, ale dziś większość kryptowalut wykorzystuje potężne układy ASIC. Jednak nie tylko potężniejszy sprzęt, ale także rosnąca liczba górników sprawiły, że ogólna wydajność wszystkich górników gwałtownie wzrosła. Trzeba to wziąć pod uwagę. Wraz ze wzrostem wydajności zmniejsza się czas potrzebny na odkrycie poprawnego hasha.
Dlatego kod źródłowy każdej kryptowaluty jest zaprogramowany tak, by raz na jakiś czas dostosować złożoność wydobycia. Celem tych poprawek nie jest zmiana czasu potrzebnego do wydobycia bloku. Jeśli czas zacznie się skracać, wymagania wobec powstałego w ten sposób hasza wzrosną. Jeśli czas się wydłuży, system zmniejszy wymagania dla wynikowego hasha.
Wysyłanie nowego bloku i przyznawanie nagród
Gdy program wykryje poprawne rozwiązanie, powiadamia innych górników i wysyła im dokładną postać rozwiązanego bloku wraz z uzyskanym hashem. Pozostali górnicy w ciągu chwili weryfikują blok (tzn. transakcje w nim zawarte) i jego skrót. Jeśli wszystko jest w porządku, blok zostanie dołączony do wcześniejszych bloków w blockchainie. Blockchain to plik, który zawiera informacje o wszystkich płatnościach w sieci i który użytkownicy udostępniają sobie nawzajem. Jest to w zasadzie publiczna księga rachunkowa, do której każdy może zajrzeć.
Wydobywanie kryptowalut to wyścig z czasem. Pierwszy górnik, który ujawni poprawny hash, otrzymuje obiecaną nagrodę, a pozostali mają pecha. Nagrodą jest kilka cyfrowych monet danej kryptowaluty, które są generowane po potwierdzeniu bloku. Inną nagrodą są opłaty z transakcji, które były częścią bloku. Gdy blok zostanie potwierdzony, wszystkie zawarte w nim transakcje są rozliczone i nie można ich cofnąć.
Kiedy wysyłasz płatność, masz możliwość doliczenia dowolnej opłaty dla górnika. Jest to rodzaj nagrody za wykonanie transakcji, o której nie powinieneś zapominać. W rzeczywistości górnicy mogą usuwać dowolne transakcje z bloku przed rozpoczęciem wydobycia i robią to właśnie z transakcjami, które zawierają niewielkie opłaty lub nie zawierają ich wcale. Taka transakcja musi wtedy czekać w sieci na następny blok, a jej zaksięgowanie zajmuje znacznie więcej czasu.
Unifikacja sieci
Po potwierdzeniu, że nowy blok został właśnie wydobyty, wszyscy górnicy przestają wydobywać i zaczynają wydobywać ponownie, wykorzystując nowe transakcje, które w międzyczasie zarejestrowali i zweryfikowali w sieci. Zanim jednak to zrobią muszą sprawdzić, czy któraś z transakcji, które zamierzają zablokować w bloku, nie została już zaksięgowana w poprzednim bloku. Dzieje się tak dlatego, że każda transakcja przechodzi przez sieć w sposób sekwencyjny. Gdy górnicy blokują zebrane transakcje w bloku przed rozpoczęciem wydobycia, niektóre transakcje nie dotrą na czas do wszystkich górników. Dlatego niektórzy górnicy nie uwzględniają ich aż do następnego bloku. Krótko mówiąc górnicy muszą najpierw dostosować się do najnowszej wersji blockchaina, zanim zaczną wydobywać.
Czasami w sieci mogą pojawić się dwa poprawne rozwiązania w tym samym czasie. W tym przypadku sieć rozdziela się i każda część pracuje z inną wersją blockchaina (nawet jeśli różnią się one tylko ostatnim blokiem). Ujednolicenie następuje dopiero po rozwiązaniu kolejnego bloku. W tym przypadku część sieci zauważa, że rozwiązanie, które opiera się na innym blockchainie – rozprzestrzenia się w sieci. Programy analizują miejsce, w którym blockchain się rozdzielił i biorą gałąź, która jest dłuższa (czyli tę, w której górnicy właśnie rozwiązali poprawny wynik).
Zysk z wydobycia: Kiedy opłaca się kopać kryptowaluty?
Górnictwo jest wymagające finansowo. Potrzebujesz nie tylko dobrego jakościowo i wydajnego sprzętu, ale nie możesz też zapominać o kosztach energii elektrycznej, chłodzenia itp. W przeszłości do górnictwa wystarczył zwykły komputer. Obecnie wydobywanie kryptowalut odbywa się za pomocą dużych centrów obliczeniowych lub grup górników (mining pools). W pulach wszelkie nagrody są rozdzielane w zależności od tego, ile mocy obliczeniowej ktoś wniósł do całkowitej mocy obliczeniowej. Jednak obecnie niewielu górników wydobywa samodzielnie, ponieważ musieliby czekać latami na pomyślne wydobycie bloku.
Zapotrzebowanie na wydobycie rośnie, podczas gdy nagrody za wydobycie większości kryptowalut stopniowo lub wykładniczo maleją. Dlatego, aby wydobycie się opłacało, wartość cyfrowych monet musi wzrosnąć. Jednak w skali globalnej wydobywanie kryptowalut jest wysoce nieefektywne. Tysiące komputerów przetwarzają te same dane w tym samym czasie. Dla porównania, zużycie energii na jedną transakcję w sieci Bitcoin wystarcza na 25 000 transakcji w sieci VISA. A wraz z rosnącym zainteresowaniem kryptowalutami możemy się spodziewać, że sytuacja nie będzie lepsza. Jest to, krótko mówiąc, podatek, który pobierają zdecentralizowane sieci z modelem proof-of-work.
Jak wydobywać kryptowaluty na komputerze
Jeśli chcesz spróbować wydobywania kryptowalut, ale nie masz super mocnego sprzętu i nie wiesz, jak korzystać z wiersza poleceń, możesz użyć narzędzia do wydobywania, takiego jak MinerGate. Ten prosty i nieskomplikowany program, który jest połączony z pulą wydobywczą, załatwi wszystko za ciebie. Dzięki MinerGate możesz wydobywać 14 różnych kryptowalut, w tym Bitcoin, Ethereum czy Litecoin.
Korzystanie z MinerGate jest proste. Najpierw zakładasz konto na oficjalnej stronie, a potem ściągasz oprogramowanie MinerGate na swój komputer. Dostępna jest także wersja internetowa, która nie wymaga pobierania ani instalacji. MinerGate zawiera zintegrowany wirtualny portfel, więc możesz rozpocząć wydobycie, nawet jeśli nie masz jeszcze wirtualnego portfela. Pamiętaj, by zabezpieczyć swoje konto dobrym hasłem i najlepiej dwuskładnikowym uwierzytelnianiem.

Po zainstalowaniu MinerGate, po prostu włącz program i zacznij wydobywać. Po uruchomieniu, MinerGate automatycznie przeanalizuje wydajność twojego komputera i na podstawie wyników poleci ci konkretną kryptowalutę do wydobycia. Możesz jednak wydobywać dowolną walutę, a nawet dwie kryptowaluty jednocześnie. Możesz też ustawić obciążenie górnicze swojego komputera (np. ograniczyć liczbę aktywnych rdzeni). Po rozpoczęciu wydobycia twój komputer (lub oprogramowanie) będzie wydobywał wybraną kryptowalutę, podczas gdy ty nadal będziesz z nią pracował.
Pamiętaj, to nie jest porada finansowa ani inwestycyjna. Inwestuj w oparciu o swoje własne analizy, które rozumiesz. Kryptowaluty są bardzo zmienne i ryzykowne. Inwestuj tylko takie pieniądze, na których utratę możesz sobie pozwolić. Informacje zawarte na zrzutach ekranu platform służą wyłącznie celom ilustracyjnym.