Bitcoin/Wydobywanie w praktyce

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania

Tu znajduje się praktyczny opis kopania - czyli jak uruchomić procedurę oraz jakie są możliwości.

Wybór współoperowania[edytuj]

Solo[edytuj]

Metoda polega na pełnym samodzielnym wykonywaniu całej potrzebnej do wydobycia pracy bloku, jak i stworzenia własnej transakcji coinbase, wybór zatwierdzonych transakcji i wysłaniu wygranego bloku do sieci.

Z racji tego, że w wydobywaniu uczestniczy duża moc innych kopiących, znalezienie bloku jest praktycznie niemożliwe. Jednakże w przypadku szczęścia, można zgarnąć całe wynagrodzenie za blok.

Z tej opcji skorzystają:

  • Kopiący altcoiny z małą mocą sieci i/lub solidnym sprzętem
  • Osoby chcące eksperymentować z podłączaniem koparek lub w sieci testowej
  • Osoby liczące na szczęście

Istnieją dwie możliwości kopania solo:

  • Na uruchomionym lokalnie demonie, po RPC
  • Dedykowane do samodzielnego kopania kopalnie zewnętrzne, które nie dzielą nagrody między połączonych z nią uczestników

W przypadku pierwszej opcji wystarczy skonfigurować program sterujący, aby jako host, użytkownik i hasło były podane te same, co w konfiguracji serwera RPC.

Wspólne wydobycie[edytuj]

Istnieje możliwość uczestnictwa w kopaniu w tzw. kopalniach. Mimo, że każdy pojedynczy nie wydobędzie bloku, jest wynagradzany za wspólna pracę. Nagroda jest częścią nagrody za blok podzieloną między górników stosownie do włożonej pracy (głównie mocy). Istnieje kilka metod takich rozliczeń. Gdy zostanie wydobyty blok, nagroda jest dzielona między uczestników, którzy pracowali nad blokami od momentu ostatniego wydobycia bloku w kopalni.

Do zalogowania będzie potrzebny adres stratum (znajdziesz w opisie na wybranej kopalni), nazwa użytkownika oraz hasło. Na niektórych kopalniach nazwa użytkownika jest w postaci użytkownik.górnik (konta górników można zakładać w interfejsie kopalni, a czasem automatycznie i służą do rozgraniczenia np. koparek) lub adresu wypłaty.

Sprzęt[edytuj]

Teoretycznie, jest możliwe kopanie za pomocą:

  • Procesora komputera (CPU)
  • Procesora karty graficznej (GPU)
  • Dedykowanych układów (ASIC i FPGA)

Sprzęty kontroluje oprogramowanie, które łączy się też siecią, by przesyłać bloki.

Każdy sprzęt, który został wykorzystany do procesu wydobywania nazywany jest potocznie koparką.

W przypadku procesorów, jest to najmniej wydajna metoda (pobór mocy i niska moc przerobowa) i przy zwiększeniu mocy sieci oraz zaangażowania pozostałych typów urządzeń są małe szanse na urobek.

Karty graficzne, ze względu na procesor graficzny mają większą moc niż procesor. Karty graficzne przystosowane są do wykonywania powtarzalnych operacji na całych zestawach danych (zgodnie z przeznaczeniem - obróbka obrazu - operowanie na tablicy pikseli). Istnieje możliwość zaangażowania procesora karty graficznej do obliczeń innych niż związanych z grafiką. Dobrze sprawuje się więc i w obliczaniu bloków.

Powstały też urządzenia dedykowane do wydobywania Bitcoinów. Są to układy scalone wyposażone tylko i wyłącznie w funkcje związane z wyliczaniem bloków oraz przystosowane do wykonywania powtarzalnych czynności na dla różnych kombinacji. Są znacznie wydajniejsze niż powyższe dwa typu układów.

Ze względów na wysoką trudność sieci, zalecane jest użycie układów ASIC. Jeżeli jednak zaczynasz przygodę, możesz spróbować na karcie graficznej lub ewentualnie procesorze komputera.

Oprogramowanie[edytuj]

Do uruchomienia procesu kopania potrzebny jest program, który będzie wykonywał te obliczenia oraz komunikował się ze sprzętem je wykonującym.

  • cgminer, sgminer
  • bfminer
  • cpuminer
  • wbudowany w programie portfela - dla kopiących solo na CPU (ale mniej wydajne niż CPUMiner).

Parametrami, które mogą przyjmować takie aplikacje to:

  • host, użytkownik i hasło
  • parametry sprzętowe, np. taktowanie
  • intensywność
  • ilość pracy i wątków

Konfigurowanie[edytuj]

Proste połączenie z kopalnią:

cgminer.exe -o stratum+tcp://adres:port -u użytkownik -p hasło -I 8

Skąd pochodzi moc[edytuj]

  • Użytkownicy
  • Wynajęte koparki
  • Prywatne farmy
  • Cloud hashing

Technologie kopalni[edytuj]

Stratum[edytuj]

Stratum jest protokołem stworzonym do komunikacji między górnikami a kopalnią. Każdy górnik oprócz pracy nad właściwymi parametrami odgadywanego bloku wysyła co pewien czas tzw. udziały.

Udziały[edytuj]

Udziały to dowody włożonej pracy (mocy) na rzecz wydobycia bloku w kopalni. Aby było możliwe, że górnicy podłączeni do kopalni faktycznie pracują nad blokiem i na rzecz kopalni, wysyłane są bloki do rozwiązania, ale ze zmniejszonym parametrem określającym trudność. Urządzenie użytkownika próbuje w normalny sposób wyliczyć kolejny blok, a z racji mniejszej trudności wypada on częściej. Takie bloki nie są prawidłowe w sieci, gdzie rzeczywista trudność jest większa, ale przez kopalnię zostaną właśnie uznane za udział.

Podczas wydobycia, należy znaleźć blok lub udział o trudności nie mniejszej niż zadana. Podczas tego samego procesu wydobycia można znaleźć "blok" o trudności powyżej trudności kopalni, ale też powyżej trudności sieci (czyli gdyby zadana trudność była większa, blok nadal mógłby "pasować"). Gdyby trudność sieci byłaby tak mała, jak ustalona trudność wydobycia - udział byłby zawsze równoważny prawdziwemu blokowi.

Przykład: Trudność kopania to 16, a w całej sieci - 1000. Koparka zwraca wyliczone parametry dla bloków, które odpowiadałyby blokom o trudnościach: 16, 20, 17, 2000. Oznacza to, że rozpracowano 3 udziały i znaleziono 1 blok.

Od ilości udziałów zależy podział nagrody z ostatecznego wydobytego bloku na kopalni i można oszacować zdalnie (na kopalni) moc górnika.

Systemy rozliczeń[edytuj]

  • PPLNS
  • PPS
  • PPLNSG
  • Proporcjonalnie

Opisy

Runda - to okres rozliczania wynagrodzenia liczony od ostatnio wydobytego bloku na danej kopalni do następnego wydobytego na tej samej kopalni.

Jeżeli np. w danej kopalni udało się wydobyć blok 100, a jakiś górnik podłączył się na czas próby rozwiązania bloków 120, 121 i 130 to gdy zostanie wydobyty blok np. 150, górnik nad nim już nie pracujący może nadal otrzymać swoją część nagrody za próbę rozpracowania bloków po numerze 120.

P2Pool[edytuj]

P2Pool to zdecentralizowany rodzaj kopalni. Górnicy mogą połączyć się z jednym z węzłów wydobycia. Niweluje to centralizację oraz uniemożliwia kradzież przez operatora kopalni.

Każdy prowadzący kopalnię będącą członkiem P2Pool musi mieć też zainstalowany pełny węzeł waluty.

Więcej

Oprogramowanie do prowadzenia kopalni[edytuj]

Jeżeli chciałbyś założyć własną kopalnię, w której kopaliby inni (zwłaszcza dla altcoinów), możesz zainteresować się:

  • python-stratum - serwer protokołu stratum
  • MPOS - interfejs webowy do zarządzania kontem na kopalni przez górników oraz system rozliczania i wypłacania
  • NOMP - jw., napisany w NodeJS i umożliwia dodawanie wielu kryptowalut. Można tez skorzystać z alternatywy - UNOMP.
  • CoiniumServ - jw. napisany w .NET