04 / 691BLK·0

Genesis Block

Block 0

Blok na wysokości 0, od którego zaczyna się historia głównej sieci Bitcoina.

Genesis Block jest ustalonym blokiem początkowym mainnetu Bitcoina. Jego nagłówek nosi datę 3 stycznia 2009 roku. Zawiera jedną transakcję tworzącą wyjście 50 BTC, które jest traktowane szczególnie i nie można go wydać.

Genesis nie ma poprzedniego bloku: odpowiednie pole nagłówka jest zerowe. Bitcoin Core tworzy jego dane z parametrów sieci i sprawdza oczekiwany hash. Węzły nie zaczynają więc od dowolnego bloku dostarczonego przez innego uczestnika. Blok na wysokości 1 wskazuje hash genesis; zmiana początku oznaczałaby inną historię. [Bitcoin Core v29.0 — chain parameters]

Czas w nagłówku to 1231006505, czyli 3 stycznia 2009 roku, 18:15:05 UTC. Wartość podał twórca bloku; nie jest to niezależny zapis chwili ukończenia wydobycia. Tekst prasowy pomaga osadzić powstanie w historii, ale sam nie dowodzi dokładnej godziny ani rzeczywistej tożsamości autora. [Bitcoin Core v29.0 — chain parameters] [Bitcoin Developer Reference — Block Chain]

Wejście jedynej transakcji zawiera angielski tekst nagłówka The Times o grożącej drugiej akcji ratowania banków. Wiadomość należy do danych transakcji, nie jest adnotacją eksploratora. Odczytanie jej jako krytyki ratowania banków jest interpretacją wyboru tekstu; protokół nie wywodzi z niej reguł politycznych. [Bitcoin Core v29.0 — chain parameters]

Przy dołączaniu genesis Bitcoin Core pomija dołączanie jego transakcji, więc pierwotne wyjście nie trafia do zbioru UTXO. Nie jest to zwykłe oczekiwanie na dojrzałość nagrody górniczej i kolejne potwierdzenia go nie odblokują. Nawet znajomość właściwego klucza prywatnego nie utworzyłaby brakującego wydawalnego wyjścia. [Bitcoin Core v29.0 — genesis validation exception]

Eksplorator może pokazywać późniejsze wpłaty na adres kojarzony z genesis. Nie są one pierwotnym wyjściem bloku 0: mają własne identyfikatory transakcji i warunki wydania. Szczególne pominięcie genesis nie dotyczy ich automatycznie. Salda adresu nie należy więc utożsamiać z możliwością wydania pierwotnych 50 BTC. [Bitcoin Core v29.0 — genesis validation exception] [Bitcoin Developer Reference — Block Chain]

Na własnym węźle mainnetu getblockhash 0 zwraca identyfikator zaczynający się od 000000000019d668. getblock z tym hashem i poziomem szczegółowości 2 pokazuje blok oraz zdekodowaną transakcję. Dane można porównać z parametrami Bitcoin Core; sam zrzut ekranu eksploratora nie zastępuje ich sprawdzenia. [Bitcoin Core — getblockhash RPC] [Bitcoin Core — getblock RPC]

Sieci testowe i regtest mają własne parametry oraz inne hashe genesis. Przed porównaniem trzeba sprawdzić sieć, nie tylko wysokość 0. Zgodny genesis ustala wspólny początek, lecz sam nie dowodzi poprawności wszystkich dalszych bloków, bezpieczeństwa portfela ani obecnej kontroli nad kluczami. [Bitcoin Core v29.0 — chain parameters]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Nagroda emisyjna za blok, Timechain / Blockchain. Do tego hasła prowadzą również odsyłacze z Bitcoin, Satoshi Nakamoto, Timechain / Blockchain, Nagroda emisyjna za blok.

DOC · 001Bitcoin Core v29.0 — chain parametersŹródło pierwotne ↗DOC · 002Bitcoin Core v29.0 — genesis validation exceptionŹródło pierwotne ↗DOC · 003Bitcoin Core — getblockhash RPCŹródło pierwotne ↗DOC · 004Bitcoin Core — getblock RPCŹródło pierwotne ↗DOC · 005Bitcoin Developer Reference — Block ChainŹródło pierwotne ↗
Najpierw źródła · To nie jest porada inwestycyjna