46 / 691STALE

Stale Block

Poprawny blok poza aktywnym łańcuchem

Stale Block to poprawny blok Bitcoina, który przegrywa tymczasowy wyścig między konkurencyjnymi gałęziami i nie pozostaje w aktywnym łańcuchu wybranym według skumulowanego Proof of Work.

Stale Block nie jest blokiem niepoprawnym. W chwili przyjęcia spełniał reguły konsensusu, lecz inna poprawna gałąź uzyskała większy chainwork i stała się aktywna. Jego transakcje mogą zostać potwierdzone gdzie indziej, natomiast nagroda coinbase za ten blok nie należy do aktywnego UTXO set. To zwykła konsekwencja zdecentralizowanego wydobycia i niezerowego czasu propagacji.

Stale Block może przejść weryfikację Proof of Work, struktury, transakcji i skryptów, a mimo to zniknąć z aktywnego łańcucha. Poprawność określa, czy blok może konkurować; wybór łańcucha określa, za którą z poprawnych historii podąża węzeł. [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — chain activation and mempool reconciliation]

W czasie propagacji dwóch górników może niemal jednocześnie znaleźć po jednym bloku mającym ten sam blok nadrzędny. Różne części sieci przez krótki czas widzą różne końce łańcucha, dopóki jedna gałąź nie uzyska dodatkowej skumulowanej pracy. [Bitcoin Developer Guide — Block Chain]

Bitcoin porównuje chainwork wyłącznie między gałęziami, które węzeł uważa za poprawne. Gałąź o większej skumulowanej pracy staje się aktywna, a bloki przegranej gałęzi są z perspektywy węzła stale. [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — chain activation and mempool reconciliation]

W potocznym użyciu Orphan Block często jest synonimem Stale Block, lecz taka terminologia jest nieprecyzyjna. Orphan może oznaczać również blok lub transakcję, dla których brakuje jeszcze bloku nadrzędnego lub wejść; to nie to samo co poprawny blok, który przegrał wyścig między gałęziami. [Bitcoin Developer Guide — Block Chain]

Transakcje ze Stale Block inne niż coinbase nie są automatycznie anulowane. Mogą znajdować się również w zwycięskiej gałęzi lub wrócić do mempoola po reorganizacji, jeśli pozostają poprawne, nie kolidują z nową historią i spełniają warunki przyjęcia do mempoola. [Bitcoin Core v29.0 — chain activation and mempool reconciliation]

Transakcja coinbase ze Stale Block nie należy do aktywnego chainstate, więc ani subsydium tego bloku, ani jego opłaty nie stanowią nagrody możliwej do wydania w zwycięskiej historii. Górnik czerpie zatem korzyści ekonomiczne z szybkiej propagacji i prawidłowego wyboru końca łańcucha. [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — chain activation and mempool reconciliation]

Stale rate określa udział znalezionych poprawnych bloków, które nie pozostają w aktywnym łańcuchu. Wpływają na niego szybkość propagacji, topologia sieci oraz stosunek czasu rozchodzenia się bloków do odstępu między nimi; nie jest to stała protokołu o niezmiennej wartości. [Bitcoin Developer Guide — Block Chain] [BIP 152 — Compact Block Relay]

Compact Block Relay opisany w BIP152 pozwala przesyłać blok oszczędniej, gdy połączone węzły mają już większość transakcji w mempoolu. Szybsze odtworzenie bloku może skrócić czas, w którym część sieci nie zna nowego końca łańcucha, a tym samym ograniczyć przypadkowe wyścigi między gałęziami. Odbiorca musi poprosić o brakujące transakcje; szybsze przesyłanie nie gwarantuje, że konkurencyjne bloki nie powstaną. [BIP 152 — Compact Block Relay]

Krótka reorganizacja jest zmianą chainstate, która może przekształcić wcześniej aktywny blok w Stale Block. Ten sam mechanizm może wykorzystać atak polegający na podwójnym wydaniu, ale sam Stale Block nie dowodzi ataku; trzeba oddzielić przyczynę od wyniku wyboru łańcucha. [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — chain activation and mempool reconciliation]

Operator może porównać hash bloku z aktywnym łańcuchem oraz sprawdzić blok nadrzędny, wysokość, chainwork, liczbę potwierdzeń i los transakcji z tego bloku. Dla jego własnego modelu bezpieczeństwa decydujący jest stan własnego węzła przeprowadzającego walidację. [Bitcoin Core v29.0 — getblock]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Reorg, Potwierdzenie, Blok, Nagłówek bloku, Proof of Work, Górnictwo Bitcoin. Do tego hasła prowadzą również odsyłacze z Reorg, Mining Pool, Hashrate, Selfish mining.

DOC · 001Bitcoin Developer Guide — Block ChainDokumentacja ↗DOC · 002Bitcoin Core v29.0 — chain activation and mempool reconciliationŹródło pierwotne ↗DOC · 003BIP 152 — Compact Block RelaySpecyfikacja ↗DOC · 004Bitcoin Core v29.0 — getblockDokumentacja ↗
Najpierw źródła · To nie jest porada inwestycyjna