Co to jest trudność kryptowaluty?
Trudność to parametr wykorzystywany przez bitcoiny i inne kryptowaluty do utrzymywania stałego średniego czasu między blokami, gdy zmienia się moc skrótu sieci.
Wyjaśnienie trudności związanych z kryptowalutą
Bitcoiny i inne kryptowaluty korzystające z łańcuchów bloków proof-of-workingu są utrzymywane w procesie zwanym wydobywaniem. W tym systemie górnicy - komputery, na których działa klient oprogramowania kryptowaluty - rywalizują o znalezienie nowego bloku, dodając najnowszą partię danych transakcyjnych do łańcucha. W zamian otrzymują opłaty i (w niektórych przypadkach) nagrodę za nowe tokeny.
Czas potrzebny na znalezienie nowego bloku zależy od dwóch czynników: losowej szansy i trudności. Zacznij od przypadkowej szansy. Górnicy biorą partię danych transakcji i przepuszczają ją przez algorytm mieszający, jednokierunkową funkcję, która - biorąc pod uwagę określony zestaw danych - zawsze będzie generować ten sam wynik, ale którego wyników nie można odwrócić, aby pokazać oryginalne dane. Nie można przewidzieć, jaki będzie skrót. Nowy blok zostaje znaleziony, gdy skrót spełnia określone wymagania. Ponieważ każdy zestaw danych ma tylko jedno wyjście dla danej funkcji skrótu, górnicy muszą dodać do danych nonce - „liczbę używaną raz” - w celu uzyskania nowego skrótu. Jeśli wynik nadal nie spełnia wymagań, górnik próbuje ponownie z nowym nonce.
Wymaganie, które musi spełniać skrót, odpowiada trudności: prawidłowy skrót musi być poniżej określonej wartości docelowej ustawionej automatycznie (i okresowo dostosowywanej) przez protokół kryptowaluty. Im niższa wartość docelowa, tym więcej powtórzeń funkcji skrótu musi przejść górnik, aby uzyskać akceptowalny wynik - innymi słowy, tym większa trudność. Górnik może teoretycznie mieć szczęście i uzyskać poprawny skrót dla danego bloku przy pierwszej próbie: z czasem jednak wyższy poziom trudności oznacza, że górnicy muszą przełączyć średnio więcej jednostek nonces na blok.
W jakim celu służą trudności?
Po co ustawiać wyższy poziom trudności, jeśli jedynym praktycznym rezultatem jest to, że górnicy muszą powtarzać tę samą funkcję bardziej? Biała księga bitcoinów wyjaśnia:
„Aby zrekompensować wzrost prędkości sprzętu i zmienne zainteresowanie uruchomionymi węzłami w czasie, trudność sprawdzania pracy jest określana przez średnią ruchomą ukierunkowaną na średnią liczbę bloków na godzinę. Jeśli są generowane zbyt szybko, trudność wzrasta. „
Bitcoin ma na celu dodawanie nowego bloku do łańcucha bloków średnio co 10 minut. (Inne kryptowaluty mają na celu częstsze blokowanie; na przykład litecoin trwa 2, 5 minuty). Problem polega na tym, że moc obliczeniowa, jaką górnicy sieci wspólnie kontrolują, może się bardzo różnić. Kiedy Satoshi Nakamoto wydobywał pierwszy blok, w sieci była tylko jedna maszyna - prawdopodobnie zwykły laptop lub komputer stacjonarny. Obecnie istnieje wiele rozległych farm ASIC o wielkości magazynu (ASIC to maszyny zaprojektowane specjalnie do szybkiego przeszukiwania funkcji skrótu).
W celu zapewnienia, że sieć wytwarza nowy blok ze stałą średnią szybkością, oprogramowanie jest ustawione tak, aby automatycznie dostosowywać docelowy skrót w górę lub w dół, co skutkuje odpowiednio niższą lub wyższą trudnością. Kiedy Nakamoto wydobył blok genezy, trudność bitcoina wynosiła 1.
Aby sprawdzić trudność bitcoinów w czasie rzeczywistym, możesz zapoznać się z tym wykresem.
Na koniec lipca 2019 r. Trudność wynosi 9, 013 bilionów dolarów. Poniższy wykres pokazuje zmianę trudności bitcoinów w czasie: