232 / 736STALE%

Stale Rate

Gdy wynik wydobycia dotyczy nieaktualnego zadania

Petra obserwuje swoją koparkę. Urządzenie liczy i zużywa prąd, ale pula oznacza część wyników jako stale. Czy koparka jest uszkodzona, czy jej praca po prostu dotarła za późno? Stale Rate pomaga śledzić takie sytuacje. Żeby zrozumieć procent, Petra musi jednak wiedzieć, co pula liczy, za jaki okres i jak uwzględnia tę pracę w wynagrodzeniu. Sama etykieta nie mówi, ile przychodu straciła.

Stale Rate określa udział wyników lub ważonej pracy uznanych za nieaktualne. W wydobyciu Bitcoina w puli chodzi zwykle o shares: częściowe dowody wykonanych obliczeń, które nie odpowiadają już bieżącemu zadaniu. Dokładna definicja i wpływ na wynagrodzenie zależą od badanego systemu.

Pula to usługa rozdzielająca pracę między górników. Gdy sieć znajdzie nowy blok, zwykle muszą zacząć budować na jego podstawie. Wynik poprzedniego zadania nie pasuje już do nowej pracy. Stratum V2, protokół komunikacji urządzeń wydobywczych, obsługuje to przez SetNewPrevHash: urządzenie zaczyna szukać bloku, który będzie kontynuacją nowo wskazanego bloku. Spośród przygotowanych wcześniej zadań ważne pozostaje tylko to wskazane identyfikatorem zadania job_id. Szukając problemu, Petra sprawdza zatem aktualność zadania, a nie wyłącznie czas wysłania wyniku. [1]

W prostym przykładzie Petra wysyła 100 wyników o tej samej trudności. Pula przyjmuje 98, odrzuca 1 jako stale i 1 z innego powodu. Odrzucone wyniki stale stanowią 1%, a wszystkie odrzucenia łącznie 2%. F2Pool nazywa udział wszystkich odrzuconych zgłoszeń we wszystkich wysłanych zgłoszeniach rejection rate. W naszym przykładzie stale to tylko część tej całości. Liczby wyjaśniają obliczenie, a nie dopuszczalny próg eksploatacyjny; przy innym podziale kategorii wskaźnik może znaczyć coś innego. [2]

Trudność share określa, jak wymagający wynik musi przedstawić urządzenie. Braiins rozlicza wynik o trudności d jako d podstawowych jednostek pracy. Wyobraźmy sobie jedną stale share o trudności 1 i jedną przyjętą o trudności 9. Licząc zgłoszenia, otrzymamy 50%, a ważąc pracę — 10%. Żadne obliczenie nie jest samo w sobie błędne, ale odpowiadają na różne pytania. Petra używa więc tej samej jednostki w liczniku i mianowniku oraz sprawdza, czy konwencja trudności jest jednakowa. [3]

Dokumentacja F2Pool rozróżnia kategorię Staled, która przynosi wynagrodzenie, i odrzucone stale shares, które go nie przynoszą. Sama etykieta nie mówi więc, czy Petra straciła pieniądze. Tej polityki nie można przypisywać każdej puli: liczą się zasady konkretnej usługi i rzeczywiste rozliczenie. Porównując dostawców, Petra najpierw ustala kategorię wyników. Dopiero wtedy może oszacować ich wpływ na przychód. [2]

Czytając dziennik pracy, łatwo przeoczyć, że Stratum V2 może potwierdzić kilka zgłoszeń jednym komunikatem SubmitShares.Success. Pole new_submits_accepted_count podaje liczbę właśnie potwierdzonych zgłoszeń, a new_shares_sum sumę ich trudności. Liczba odpowiedzi serwera nie jest zatem liczbą przyjętych shares. Przy odrzuceniu SubmitShares.Error zawiera sequence_number, identyfikator zgłoszenia, oraz error_code, przyczynę błędu. Bez tego rozróżnienia Petra mogłaby pomylić każdy błąd ze spóźnioną pracą. [1]

Wiadomość o nowym bloku musi najpierw dotrzeć do komputerów weryfikujących Bitcoin. BIP152 opisuje Compact Block Relay, oszczędniejsze przesyłanie bloków między węzłami sieci P2P, czyli bezpośrednio połączonymi uczestnikami. Mniej danych może skrócić opóźnienie transmisji. Chodzi jednak o rozsyłanie bloków, nie o rozliczanie shares w puli. Udział bloków pozostających poza głównym łańcuchem nie mierzy więc spóźnionych wyników koparki Petry. [4]

Braiins udostępnia statystyki pracy za różne okresy: shares_5m (ostatnie 5 minut), shares_60m (ostatnie 60 minut) i shares_24h (ostatnie 24 godziny). Petra nie może podzielić spóźnionych wyników z krótkiego odcinka przez całodzienną pracę i porównać tego z godzinową statystyką innej koparki. Obie części obliczenia muszą obejmować ten sam okres i te same urządzenia. Gdy nie zaobserwowano żadnych zgłoszeń, udział jest niezdefiniowany; nie oznacza to zmierzonej straty 0%. Luka w monitoringu ani brak odpowiedzi same nie dowodzą, że wynik był stale. [5]

Petra zaczyna od zmian zadań, powodów odrzucenia i stanu połączenia w tym samym okresie. F2Pool wiąże wyniki stale z warunkami sieciowymi. Inne odrzucenia mogą wynikać z błędów firmware, czyli oprogramowania sterującego koparką, albo z nadmiernego podkręcania. Podkręcanie oznacza zwiększanie częstotliwości pracy układów, aby próbować wykonywać więcej obliczeń. Braiins zaleca ping, prosty test sprawdzający, czy serwer odpowiada na zapytania sieciowe. Odpowiedź nie potwierdza jednak poprawności wydobycia ani naliczenia wynagrodzenia. Niższy łączny procent sam w sobie nie dowodzi usunięcia przyczyny. Chodzi o ustalenie, co się zmieniło, i śledzenie konkretnego błędu w porównywalnych warunkach. [2] [6]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Mining Share, Share Difficulty, Mining Latency, Pool Fee, Bitcoin. Do tego hasła prowadzą również odsyłacze z Stale Block, Mining Latency.

DOC · 001Stratum V2 — Mining ProtocolSpecyfikacja DOC · 002F2Pool — Rejection and Staled ratesDokumentacja DOC · 003Braiins — Share difficulty accountingDokumentacja DOC · 004BIP152 — Compact Block RelaySpecyfikacja DOC · 005Braiins — Worker monitoring windowsDokumentacja DOC · 006Braiins — Connection diagnosticsDokumentacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna