WYDOBYWANIE BITCOIN

Jak działa mining (wydobywanie) Bitcoinów?

W tradycyjnych systemach monetarnych, rząd może po prostu dodrukować więcej pieniędzy, kiedy istnieje taka potrzeba. Bitcoiny nie są drukowane, a przyznawane użytkownikom sieci. Komputery na całym świecie ”kopią” monety, konkurując ze sobą.

Użytkownicy sieci, nieustannie przesyłają Bitcoiny, sieć natomiast zbiera wszystkie transakcje dokonane w danym okresie w wykaz, o nazwie block. Zadaniem użytkowników wydobywających Bitcoiny (tzw. Górników), jest potwierdzić te transakcje i zapisać je w księdze głównej (general ledger).

Tworzenie hashów.

Księga główna jest długą lista bloków, znaną, jako łańcuch bloków. Może być stosowany do sprawdzenia każdej transakcji wykonanej między różnymi adresami Bitcoin. Gdy nowy blok transakcji jest tworzony, sieć dodaje go do łańcucha bloków, tworząc coraz dłuższą listę wszystkich dokonanych kiedykolwiek transakcji. Stale aktualizowana kopia bloku jest udostępniana wszystkim użytkownikom, tak, aby wiedzieli, co dzieje się w sieci. Księga główna musi być wiarygodna, a proces jej uwiarygodniania odbywa się cyfrowo.

Jak możemy być pewni, że łańcuch bloku pozostaje nienaruszony? To właśnie jest zadaniem górników.

Gdy blok transakcji zostanie stworzony, górnicy poddają go powtarzalnemu procesowi. Biorą oni informacje z bloku i stosują wzór matematyczny, przekształcając go w znacznie krótszy, pozornie losowy ciąg liter i cyfr, znanych pod nazwą hash, który przechowywany jest wraz z blokiem na końcu łańcucha bloku.

Hash ma ciekawe właściwości. Łatwo jest stworzyć hash z danych, takich jak blok Bitcoin, ale praktycznie niemożliwe jest wydobyć dane, o tym, z których ten hash powstał, patrząc na niego. Choć jest bardzo łatwe uzyskać hash z dużej ilości danych, każdy skrót jest unikalny. Jeśli zmienić chociażby jeden znak w bloku Bitcoin, jego hash będzie całkowicie inny.

Górnicy, do wygenerowania hasha, nie używają tylko transakcji z bloku. Wykorzystywane są także inne dane. Jedną z takich informacji jest np. hash ostatniego bloku w łańcuchu bloków.

Ponieważ hash każdego bloku jest produkowany przy użyciu hashu bloku poprzedniego, staje się on cyfrową wersja lakowej pieczęci. To potwierdza, że ten blok – i każdy blok po nim – jest uzasadniony, ponieważ jeśli był on naruszony, każdy będzie mógł to zauważyć.

Jeśli ktoś próbowałby sfałszować transakcję, zmieniając blok, który został już zapisany w łańcuchu bloków, zmieniłoby to hash tego bloku. Jeśli ktoś sprawdziłby autentyczności tego bloku, uruchamiając funkcję hashing, to natychmiast zauważyłby, iż hash jest inny od tego, który jest przechowywany wraz z tym blokiem łańcuchu bloku. Blok zostanie wtedy natychmiast rozpoznany, jako fałszywy.

Ponieważ hash każdego bloku jest używany do produkcji hasha następnego bloku w łańcuchu, manipulowanie blokiem zmieni również hash następnego bloku. Więc manipulowanie blokiem spowoduje także błąd w hashu kolejnego bloku. Zmieni to cały łańcuch.

Konkurowanie o monety

W taki właśnie sposób minerzy „pieczętują” bloki. Wszyscy konkurują ze sobą, aby to zrobić, stosując oprogramowanie napisane specjalnie dla sieci. Za każdym razem, gdy ktoś z powodzeniem tworzy hash, otrzymuje on nagrodę w wysokości 25 Bitcoinów, a łańcuch bloków jest aktualizowany i każdy w sieci dowiaduje się o tym. To zachęta, aby wciąż wydobywać i jednocześnie pilnować transakcji.
Problemem jest to, że bardzo łatwo jest stworzyć hash ze zgromadzonych danych. Komputery są w tym naprawdę dobre. Sieć Bitcoin musi to utrudnić, bo w przeciwnym razie, każdy produkowałby setki hashów na sekundę, a wszystkie Bitcoiny zostałyby wydobyte w ciągu kilku minut. Protokół Bitcoin celowo utrudnia ten proces, wprowadzając coś, co nazywa ”dowodem pracy”.

Protokół Bitcoin nie przyjmie żadnego starego hasha. Powoduje to, że hash bloku musi wyglądać w pewien określony sposób i posiada pewną liczbę zer na początku. Nie można przewidzieć jak hash będzie wyglądać przed jego wyprodukowaniem.

Górnicy nie powinni mieszać się do danych transakcji w bloku, ale muszą oni zmienić dane, aby stworzyć inny hash. Robią to za pomocą innego, losowego kawałek danych o nazwie ”nonce”. Jest on używany z danymi transakcji, aby utworzyć hash. Jeśli hash nie spełnia wymagań, nonce zostanie zmieniony, a cała procedura jest powtarzana. Wiele prób zająć może znalezienie nonca, który działa, a wszyscy górnicy w sieci próbują zrobić to w tym samym czasie. To w ten sposób górnicy zarabiają na Bitcoinach.