Wpis z mikrobloga

#bitcoin #kryptowaluty

Dzisiaj rano miało miejsce zakłócenie w działaniu sieci BTC wynikające z niekompetencji ludzi zajmujących się zarządzaniem poolami. Developerzy BTC w konsultacjach z poolami otrzymali 95% poparcia na wprowadzenie BIP66 (Jest to poprawka uściślająca format bloku).

Dzisiaj - w dniu automatycznego wprowadzenia poprawki w życie okazało się, że:

- Część pooli i minerów olała aktualizację oprogramowania (całkiem normalne, zawsze jest jakiś slowpoke)

- Niektórzy poole posiadają własne wersje klienta, które dla większego zysku nie dokonują poprawnej weryfikacji bloku na bazie którego dany pool kopie.

Dlaczego? Otóż pobranie i przetworzenie bloku z sieci BTC zajmuje cenne sekundy - w tym czasie kopalnie nie pracują lub pracują na starym bloku co przynosi straty. Aby je zminimalizować pool w pierwszej kolejności pobiera nagłówek bloku, na który kieruje od razu całą moc kopiącą, a cały blok pobiera i przetwarza w tle. Na końcu pool powinien sprawdzić, czy pobrany wcześniej nagłówek pasuje do bloku. Moim zdaniem taka optymalizacja poprawnie wykonana nie powinna stanowić dla sieci żadnego problemu.

Ale te optymalizacje nie były poprawnie wykonane. Z tego co zrozumiałem co najmniej dwa poole (w tym f2pool oraz antpool) kopały ślepo na nagłówkach bez sprawdzenia poprawności bloku. Dla sieci taki pool-lemming to czysty rak - ślepo kopie na łańcuchu który jest najdłuższy, choćby był niewłaściwy.

Kiedy któryś z minerów posiadających starą wersję softu wyemitował blok niezgodny z BIP66, poole-lemmingi ślepo zaczęły kopać na jego bazie kolejne. Suma mocy #!$%@?ącej pooli-lemmingów oraz minerów nieobsługujących BIP66 wyniosła ponad 51% efektywnie okłamując wszystkie klienty SPV co do potwierdzeń. Również stare klienty Core (starsze niż 0.10.0) przyjęły ten łańcuch i zawarte transakcje za poprawne.

Na szczęście w ciągu kilku potwierdzeń część mocy kopiącej przeszła na obsługę bip66 i nowy łańcuch działa poprawnie, klienty SPV takie jak multibit czy bitcoin wallet pokazują transakcje z gałęzi obsługującej bip66. Minerzy którzy nie zaktualizowali softu tracą właśnie grube pieniądze bo ich bloki są osieracane. Co do pooli-lemmingów to one nadal tam są

Co ja o tym sądzę? Raz, że wiele pooli jest prowadzonych przez niekompetentnych głupców. To nie podlega dyskusji. Dwa, że jasnym jest, iż klient Core nie spełnia potrzeb minerów - należy wprowadzić poważne usprawnienia dedykowane kopaczom - absolutnie krytycznym jest aby community minerów używało oprogramowania które jest dobrze napisane i dba o bezpieczeństwo i stabilność sieci.
  • 5
@McGravier: widzę, że chyba niepotrzebnie pytałem. Ludzie najwidoczniej lubią zamartwiać się bez powodu, może to daje im kopa? Nie wiem. W każdym razie tylko nadmieniam, żeby jeszcze raz podkreślić. Tu chodzi o zwykłą logikę, która aż krzyczy, że nie ma takiej możliwości jak podział sieci a hardforki powinny być częstsze i poważniejsze niż wszystkie do tej pory.
Nie ma takiej siły żeby sieć podzieliła się bądź wybrała niepożądany fork.
A to