Selfish Mining polega na wstrzymywaniu poprawnych bloków i wybieraniu chwili ich publikacji. Celem jest większy udział w zaakceptowanych blokach niż udział w mocy obliczeniowej. Nie pozwala to tworzyć bitcoinów wbrew regułom ani nie gwarantuje zysku: liczą się też połączenia, inni górnicy i koszty.
Piotr prowadzi Mining Pool, grupę górników łączących moc i dzielących nagrody. Blok grupuje transakcje w pakiet dołączany do wspólnej historii. Grupa znajduje poprawny blok. Normalnie ogłosiłaby go, aby inni mogli na nim budować. Tym razem zachowuje go dla siebie i szuka następcy. Anna i pozostali wciąż pracują na starym wspólnym bloku. Nie wiedzą, że Piotr zna już inne przedłużenie historii. Tak powstaje prywatna gałąź, a nie nowa waluta. [1] [2]
Kolejny blok może znaleźć Piotr, ale Anna także może go wyprzedzić. Urządzenia górnicze powtarzają obliczenia ze zmienionymi danymi bloku, aż znajdą wynik liczbowy spełniający ustalony limit. Wydobycie nie jest równym wyścigiem, w którym szybsza maszyna zawsze wygrywa: pojedynczy wynik jest losowy. Strategia reaguje więc na obie gałęzie: kontynuuje w ukryciu, publikuje bloki albo porzuca własną gałąź. Hashrate oznacza tempo prób obliczeniowych. Większy udział zwiększa szansę znalezienia bloku, lecz nie gwarantuje kolejnego. [1] [4]
Załóżmy, że Piotr ukrył jeden blok, a Anna opublikowała własny na tym samym poprzedniku. Piotr ujawnia swój i powstaje remis. Różni górnicy mogą najpierw usłyszeć o różnych blokach i rozwijać odmienne gałęzie. Dalsze odkrycia oraz rozchodzenie się wiadomości wpływają na wynik. Rozstrzyga skumulowana praca poprawnej gałęzi, nie liczba jej zwolenników; przy tej samej trudności więcej bloków oznacza więcej pracy. Trudność określa, jak trudno średnio znaleźć taki wynik. Wyższa trudność oznacza przeciętnie więcej prób, a nie z góry ustalony czas znalezienia każdego bloku. [1] [3] [4]
Jeżeli wygra gałąź Piotra, konkurencyjny blok Anny może pozostać poza przyjętą historią jako Stale Block. Był poprawny, ale jego nagrody nie można wydać w zaakceptowanym łańcuchu. Piotr chce, by proporcjonalnie zmarnowało się więcej cudzej pracy niż jego własnej. Transakcje z porzuconego bloku nie muszą zniknąć na zawsze: jeśli nadal są poprawne i zgodne z przyjętą historią, mogą trafić do niej później. [1] [4]
Ittay Eyal i Emin Gün Sirer opisali znaną strategię w pracy z 2013 roku. Porównywali udział górnika w przyjętych blokach z jego udziałem w mocy. To jednak coś innego niż zarobek na godzinę po opłaceniu prądu. Wstrzymywanie bloków może spowolnić publiczny łańcuch, a późniejsza korekta trudności zmienia ekonomię strategii. Cyril Grunspan i Ricardo Pérez-Marco podkreślili później znaczenie czasu i tej korekty. Większy względny udział w nagrodach nie obiecuje natychmiastowego zysku netto. [1] [7]
W pierwotnym modelu α to udział napastnika w mocy. γ oznacza część mocy pozostałych górników, która przy remisie przechodzi na jego gałąź. Dla γ = 0 próg względnej przewagi wynosi 1/3, a dla γ = 1/2 wynosi 1/4. W tym modelu korzyść pojawia się powyżej odpowiedniego progu. Nie są to uniwersalne granice bezpieczeństwa rzeczywistej sieci. Inne strategie, opóźnienia i założenia zmieniają wynik. Liczą się zarówno moc, jak i wybór gałęzi przez innych. [1] [6]
Szybko dostarczony blok ma przy remisie większą szansę przyciągnąć kolejnych górników. Przewaga sieciowa może więc uzupełniać moc obliczeniową. Grupa oferująca stale lepszy dochód mogłaby przyciągać nowych uczestników i zwiększać koncentrację. To opis zachęty, nie dowód, że każda duża pula atakuje lub że inni nieuchronnie dołączą. Parametr modelu nie jest też zmierzoną właściwością konkretnego operatora. [1] [6] [8]
Anna może wyjść na prowadzenie, zanim plan Piotra się powiedzie. Wtedy Piotr nie otrzyma nagrody mimo zużytej energii i pracy maszyn. Próg wyliczony dla średniej długoterminowej nie obiecuje zwycięstwa w każdej rundzie. Kilka udanych rund także nie dowodzi opłacalności po kosztach i zmianach warunków. Ukryty blok jest ryzykowną szansą, a nie nagrodą bezpiecznie schowaną w szufladzie. [1] [7]
Full Node, czyli program samodzielnie sprawdzający reguły Bitcoina, nadal odrzuca niepoprawne transakcje i niedozwoloną emisję. Piotr musi dostarczyć rzeczywisty Proof of Work, wykazać wymaganą pracę obliczeniową i spełnić te same reguły co Anna. Strategia dotyczy tego, która poprawna historia zwycięży. Nie daje cudzych kluczy prywatnych, czyli tajnych wartości liczbowych służących do podpisywania transakcji, ani prawa do wydania cudzych monet. Przewagę w wydobyciu trzeba odróżniać od złamania zasad własności. [2] [5]
Szybsze przesyłanie bloków zmniejsza opóźnienia i część nierówności sieciowych. Compact Blocks wykorzystuje znane już transakcje, aby przesłać blok z mniejszą ilością danych. Nie usuwa to całkowicie Selfish Mining. Badania obejmują też remisy i bodźce ekonomiczne. Porzucony blok sam nie dowodzi ataku: dwie uczciwe grupy mogą znaleźć bloki niemal jednocześnie. Do oceny podejrzeń potrzeba szerszego kontekstu. Pytanie brzmi, czy reguły w danych warunkach nagradzają szybkie dzielenie się informacją, czy opłaca się coś ukrywać. [6] [8] [9]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Block Propagation, Compact Blocks, Nakamoto Consensus, Sybil Attack, Bitcoin, Wydobywanie. Do tego hasła prowadzą również odsyłacze z Byzantine Generals Problem, Sybil Attack, Block Propagation, Block Withholding Attack.