Selfish mining – jak górnicy mogą manipulować siecią bez łamania zasad
Selfish mining to jedna z najbardziej niedocenianych, a jednocześnie najbardziej „eleganckich” strategii ataku w blockchainach opartych na Proof-of-Work. Nie polega na łamaniu kryptografii. Nie wymaga przejęcia sieci. Nie jest też klasycznym atakiem 51%.
👉 To manipulacja zasadami konsensusu w pełni zgodna z protokołem – ale prowadząca do przewagi nad uczciwymi uczestnikami.
To właśnie czyni ją tak niebezpieczną.
Na czym polega selfish mining?
W standardowym modelu:
- górnik znajduje blok
- natychmiast publikuje go w sieci
- wszyscy budują dalej na tym bloku
W selfish mining:
👉 górnik ukrywa znalezione bloki i tworzy prywatny łańcuch
Kluczowa idea
Zamiast grać uczciwie:
👉 górnik gra strategicznie z czasem propagacji i informacją
Dlaczego to działa?
Bo blockchain NIE jest natychmiastowy.
- istnieje propagation delay
- różne węzły widzą różne wersje łańcucha
- konsensus opiera się na „najdłuższym łańcuchu”
👉 to otwiera pole do manipulacji
Strategia krok po kroku
Załóżmy, że mamy „selfish minera” (SM).
Krok 1 – znalezienie bloku
SM znajduje blok:
👉 zamiast go publikować – zatrzymuje go dla siebie
Tworzy prywatny łańcuch długości 1.
Krok 2 – dalsze kopanie
SM kopie dalej na swoim prywatnym bloku.
Jeśli znajdzie kolejny:
👉 jego prywatny łańcuch ma długość 2
Krok 3 – publikacja w odpowiednim momencie
SM ujawnia bloki:
- gdy sieć go „dogania”
- gdy chce zdominować konkurencję
Kluczowy moment
Uczciwy miner znajduje blok i publikuje go.
Sieć:
- widzi łańcuch publiczny długości 1
- SM publikuje swój ukryty blok
👉 powstaje fork
Jeśli SM ma przewagę
Może:
- ujawnić więcej bloków naraz
- „przeskoczyć” publiczny łańcuch
Efekt:
👉 jego łańcuch wygrywa

Co zyskuje selfish miner?
1. Więcej nagród niż uczciwy udział
Normalnie:
- 10% hash power → ~10% nagród
Selfish mining:
👉 może dać więcej niż proporcjonalny udział
2. Marnowanie pracy innych
Uczciwi minerzy:
- kopią na „złej” wersji łańcucha
- ich bloki stają się stale
👉 tracą nagrody
3. Kontrola nad siecią
- wpływ na to, który łańcuch wygra
- możliwość manipulacji timingiem
Dlaczego to nie łamie zasad?
To najciekawsza część.
Selfish miner:
- nie fałszuje podpisów
- nie łamie kryptografii
- nie zmienia protokołu
👉 po prostu opóźnia publikację bloków
A protokół tego nie zabrania
Bo:
- nie ma obowiązku natychmiastowej publikacji
- sieć akceptuje każdy poprawny blok
Kluczowa rola propagation delay
Bez opóźnień:
👉 selfish mining by nie działał
Dlaczego?
Bo:
- blok byłby natychmiast znany wszystkim
- nie dałoby się „ukrywać przewagi”
Z opóźnieniami
SM:
- ma przewagę informacyjną
- może manipulować momentem ujawnienia
Matematyka przewagi
Badania pokazują:
👉 selfish mining staje się opłacalny już przy ~25–33% mocy sieci
To dużo mniej niż 51%
I to jest kluczowe:
👉 nie trzeba kontrolować większości
Wpływ na decentralizację
1. Premia za bycie dużym
Duże poole:
- mają lepszą propagację
- mają więcej hash power
- łatwiej utrzymują przewagę
2. Efekt domina
Jeśli SM wygrywa:
👉 inni górnicy zaczynają go naśladować
3. Centralizacja
- mali minerzy tracą
- dołączają do dużych pooli
- sieć staje się bardziej scentralizowana
Selfish mining a stale blocks
Strategia działa dzięki:
👉 zwiększaniu liczby stale blocks u innych
Mechanizm
- SM powoduje forki
- uczciwi minerzy kopią na „złych” blokach
- ich praca jest marnowana
Wpływ na bezpieczeństwo sieci
1. Obniżenie efektywnej mocy
Część hash power:
👉 idzie na bloki, które nie trafiają do łańcucha
2. Większa liczba forków
- więcej konfliktów
- większa niestabilność
3. Ryzyko double-spend
Selfish miner:
- kontroluje timing bloków
- może manipulować historią
Warianty selfish mining
1. Lead strategy
- budowanie przewagi bloków
- publikacja w krytycznym momencie
2. Fork-after-withholding
- ujawnianie bloków tylko przy konflikcie
3. Combined attacks
- selfish mining + eclipse attack
- selfish mining + network manipulation
Dlaczego sieć nie eliminuje tego automatycznie?
Bo protokół:
👉 nagradza najdłuższy łańcuch
Nie pyta:
- jak powstał
- czy ktoś był „uczciwy”
Próby obrony przed selfish mining
1. Lepsza propagacja bloków
- szybsze sieci
- relay networks
2. Zmiany w protokole
- inne reguły wyboru łańcucha
- uwzględnianie „świeżości” bloków
3. Losowość
- utrudnienie przewidywania
4. Nagrody za stale blocks
- zmniejszenie motywacji
Dlaczego to nadal problem?
Bo:
- trudno wykryć selfish minera
- działa w ramach protokołu
- jest ekonomicznie racjonalny
Selfish mining vs 51% attack
| Cecha | Selfish mining | 51% attack |
|---|---|---|
| Wymagana moc | ~25–33% | >50% |
| Wykrywalność | trudna | łatwa |
| Legalność protokołowa | tak | nie |
| Cel | więcej nagród | kontrola sieci |
Najważniejsze wnioski
- Selfish mining to realna strategia, nie teoria
- Nie wymaga większości mocy sieci
- Wykorzystuje opóźnienia propagacji
- Zwiększa liczbę stale blocks u innych
- Prowadzi do centralizacji
- Osłabia bezpieczeństwo blockchaina
Podsumowanie
Selfish mining pokazuje jedną z najważniejszych prawd o blockchainie:
👉 bezpieczeństwo nie wynika tylko z kryptografii
👉 ale z zachowań ekonomicznych uczestników
To, co miało być systemem uczciwej rywalizacji, może zostać przekształcone w grę strategiczną, w której:
- informacja = przewaga
- czas = broń
- a cierpliwość = zysk
I właśnie dlatego selfish mining jest tak niebezpieczny –
bo nie wygląda jak atak… dopóki nie zacznie zmieniać całej struktury sieci.






