Na czym polega kopanie kryptowalut?

06.12.2018

Kopanie kryptowalut jest jednym z kluczowych elementów, który umożliwia kryptowalutom działać jako zdecentralizowana sieć peer-to-peer bez potrzeby posiadania centralnego organu zarządzającego nimi.

Kopanie jest procesem, w którym transakcje pomiędzy użytkownikami są weryfikowane i dodawane do publicznego rejestru blockchain, a także proces, który jest wykorzystywany do wprowadzania nowych jednostek tokenów/kryptowalut do istniejącej już podaży.


Jak dokładniej odbywa się proces kopania?

Górnik funkcjonuje w sieci jako węzeł. Jego zadaniem jest zbieranie informacji na temat transakcji w sieci, a następnie uporządkowanie ich w tzw. bloki. Za każdym razem gdy do sieci wysyłana jest informacja o transakcji, węzły górników otrzymują ich szczegóły, weryfikują je, dodają je do tzw. puli (ang. Memory pool) i zaczynają je składować w blok, który składa się z większej ilości takich transakcji.

Pierwszym krokiem w procesie wydobywania bloku jest zahaszowanie każdej transakcji obecnej w ogólnej puli.

Przed rozpoczęciem procesu, węzeł (czyt. górnik) dodaje swoją transakcję, w której wysyła sobie nagrodę górniczą za wydobycie bloku. Ta transakcja jest nazywana transakcją "bazową" (ang. coinbase) i jest to transakcja, w której jednostki tokenów/kryptowaluty w dosłownym znaczeniu tworzone są "z powietrza". W większości przypadków, transakcja dodana przez górnika jest również pierwszą transakcja w nowym bloku.

Po zahaszowaniu każdej transakcji, wygenerowane hashe następnie są gromadzone w tzw. “Merkle Tree”, znane również pod nazwą drzewo hashy. W tym momencie hashe łączone są w pary, a następnie są mieszane ponownie aż do osiągnięcia tzw. “Top of the Tree”, znane również pod nazwą “Hash Root” lub “Root Merkle”.

W następnym kroku “Hash root” razem z hashem poprzedniego bloku oraz losową liczbą zwaną nonce umieszczany jest w nagłówku bloku. W kolejnym kroku nagłówki bloków są mieszane, tworząc tzw. wartość wyjściową (ang. output), która służy jako identyfikator.

Identyfikator bloku musi być mniejszy niż określona wartość docelowa ustalona przez protokół. Innymi słowy, hash nagłówka bloku musi zaczynać się od określonej liczby zer.

Ta wartość docelowa, znana również jako trudność (ang. Hashing difficulty lub difficulty), skaluje się, dzięki czemu w protokole zapewnione jest to, że tempo tworzenia nowych bloków pozostaje proporcjonalne do ilości mocy użytej do procesu hashowania w sieci.

Górnicy ciągle hashują nagłówek, wykorzystują do tego wcześniej wspomniane “nonce” do momentu aż jeden z górników w sieci w końcu wygeneruje poprawny hash. W przypadku znalezienia poprawnego hashu, węzeł który go “odnalazł” transmituje swój blok do sieci. W tym momencie wszystkie pozostałe węzły sprawdzają poprawność hashu i dodają blok do swojej kopii łańcucha bloków i przechodzą do następnego bloku.

Czasami zdarza się jednak, że dwóch górników nadaje jednocześnie informację o wynalezieniu prawidłowego hashu i wysyła do sieci swój blok. Sieć w tym momencie napotyka dwa rywalizujące ze sobą bloki. Górnicy zaczynają kopać następny blok w oparciu o blok, który otrzymali jako pierwsi. “Walka” między blokami będzie kontynuowana aż do momentu kiedy to następny blok zostanie wydobyty w oparciu o jeden z konkurujących ze sobą bloków. Blok, który zostaje porzucony, nazywany jest blokiem osieroconym (ang. Orphan block) lub nieaktualnym blokiem (ang. Stale block). Górnicy, którzy do tego momentu korzystali z łańcucha bloków “przegranego”, porzucają go i znów przyłączają się do obowiązującego łańcucha bloków.


Pule górnicze (ang. Mining pools)

Podczas gdy nagroda za wydobycie bloku jest przyznawana górnikowi, który pierwszy odkrył poprawny hasz, prawdopodobieństwo znalezienia prawidłowego hashu przez górników z małym procentem mocy obliczeniowej jest bardzo niskie. Pule górnicze tworzone są w celu rozwiązania tego problemu. Górnicy w mining pools łączą posiadane przez siebie zasoby z innymi (czyt. dzielą się swoją mocą obliczeniową). Dzięki temu w przypadku wydobycia bloku, dzielą się ze sobą nagrodą na zasadach równomiernej dystrybucji - w zależności od ilości pracy, jaką przyczynili się do znalezienia hashu bloku.

Aby uzyskać bardziej szczegółowe spojrzenie na świat kryptowalut i technologie za nim stojące obejrzyj kolejne filmy dostępne na Binance Academy.

Loading