Błąd krytyczny w węzłach Ethereum

Krytyczny błąd w klientach Parity-Ethereum i OpenEthereum

Występuje w wersji 2.7 i nowszych i prowadzi do tego, że węzły nie są synchronizowane z ostatnim blokiem w sieci.

Głównym sposobem rozwiązania tego problemu jest ponowna synchronizacja od zera we wcześniejszych wersjach oprogramowania, ale w przypadku niektórych konfiguracji węzłów może to zająć nawet kilka miesięcy. W efekcie obciążenie głównego klienta Getha wzrośnie.

Użycie wielu odmian oprogramowania węzła umożliwia ochronę sieci przed atakami, ponieważ luki w niektórych wersjach prawdopodobnie nie występują w innych. Pomogło to na przykład podczas „ataków w Szanghaju” w 2016 roku, kiedy węzły Geth natychmiast odłączyły się od sieci, a Parity-Ethereum nadal działało.

Klient Geth wspierany przez Ethereum Foundation jest obecnie używany przez 80% węzłów w sieci Ethereum. W lipcu programiści ogłosili przeniesienie hard forka Berlin, ponieważ zbyt duże uzależnienie sieci od jednego klienta jest traktowane jako wektor ataku. W tym czasie zakładano, że mniejsze klienty staną się bardziej rozpowszechnione w sieci, ale od tego czasu sytuacja tylko się pogorszyła.

Według CoinDesk, informacja o niezgodności klienta Parity-Ethereum z aktualnymi specyfikacjami była „dobrze znaną tajemnicą” wśród programistów. Kierownik projektu OpenEthereum, Marcelo Ruiz de Olana, potwierdził, że jego zespół uważa problemy klienta za nie do rozwiązania.

Parity Technologies, oryginalny twórca Parity-Ethereum, zrezygnował z dalszych prac nad nim pod koniec 2019 roku. Następnie został przeniesiony do zdecentralizowanej organizacji OpenEthereum.

OpenEthereum zachęca operatorów węzłów do przełączenia się na klienta w wersji 2.5 w celu przywrócenia ich funkcjonalności. De Olana powiedział, że obecnie nad projektem pracują cztery osoby. Oczekuje, że do połowy września pojawi się użyteczna wersja, ale bez dodatkowego wsparcia problem dywersyfikacji węzłów pozostanie.

https://www.coindesk.com/buggy-code-release-13-ethereum-nodes-offline