Orphan blocks i stale blocks – co dzieje się z „porzuconymi” blokami
W świecie blockchaina istnieje ukryta warstwa „niewidzialnych” zdarzeń, których większość użytkowników nigdy nie zauważa. Jednym z nich są porzucone bloki – czyli takie, które zostały poprawnie wykopane… ale ostatecznie nie trafiły do głównego łańcucha.
To zjawisko obejmuje dwa pojęcia:
- stale blocks (bloki przestarzałe)
- orphan blocks (bloki osierocone – w sensie historycznym / technicznym)
Choć brzmią podobnie, mają różne znaczenia w zależności od kontekstu implementacyjnego. Co najważniejsze:
👉 są naturalnym efektem działania sieci rozproszonej
👉 mają realny wpływ na ekonomię górników
👉 wpływają na bezpieczeństwo i finalność transakcji
To techniczna nisza – ale kluczowa dla zrozumienia, dlaczego blockchain nie jest idealnie liniowy.
Czym są „porzucone” bloki?
Najprostsza definicja
Porzucony blok to:
👉 blok, który był poprawny kryptograficznie, ale nie został częścią głównego łańcucha (canonical chain)
Dlaczego to się dzieje?
Główny powód:
👉 dwa bloki powstają niemal jednocześnie
To bezpośredni efekt:
- propagation delay
- decentralizacji
- braku globalnego zegara
Stale blocks – właściwe znaczenie
Definicja
Stale block to:
👉 blok, który przegrał „wyścig” z innym blokiem na tej samej wysokości

Scenariusz
- Miner A tworzy blok X
- Miner B tworzy blok Y (w tym samym czasie)
- Sieć przez chwilę widzi oba
- Kolejny blok zostaje dołączony do jednego z nich
Efekt:
- jeden łańcuch wygrywa
- drugi blok staje się stale
Kluczowa cecha
👉 blok był poprawny, ale przegrał przez timing
Orphan blocks – różne znaczenia
Historyczna definicja (Bitcoin)
Orphan block to:
👉 blok, którego rodzic (previous block) nie był znany w momencie otrzymania
Czyli:
- node dostaje blok
- nie zna jego poprzednika
- odkłada go „na później”
Współczesne użycie
W praktyce:
👉 wiele osób używa „orphan” jako synonimu stale block
Ale technicznie:
- orphan = brakujący parent
- stale = przegrany fork
Dlaczego blok zostaje odrzucony?
1. Wyścig propagacji (najczęstszy powód)
Najważniejszy czynnik:
👉 kto szybciej rozpropaguje blok
Co decyduje?
- lokalizacja geograficzna
- jakość połączenia
- liczba peerów
- infrastruktura mining poola
2. Propagation delay
Im większe opóźnienie:
👉 większa szansa na powstanie konkurencyjnego bloku
3. Rozmiar bloku
Większe bloki:
- wolniej się przesyłają
- wolniej się weryfikują
👉 większe ryzyko stale
4. Wysoka częstotliwość bloków
Krótki czas bloku:
👉 zwiększa liczbę konfliktów
5. Ataki (np. selfish mining)
Celowe ukrywanie bloków:
- manipulacja propagacją
- zwiększenie liczby stale blocks u innych
Co dzieje się z takim blokiem?
1. Znika z głównego łańcucha
👉 nie jest częścią canonical chain
2. Transakcje wracają do mempoola
To kluczowe:
- transakcje NIE przepadają
- mogą zostać ponownie włączone do kolejnych bloków
3. Nagroda przepada
Najważniejsze dla górnika:
👉 brak rewardu
Wpływ na górników
1. Bezpośrednia strata finansowa
Miner:
- zużył energię
- wykonał proof-of-work
- znalazł poprawny blok
👉 ale nie dostaje nagrody
2. Ryzyko operacyjne
Im większy stale rate:
- tym mniejsza efektywność
- tym większe ryzyko
3. Presja na centralizację
Duże poole:
- mają lepszą infrastrukturę
- szybciej propagują bloki
👉 mają mniej stale blocks
Efekt
👉 mali górnicy są wypychani z rynku
Stale rate – kluczowy parametr
To wskaźnik:
👉 procent bloków, które nie trafiają do głównego łańcucha
Typowe wartości
- Bitcoin: bardzo niski (~<1%)
- szybsze sieci: wyższy
Dlaczego to ważne?
- wpływa na bezpieczeństwo
- wpływa na decentralizację
- wpływa na ekonomię
Wpływ na bezpieczeństwo blockchaina
1. Obniżenie efektywnej mocy sieci
Każdy stale block:
👉 to zmarnowany hash power
Efekt
👉 realna moc zabezpieczająca sieć jest niższa niż nominalna
2. Ułatwienie ataków
Więcej stale blocks =
- więcej forków
- większa niepewność
- łatwiejsze double-spend
3. Selfish mining staje się bardziej opłacalny
Bo:
👉 uczciwi górnicy częściej tracą bloki
Wpływ na użytkownika
1. Cofnięte transakcje (reorg)
Jeśli Twój blok stanie się stale:
👉 Twoja transakcja „znika” z blockchaina
Co dalej?
- wraca do mempoola
- może zostać ponownie zatwierdzona
2. Opóźnienia
- transakcja była „potwierdzona”
- nagle już nie jest
👉 trzeba czekać dłużej
3. Dlaczego potrzebne są potwierdzenia?
Bo:
👉 jeden blok to za mało
Przykład
- 1 potwierdzenie → ryzyko
- 6 potwierdzeń → dużo większa pewność
Reorganizacje łańcucha (reorg)
Stale blocks prowadzą do:
👉 reorganizacji blockchaina
Co to jest reorg?
- zmiana „oficjalnej” historii
- zastąpienie jednego łańcucha innym
Efekt
👉 blok, który był „ważny”, przestaje być ważny
Czy stale blocks to problem czy cecha?
To bardzo ważne pytanie.
To NIE jest bug
👉 to naturalna cecha systemu rozproszonego
Dlaczego?
Bo:
- brak centralnego koordynatora
- brak natychmiastowej komunikacji
- niezależni minerzy
Jak sieci minimalizują stale blocks?
1. Optymalizacja propagacji
- compact blocks
- relay networks
2. Parametry sieci
- dłuższy czas bloku
- mniejsze bloki
3. Lepsze topologie sieci
- więcej peerów
- lepsze połączenia
Różnice między blockchainami
Bitcoin-like
- niska częstotliwość bloków
- niski stale rate
Ethereum-like (PoW era)
- wyższy stale rate
- mechanizmy rekompensaty (uncle blocks)
Nowoczesne sieci
- próbują redukować opóźnienia
- eksperymentują z DAG / parallelism
Ciekawostka: uncle blocks
Niektóre sieci:
👉 częściowo nagradzają stale blocks
Dlaczego?
- zmniejszenie centralizacji
- rekompensata dla minerów
- zwiększenie bezpieczeństwa
Najważniejsze wnioski
- Porzucone bloki są nieuniknione
- Powstają głównie przez propagation delay
- Mają realny koszt ekonomiczny
- Wpływają na bezpieczeństwo sieci
- Powodują reorganizacje i opóźnienia
- Wymuszają model „wielu potwierdzeń”
Podsumowanie
Orphan i stale blocks to dowód na to, że blockchain:
👉 nie jest liniowy
👉 nie jest natychmiastowy
👉 nie jest idealnie zsynchronizowany
Zamiast tego jest:
👉 dynamicznym systemem konkurujących wersji rzeczywistości
Dopiero po czasie jedna z nich staje się „prawdą”.
I właśnie ten proces selekcji – mimo że generuje straty i niedoskonałości – jest fundamentem bezpieczeństwa blockchaina.






