Co to jest Empty Block Attack? Czy może „zabić” Bitcoina? Czy mógłby pomóc Chińczykom w przejęciu sieci? Dlaczego jest dla niej dobry?
Jimmy Song powraca na Medium z nowym, ciekawym artykułem. Jakkolwiek znany i ceniony badacz Bitcoina deklaruje, że jest lekko skonsternowany FUD-em wokół Bitcoina i koniecznością tłumaczenia wielu rzeczy na nowo, stało się to jego zdaniem konieczne w obliczu sytuacji, gdy do ekosystemu wciąż napływa „świeża krew”.
Temat nie jest nowy, ale…
Już na wstępie swojego artykułu Song zaznacza, że temat Empty Block Attack nie jest nowy. Autor odsyła w tym względzie do opracowania, które popełnił około 3 lata temu. Tekst odnosi się do możliwych scenariuszy centralizacji mocy wydobywczej sieci Bitcoina wraz z hipotetycznymi implikacjami, które powyższe mogłoby wyprowadzić. Lekturę tego tekstu polecam na deser, a tymczasem – wróćmy do sedna.
Co to jest Empty Block Attack (EBA) i czy może „zabić” Bitcoina?
Jimmy Song pisze:
„EBA to taki atak, w którym większość mocy wydobywczej byłaby skierowana na wydobywanie tylko pustych bloków i odrzucanie niepustych bloków. Ci górnicy zasadniczo wykonaliby soft-fork, w którym wszystkie niepuste bloki zostałyby odrzucone. Biorąc pod uwagę, że mają większość mocy mieszania w sieci myśl zmierza w tym kierunku, że końcu otrzymają dłuższy łańcuch, nawet gdyby inni górnicy wydobyli niepuste bloki. Gdyby wydobywać tylko puste bloki, cała aktywność w sieci ustałaby, a więc, można by sądzić, Bitcoin zostałby uśmiercony
Kto mógłby pokusić się o przeprowadzenie takiego ataku? Zwyczajowym złoczyńcą w tym scenariuszu są Chiny, które najwyraźniej mają większość władzy w swoich granicach. Uważa się, że mogłyby być w stanie przejąć kontrolę nad hash power w taki czy inny sposób i przeprowadzić atak na sieć.”
Jimmy Song zaznaczył, że jednym z największych problemów, który wiąże się z potencjałem przeprowadzenia tego typu ataku jest to, że bitcoinowi krytycy nie wierzą, że spotkałby się on z jakimkolwiek poziomem oporu.
„Jest to mniej więcej tak naiwne, jak myślenie, że uderzenie nuklearne w zaludnione miasto nie wywołałoby jakiejś reakcji.” – skomentował autor.
Dwa kluczowe scenariusze Empty Block Attack na sieć Bitcoin
Istnieją dwa podstawowe scenariusze, w jakich EBA mógłby zostać przeprowadzony: pośredni i bezpośredni.
Sposób bezpośredni opiera się o konieczność pozyskania sprzętu górniczego i mocy wydobywczej pokrywającej 51% sieci. Jeżeli chodzi o sposób pośredni, rozmawiamy o konieczności nakłonienia jakiś pul wydobywczych do tego, aby wydobywały jedynie puste bloki. Właśnie ten drugi scenariusz zwrócił większą uwagę Songa przez wzgląd na większe prawdopodobieństwo wystąpienia.
Sposób pośredni
„Większość mocy wydobywczej jest organizowana w pule, a każdy operator takiej puli konkuruje z innymi operatorami o interesy właścicieli maszyn górniczych. Gdyby Chiny w jakiś sposób były w stanie przejąć kontrolę nad pulami wydobywczymi i przeprowadzić ten atak, większość właścicieli sprzętu górniczego po prostu by odeszła. Dlaczego? Ponieważ puste bloki eksploracji puli będą generować mniejszy przychód niż zwykłe bloki wydobywania puli. Obecnie nagroda za wydobycie bloku wynosi 6,25 BTC, a opłaty wynoszą około 0,75 BTC. Korzystanie z puli poza Chinami (takiej jak Slushpool) dałoby im 11% większe przychody.
W związku z tym pule musiałyby dotować właścicieli sprzętu górniczego o co najmniej 11%. Ale jeśli otrzymują dotacje, właściciele sprzętu będą wiedzieć, że biorą udział w ataku pustym blokiem, w którym to przypadku ich lojalność będzie miała znaczną premię. Pula musiałaby dać im znacznie więcej niż 11% przychodów, które tracą.”
Co ważne, w takim scenariuszu jak ten opisany powyżej warto by było nadmienić, że pule wydobywcze musiałyby przyznać minerom dodatkowe premie, które pokryłyby nie tylko koszt operowania na przestrzeni pustych bloków, ale również wymiar wartości, który górnicy przypsują całemu systemowi. Jednym słowem (no dobrze – trzema), Jak pisze Song:
„Nie byłoby tanio”
Bezpośrednie przejęcie sprzętu górniczego
Drugim scenariuszem dla Empty Block Attack jest ten, w którym dochodzi do bezpośredniego przejęcia mocy wydobywczej w sieci. Song zauważa, że i w tym zakresie istnieją dwa sposoby. Rząd mógłby próbować rzeczywiście 'przejąć” moc wydobycia albo też wyprodukować ją samodzielnie.
Problem z „zabraniem” komuś sprzętu górniczego nie wiąże się z tym, że jest o zainstalowany na stałe. Powszechna praktyką jest – jak pisze Song – że duże partie sprzętu są transportowane z miejsca na miejsce w pogoni za dostępem do tańszej energii elektrycznej. Żeby skorzystać na tym fakcie, chiński rząd musiałby wprowadzić jakiś program znakowania sprzętu, aby móc śledzić jego ruchy.
Inną sprawą jest to, że trudno byłoby przejąć duże partie bardzo cennego sprzętu bez wzbudzania choć cienia podejrzeń.
„Jak zobaczymy, sprzęt, który wydobywa zwykłe bloki w mniejszości, otrzyma znaczną kwotę opłat. Dlatego w takiej wojnie każdy właściciel sprzętu górniczego będzie chciał sprzedać swój sprzęt za granicę i jak najszybciej go przemycić.”
Powyższe implikuje, że operacja przejęcia mocy wydobywczej nie mogłaby być przeprowadzana fragmentarycznie. Trzeba by było przejąć wszystkie farmy miningowe od razu i to „ze znaczną siłą.” Tak duże przedsięwzięcie mogłoby spowodować swoisty exodus górników zwłaszcza w chwili, gdy rząd ogłosiłby nowe regulacje dotyczące konieczności rejestracji bitcoinowych koparek.
Jeżeli chodzi o samodzielną produkcję sprzętu:
„Sama ich produkcja byłaby podobnie trudna, ponieważ musieliby konkurować w całym łańcuchu dostaw części potrzebnych do produkcji takiego sprzętu. Zwiększyliby zyski z tych części, czyniąc je bardziej dochodowymi i tworząc większą podaż, ostatecznie tworząc więcej producentów sprzętu górniczego, którzy będą z nimi konkurować. Innymi słowy, musieliby prześcignąć wolnorynkowy proces produkcji sprzętu, a to wymagałoby nie tylko dużych pieniędzy, ale także wielu kompetencji technicznych i biznesowych, których rządy zazwyczaj nie mają.”
Co stałoby się w chwili, gdy państwo posiadło większość mocy wydobywczej?
51% hash rate w rękach rządu? Jimmy Song podejmuje się i tego wątku i wyjaśnia, jakiego rodzaju implikacje mogłoby to za sobą nieść.
„Rozpoczęliby Empty Block Attack, aby zatrzymać całą sieć. Co zrobiłaby reszta sieci? Prawdopodobnie zdenerwowaliby się, że wydobywane są tylko puste bloki i zobaczyliby, że normalne bloki zostałyby zniszczone. Reszta sieci słusznie postrzegałaby puste bloki jako atak na sieć, identyfikowała ją jako taką i nie akceptowała takich bloków.
Jest to bardzo łatwe w każdej implementacji pełnego węzła. Istnieje polecenie RPC o nazwie „invalidateblock”, które zasadniczo mówi „nie akceptuj tego bloku ani żadnego bloku, który się na nim buduje”.
Cała gałąź, nad którą atakujący z państwa narodowego tak ciężko pracował, może zostać unieważniona przez dowolny węzeł za pomocą tego pojedynczego polecenia. Musiałby to zrobić każdy węzeł, ale biorąc pod uwagę, że dosłownie nie ma żadnych transakcji przetwarzanych w pustym łańcuchu bloków, operatorzy węzłów byliby zachęcani do jego uruchomienia.
Dla mniejszości mocy obliczeniowej, której bloki są zastępowane przez puste bloki, najwyraźniej chcieliby uruchomić „unieważniony blok”, ponieważ w przeciwnym razie nie zarobiliby pieniędzy. Z perspektywy teorii gier, duża część sieci jest ekonomicznie zmotywowana do zawarcia nowego konsensusu mniejszościowego. Innymi słowy, zdecentralizowany podzbiór utworzy się przeciwko wyraźnie scentralizowanej większości z powodu zachęt ekonomicznych.”
„Pusty” i „normalny”…
W wyniku takiego scenariusza stałoby się jasne, że sieć Bitcoina uległa forkowi. Mielibyśmy jeden „pusty” i jeden „normalny” blockchain. W ramach tego „normalnego”, wykonywane byłyby regularne transakcje, aczkolwiek działby on znacznie wolniej.
W pustym z kolei nie byłyby oczywiście procesowane żadne transakcje, aczkolwiek hash rate byłby bardzo wysoki. Taka sieć działałby zatem o wiele szybciej.
„Byłyby oddzielnymi łańcuchami, a każdy ekonomicznie ważny węzeł podążałby za normalnym łańcuchem bloków, ponieważ jest jedynym, który faktycznie przetwarza transakcje.” – skomentował Jimmy Song.
Kolejną, naturalną implikacją takiego stanu rzeczy byłaby sytuacja, kiedy przez wzgląd na zmniejszony hash rate w pustej sieci wzrosłyby opłaty. To z kolei sprawiłoby, że działalność operacyjna na tym – mniejszościowym skądinąd łańcuchu – stałaby się bardziej opłacalna:
„Może to obejmować wytwarzanie nowego sprzętu, wprowadzanie starego sprzętu do sieci, a nawet dezercję (kradzież lub przemycenie) ze strony większości.
W międzyczasie strona większościowa musiałaby zachować większość dzięki produkcji nowego sprzętu, używaniu starego sprzętu i dezercjom po stronie mniejszości, aby kontynuować atak. Jeśli w którymkolwiek momencie normalny łańcuch bloków ma więcej dowodów pracy niż pusty, pusty łańcuch blokowy zostałby wymazany, a atak zasadniczo udaremniony.
Ale nawet jeśli normalny łańcuch bloków ma mniejszą moc mieszania, będzie sobie radośnie sapał, podczas gdy pusty łańcuch bloków będzie bezużytecznie dodawać bloki. Nikt nie będzie w stanie kupować ani sprzedawać na pustym łańcuchu, ponieważ nie ma możliwości wysyłania ani odbierania z żadnej giełdy. Taki łańcuch nie wpłynie na to, co wszyscy uznają za prawdziwy Bitcoin, a niewielu poświęci mu dużo uwagi.”
Empty Block Attack potencjalnie dobry dla Bitcoin?
Song konkluduje, że przeprowadzenie takiego ataku to gra niezwykle kosztowana i bynajmniej nie gwarantująca sukcesu. Ryzyko powstania zdecentralizowanej mniejszości jest w takim przypadku bardzo wysokie. Autor zaznacza, że spektakularna porażka na na tak wrażliwym i istotnym gruncie byłaby równoznaczna z ogromnym podkopaniem reputacji, a na to rządy nie mogą i nie będą chciały sobie pozwolić.
„To powiedziawszy, osobiście z zadowoleniem przyjąłbym taki atak, ponieważ myślę, że byłby świetny dla Bitcoina. Nie tylko sprawdzilibyśmy się przeciwko wrogowi z państwa narodowego, ale autorytarny rząd, który by to zrobił, prawdopodobnie w znacznym stopniu zalegitymizowałby Bitcoin wobec swoich wrogów, a po ostatecznej wygranej – również dla siebie.”
***
Z oryginalnym brzmieniem artykułu Jimmy’ego Songa możecie zapoznac się tutaj