Target Hash
Co to jest docelowy skrót?
W kopaniu kryptowalut docelowy hash to wartość liczbowa, której zahaszowany nagłówek bloku musi być mniejszy lub równy, aby nowy blok został przyznany górnikowi. Nagłówki bloków identyfikują poszczególne bloki w łańcuchu bloków.
Wydobywanie kryptowalut odnosi się do procesu gromadzenia kryptowaluty jako nagrody za wykonaną pracę. Charakter tej pracy ma na celu weryfikację zasadności transakcji na danej kryptowalutach. W ten sposób górnicy kryptowaluty są zasadniczo audytorami. Kiedy kopiesz, możesz zarabiać kryptowalutę bez konieczności odkładania na nią pieniędzy.
Docelowy hash jest używany do określania trudności danych wejściowych i można go dostosować, aby zapewnić wydajne przetwarzanie bloków. Na przykład docelowe skróty są używane w kryptowalutach, które używają systemu proof-of-work (PoW) do ustawiania bieżącej trudności wydobycia (w tym Bitcoin). Jeśli kryptowaluta używa innego systemu do wydobywania, może nie wymagać docelowego skrótu.
Kluczowe wnioski
- W kopaniu kryptowalut docelowy hash to wartość liczbowa, której zahaszowany nagłówek bloku (który służy do identyfikacji poszczególnych bloków w łańcuchu bloków) musi być mniejszy lub równy, aby nowy blok został przyznany górnikowi.
- Docelowe skróty są używane w kryptowalutach, które używają systemu proof-of-work (PoW) do ustawiania bieżącej trudności wydobycia (w tym Bitcoin); jeśli kryptowaluta używa innego systemu do wydobywania, może nie wymagać docelowego skrótu.
- Sieć Bitcoin dostosowuje trudność wydobycia, podnosząc lub obniżając docelowy hash, aby zachować średni 10-minutowy odstęp między nowymi blokami.
Jak działa docelowy skrót
Kryptowaluty opierają się na wykorzystaniu łańcuchów bloków, które zawierają historię wszystkich transakcji tej kryptowaluty. Transakcje te są zakodowane lub kryptograficznym kodowane na szereg znaków alfanumerycznych. Haszowanie polega na pobraniu ciągu danych o dowolnej długości i przepuszczeniu go przez algorytm w celu uzyskania wyniku o ustalonej długości. Dane wyjściowe będą zawsze miały tę samą długość, niezależnie od tego, jak duże lub małe są dane wejściowe (chociaż liczba permutacji skrótu jest astronomicznie duża). Każdy blok będzie zawierał hash poprzedniego nagłówka bloku.
Sprawdzanie poprawności i kodowanie łańcucha bloków jest nazywane wydobywaniem. Wydobywanie obejmuje wykorzystanie komputerów do uruchamiania algorytmów haszujących w celu przetworzenia ostatniego bloku; informacje, których potrzebuje użytkownik, znajdują się w nagłówku bloku. Sieć kryptowalut ustawia wartość docelową dla tego skrótu – zwanego docelowym hashem – a górnicy próbują określić, jaka jest ta wartość, testując wszystkie możliwe wartości.
Nagłówek bloku zawiera numer wersji bloku, sygnaturę czasową, skrót użyty w poprzednim bloku, skrót Merkle Root, numer jednorazowy i docelowy skrót. Blok jest generowany przez pobranie skrótu zawartości bloku, dodanie losowego ciągu liczb (liczby jednorazowej) i ponowne zahaszowanie bloku.
Jeśli hash spełnia wymagania celu, blok jest dodawany do łańcucha bloków. Przejście przez rozwiązania w celu odgadnięcia nonce jest określane jako dowód pracy (PoW), a górnik, który jest w stanie znaleźć wartość, otrzymuje blok i płaci w kryptowalucie.
Uwagi specjalne
Target Hash dla Bitcoin
Bitcoin wykorzystuje algorytm skrótu SHA-256. Algorytm ten generuje możliwe do zweryfikowania liczby losowe w sposób wymagający przewidywalnej mocy obliczeniowej komputera.
Wydobycie bloku wymaga od górnika wygenerowania wartości (nonce), która po zaszyfrowaniu (zaszyfrowaniu kryptograficznym) jest mniejsza lub równa wartości użytej w ostatnim bloku zaakceptowanym przez sieć bitcoin. Ta liczba zawiera się w przedziale od 0 (najmniejsza opcja) do 256 bitów (największa opcja), ale prawdopodobnie nigdy nie będzie to liczba maksymalna.
Ponieważ docelowy hash może być ogromną liczbą, górnik może być zmuszony przetestować dużą liczbę wartości, zanim odniesie sukces. Górnik, któremu się nie udało, musi czekać na następny blok (dlatego górnicy, którzy znajdą rozwiązanie hashujące, są porównywane do zwycięzców wyścigu lub loterii).
Docelowy hash jest okresowo dostosowywany. Funkcje skrótu używane do generowania nowego celu mają określone właściwości zaprojektowane w celu zapewnienia bezpieczeństwa łańcucha bloków (i jego kryptowaluty). Ten proces jest deterministyczny, co oznacza, że przy każdym użyciu tych samych danych wejściowych będzie dawał ten sam wynik. Jest wystarczająco szybki, aby nie zająć zbyt dużo czasu na zwrócenie skrótu dla danych wejściowych. Sprawia również, że określenie danych wejściowych jest bardzo trudne, szczególnie w przypadku dużych liczb, i wprowadza niewielkie zmiany w danych wejściowych w wyniku bardzo różnych wyników mieszania.