Cel

Z Bitcoin Wiki
Skocz do: nawigacja, szukaj

Cel (ang. target) to 256 bitowa liczba (bardzo wielka), która jest współdzielona przez wszystkie klienty Bitcoin. Hash wyliczany za pomocą SHA-256 z nagłówka bloku musi być mniejszy lub równy bieżącemu celowi, aby blok mógł zostać zaakceptowany przez sieć. Im cel jest mniejszą liczbą tym trudniej jest wygenerować blok.

Najważniejszą rzeczą jaką należy zrozumieć to to, że generacja bloku to nie długi i złożony problem (jak np. obliczenie miliona hashy), lepszym porównaniem jest loteria. Każdy hash to właściwie całkowicie losowa wartość z przedziału od 0 do maksymalnej wartości 256 bitowej liczby (która jest bardzo wielka). Jeżeli wartość liczby, którą jest hash, jest równa lub mniejsza od celu to wygrałeś. W przeciwnym jednak wypadku musisz zmienić wartość nonce (najczęściej poprzez jego zwiększenie o 1, co całkowicie zmienia wartość hasha) i ponowną próbę.

Z powodów stabilności oraz małych opóźnień w transakcjach sieć próbuje stworzyć nowy blok co każde 10 minut. Generacja 2016 bloków w idealnych warunkach (czyli przy niezmieniającej się liczbie osób generujących bloki oraz stałej liczbie odnalezionych bloków co 10 minut) powinna zająć 2 tygodnie. Jeżeli czas wygenerowania takiej ilości bloków jest różny od 2 tygodni sieć stara się to wyrównać obliczając nowy cel, który może być mniejszy, aby zwiększyć trudność lub większy, aby zmniejszyć trudność. Wszystko zależy od tego w którą stronę został przekroczony czas. Zmiana celu nie może być przekroczyć czterokrotności bieżącej liczby, ma to na celu zabezpieczyć przed zbyt wielkimi zmianami trudności.

Jaki jest bieżący cel?

Za ile bloków nastąpi zmiana celu?

Jakie cele były w przeszłości?

Jaki największy cel jest możliwy?

Jest to największa wartość jaką może przyjąć cel, a zarazem najmniejsza trudność (uznawana za trudność 1.0). Wszystkie cele, które są mniejsze od tego zwiększają trudność

0x00000000ffff0000000000000000000000000000000000000000000000000000