Ethereum

12% van Ethereum-clients onbruikbaar na overhaaste upgrade

De OpenEthereum-client heeft onlangs een update gekregen. In deze update zijn de knooppunten die op de nieuwe versie draaien feitelijk nutteloos gemaakt, waardoor de client voor de betreffende gebruikers onbruikbaar is geworden.


Update 2.7

Allereerst leek update 2.7 goed te werken en werd deze goed ontvangen door de community. In medio juni kregen een aantal gebruikers echter steeds vaker problemen met hun client, omdat deze iedere keer opnieuw vastliep. Om dit op te lossen, moesten het knooppunt dat vastliep en het probleem veroorzaakte handmatig worden herstart.

Waar het probleem bij sommige gebruikers nooit voorkomt, gebeurt het bij andere gebruikers tot wel 3 keer per maand. Bij andere gebruikers zou de client zelfs nutteloos zijn geworden en in zijn geheel niet meer werken.

Inmiddels lijkt het erop dat het probleem achter de bug gevonden is. De update brengt namelijk een bug met zich mee in de thread-concurrency. Dit onderdeel wordt gebruikt om taken parallel te verwerken, maar wat in dit geval zorgt voor een impasse van de software. De software komt op deze manier in een staat waarin 2 threads voor altijd op hun beurt wachten, waardoor deze nooit verwerkt wordt. Het uiteindelijke gevolg is het vastlopen van de client. Gebruikers die de huidige nieuwste versie hebben (2.7.2), worden aangeraden om de versie van hun client te downgraden. Let wel op; hierdoor zal de blockchain opnieuw moeten worden gesynchroniseerd, wat potentieel enorm lang kan duren, in sommige gevallen tot wel enkele maanden. Momenteel wordt gezocht naar een manier om deze herstart niet te hoeven forceren.


Update 3.0 en te overhaaste upgrade

Om alle bugs op te lossen, komt OpenEthereum met update 3.0, en schrapt het update 2.7. De nieuwe update, 3.0, zal gebaseerd zijn op update 2.5. Deze bleek namelijk enorm stabiel te zijn, waardoor die update als basis kan worden gepakt om op voort te bouwen.

De bug heeft circa 50% van de Parity-knooppunten geraakt onder de merknaam ‘OpenEthereum’. Dit komt op zijn beurt neer op 12% van het volledige netwerk.

Vanuit de community zijn er een aantal kanten gekozen. Zo werd enige kritiek geleverd op het team voor het uitbrengen van een upgrade zonder deze uitvoerig te testen. De upgrade zou te overhaast zijn geweest, wat er nu voor zorgt dat een aanzienlijk deel van de clients tijdelijk onbruikbaar zijn gemaakt.

Ook de multi-client benadering heeft enige kritiek ontvangen. Zo zouden meerdere implementaties van hetzelfde blockchain-knooppunt geheid voor problemen gaan zorgen. Deze bug lijkt dat dan ook bevestigd te hebben. Alhoewel het team nu hard werkt aan een oplossing voor de bug, is nog niet bekend wanneer update 3.0 officieel zal worden gelanceerd.