Co to jest nonce? Zanurz się w dowód pracy

Nonce jest centralną częścią algorytmu wydobywczego proof of work (PoW) dla łańcuchów bloków i kryptowalut, takich jak Bitcoin. Górnicy konkurują ze sobą znajdź wartość jednorazową, która generuje skrót o wartości mniejszej lub równej ustawionej przez trudność sieci. Jeśli górnik znajdzie taką wartość jednorazową, zwaną a złoty nonce, następnie zdobywają prawo do dodania tego bloku do łańcucha blokowego i otrzymania nagrody za blok.

Nonce to losowa, jednorazowa liczba całkowita. Górnicy co sekundę testują i odrzucają miliony noncji. Mają nadzieję na wygenerowanie wartości skrótu, która spełni cel, a tym samym zdobędzie nagrodę za blok. Tak dzieje się podczas wydobywania PoW na najbardziej podstawowym poziomie, chociaż jest to o wiele więcej. Tutaj zamierzamy zbadać cały cel nonce w całym procesie wydobywania.

Bloki konstrukcyjne z wartościami jednorazowymi

Nonce to liczba 32-bitowa. Pozostaje w nagłówku bloku wraz z innymi kluczowymi danymi, takimi jak cel trudności i znacznik czasu. Kiedy górnicy budują bloki, losowo wybierają wartość jednorazową i wprowadzają ją do nagłówka bloku, tworząc nowy hash nagłówka bloku.

Hash to 256-bitowa liczba i musi zaczynać się od ogromnej liczby zer, czyli mieć niesamowicie małą wartość. Jeśli nie ma wystarczającej liczby zer, górnik odrzuca hash i próbuje nowego nonce. Ten proces jest powtarzany, dopóki górnik nie odkryje wartości jednorazowej, która generuje hash o wartości mniejszej lub równej ustawionej przez trudność.

Struktura blokowa

32-bitowy rozmiar nonce oznacza, że ​​istnieją cztery miliardy możliwych kombinacji. Chociaż technicznie jest znacznie wyższy ze względu na coś, co nazywa się extra nonce. To dodatkowa przestrzeń na dłuższy okres jednorazowy, co oznacza, że ​​możesz mieć dziesiątki miliardów kombinacji.

Nonce jest jedynym parametrem, który zmienia górnik, a wszystkie inne pozostają statyczne. Jeśli górnik znajdzie złoty nonce, dodaje ten blok do łańcucha blokowego i otrzymuje nagrodę za blok. Obecnie nie ma sposobu, aby przyspieszyć proces wyszukiwania poprawnej liczby nonce. Oznacza to, że górnicy działają tylko metodą prób i błędów, dopóki nie znajdą złotego nonce. To właśnie ten proces stanowi praca, w dowodzie pracy.

Związek z trudnością wydobycia

Jak powiedzieliśmy, górnik próbuje znaleźć wartość jednorazową, która daje hash poniżej wartości określonej przez trudność sieci. Protokół Bitcoin stawia tę trudność w wydobywaniu. Wraz ze wzrostem trudności maleje wartość docelowa skrótu. Oznacza to, że na początku liczby mieszającej musi być więcej zer. Prawdopodobieństwo znalezienia niższej wartości skrótu maleje, więc górnicy muszą przetestować więcej wartości liczbowych. Kiedy górnik haszuje blok, hash musi mieć wartość równą lub mniejszą niż liczba docelowa, aby odnieść sukces.


Podczas wydobywania bitcoinów trudność dostosowuje się co 2016 bloków. To działa co dwa tygodnie. Jednak inne łańcuchy bloków PoW mają szybsze korekty. Na przykład Litecoin, ze względu na krótszy czas blokowania, jego trudność dostosowuje się co trzy i pół dnia. Z drugiej strony Digibyte dostosowuje trudność w każdym bloku w czasie rzeczywistym.

Dlaczego dostosowanie ma znaczenie

Gdyby trudność się nie dostosowywała, istniałaby liniowa zależność między mocą mieszania a nagrodami za blok. Gdy więcej górników dołącza do sieci i rośnie moc mieszania, nastąpi odpowiedni wzrost nagród Bitcoin. Podważyłoby to kontrolę inflacji w protokole Bitcoin, a wraz z nim jego właściwości zdrowego pieniądza.

Na szczęście dzięki dostosowaniu poziomu trudności nagrody blokowe mogą być stosunkowo stabilne co dwa tygodnie. Trudność można również obniżyć. Jeśli rentowność wydobycia zniknie, górnicy zaprzestaną działalności, a wskaźnik hash spadnie. Trudność zostanie wówczas odpowiednio zmniejszona. Widzimy to już od kilku miesięcy w sieci Bitcoin od czasu trudności osiągnęły szczyt 4 października.

W przypadku Bitcoin, po każdych 2016 blokach, klient Bitcoin porówna w czasie rzeczywistym dla każdego wygenerowanego bloku z czasem celu. Następnie odpowiednio dostosuje trudność. Celem jest, aby górnicy produkowali bloki tak blisko dokładnie dziesięciu minut, jak to tylko możliwe.

Ochrona przez Secure Hash Algorithms

Odporność algorytmu SHA-256 uniemożliwia górnikom przyspieszenie i oszukanie procesu prób i błędów. SHA-256 należy do rodziny bezpiecznych algorytmów mieszania SHA-2 i został wydany przez NSA w 2001 roku. Gdyby ten algorytm został złamany, tak jak stało się to w przypadku algorytmów kryptograficznych SHA-1, proces PoW zostałby osłabiony.

Istnieje kilka sposobów na złamanie algorytmu wyznaczania wartości skrótu. Rozumiemy przez to możliwość ominięcia metody prób i błędów i znacznie szybszego znajdowania poprawnych wartości liczbowych. Ataki kolizyjne to najnowszy i najskuteczniejszy sposób, aby to zrobić.

Całkowitym celem bezpiecznego algorytmu wyznaczania wartości skrótu jest zapewnienie niepowtarzalności skrótu. Gdy dane są zaszyfrowane, dane wejściowe powinny tworzyć całkowicie unikalny numer skrótu. Jedynym sposobem, w jaki można replikować tę samą liczbę, są dokładnie te same dane wejściowe, w tym wartość jednorazowa. Atak kolizyjny oznacza jednak, że ten sam hash może zostać wygenerowany z różnych danych wejściowych. Złośliwy aktor może to zrobić przy wystarczających zasobach komputerowych. To całkowicie podważa cel bezpiecznego algorytmu mieszania.

Funkcja skrótu

Teraz, gdy wykazano, że atak kolizyjny jest skuteczny przeciwko algorytmom SHA-1, nie można już na nich polegać. Atak był częściowo możliwy dzięki ogromnemu postępowi w dziedzinie komputerów w ciągu ostatniej dekady.

W pewnym momencie, gdy moce obliczeniowe wzrosną wystarczająco, SHA-256 będzie również podatny na takie ataki. Jednak programiści Bitcoin powinni wiedzieć o tym na długo przed tym, zanim to się stanie. Dzieje się tak, ponieważ takie ataki są prawie zawsze możliwe w teorii, zanim faktycznie udowodniono, że działają w prawdziwym życiu. Zespół Bitcoin Core powinien następnie skierować się w stronę nowszego i trudniejszego algorytmu.

Warto również zauważyć, że większość protokołów uwierzytelniania w Internecie korzysta obecnie z algorytmów SHA-2. Gdyby stały się podatne na ataki z dnia na dzień, mielibyśmy poważne globalne problemy wykraczające daleko poza wydobywanie bitcoinów.

Wartość dowodu pracy

Górnicy używają swojego sprzętu do testowania tych wartości liczbowych z szybkością milionów na sekundę. Fakt, że nie ma sposobu na szybkie znalezienie nonce, sprawia, że ​​PoW jest otwartym i sprawiedliwym systemem.

Korzystną cechą tego systemu jest to, że wymaga on ogromnej ilości energii, czasu i kapitału, aby znaleźć odpowiednią wartość i wygrać nagrodę. Jednak jednocześnie innym węzłom jest niezwykle łatwo zweryfikować poprawną wartość. Ta dychotomia zapewnia bezpieczeństwo sieci i zapewnia prosty sposób na osiągnięcie konsensusu.

Ostatecznie wartość jednorazowa to tylko niewielka część procesu wydobywania bitcoinów. Odgrywa jednak kluczową rolę w zachowaniu jej integralności. Nonce jest jedyną rzeczą, którą górnik zmienia, aby znaleźć wystarczającą wartość skrótu. To tak naprawdę pedał przyspieszenia, hamulec i sprzęgło w całej konfiguracji.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map