network

block header

Nagłówek bloku to 80-bajtowa sekcja metadanych każdego bloku Bitcoin. Zawiera sześć pól: hash poprzedniego bloku, korzeń Merkle wszystkich transakcji, znacznik czasu, cel trudności, wersję i nonce.

Nagłówek bloku to 80-bajtowa struktura danych znajdująca się na szczycie każdego bloku Bitcoin. Zawiera dokładnie sześć pól: numer wersji protokołu, hash nagłówka poprzedniego bloku (który łączy go z łańcuchem), korzeń Merkle (pojedynczy hash potwierdzający każdą transakcję w bloku), znacznik czasu Unix, zakodowany cel trudności (zwany bits) oraz nonce. Te sześć pól jest tym, co górnicy wielokrotnie hashują w procesie wydobycia.

Korzeń Merkle jest szczególnie ważny: jest wyprowadzany przez hashowanie transakcji parami, aż do uzyskania jednego hash korzenia. Oznacza to, że jeśli jakakolwiek transakcja w bloku zostanie zmieniona, korzeń Merkle się zmienia, co zmienia hash nagłówka bloku i unieważnia blok. Cały zestaw transakcji jest zatem potwierdzony w zaledwie 32 bajtach w nagłówku.

Górnicy hashują tylko 80-bajtowy nagłówek, a nie cały blok, który może mieć kilka megabajtów. Jest to wydajne: algorytm hashowania SHA-256 może przetwarzać 80-bajtowy nagłówek niezwykle szybko, umożliwiając nowoczesnym ASIC-om wykonywanie bilionów prób hashowania na sekundę. Gdy górnik dostosowuje nonce i wyczerpuje wszystkie cztery miliardy możliwych wartości bez znalezienia prawidłowego hasha, modyfikuje inne pola, takie jak znacznik czasu lub transakcja coinbase, aby zresetować przestrzeń nonce.

Frequently asked questions