OpenEthereum klient (kedysi známy ako Parity) je populárna implementácia Ethereum nodu, ktorú používa takmer štvrtina siete. Júnová verzia 2.7.2 ktorá bola označená za stabilnú so sebou však priniesla bug, kvôli ktorému uzly bežiace na tomto systéme náhodne zamŕzajú. Podľa hlásení komunity sa tak deje 2-3 krát mesačne.
Bug sa objavuje náhodne a spôsobuje deadlock Ethereum uzla
Nejde teda o chybu, ktorá by zlikvidovala celý systém, no zároveň je to pre prevádzkovateľov týchto uzlov veľmi nepríjemné. Chybu spôsobuje bug, ktorý sa objavuje iba raz za čas. Pri spracovávaní určitých dát vo viacerých vláknach vzniká deadlock, ktorý zastaví celý uzol a ten ani nie je schopný chybu nahlásiť.
Rôzne bugy pri viac vláknovom programovaní vznikajú často a je náročné ich odstrániť. Replikovať takýto bug totiž vôbec nie je jednoduché. V prípade OpenEthereum nodu verzie 2.7.2 sa objaví iba raz za 1-2 týždne.
Viete že: Tretí najväčší DeFi projekt je kompletne centralizovaný – Zakladateľ na tom benefituje
Riešenie momentálne neexistuje
Riešením vývojárov je teda urýchlenie vývoja verzie 3.0, v ktorej už žiadne bugy (dúfajme) nebudú. Dokončená by mala byť v polovici septembra ešte pred Berlin hard-forkom.
We expect our next release to be available the second week of September approximately and we are evaluating options to automate converting 3.0x database to the 2.5 database format without having to resync. https://t.co/6xxJpeMdbp
— OpenEthereum is Deprecated (@OpenEthereumOrg) August 25, 2020
Prevádzkovatelia OpenEthereum uzlov teraz majú dve možnosti. Buď ešte mesiac vydržia alebo downgradujú na verziu 2.5. Vývojári momentálne chystajú tool, ktorý im downgrade uľahčí. Bug zasahuje približne polovicu OpenEthereum uzlov, čo je cca 12% siete.
Môže vás zaujímať: Blíži sa manipulácia? V piatok expirujú Ethereum opcie za $112 miliónov! + Komplexný pohľad na trh s ETH derivátmi
SingleClient vs. MultiClient
Proponenti Bitcoin nezabudli pripomenúť, že Satoshi Nakamoto pred podobnými komplikáciami varoval. Ak existuje mnoho rôznych implementácií nodu, skôr či neskôr sa vyskytnú problémy.
Na druhej strane, problémy sa môžu vyskytnúť aj v prípade, že celá sieť používa rovnakého klienta a to by ju úplne ochromilo. Vývoj klientov rôznymi tímami zabezpečí, že aspoň niektoré implementácie budú skutočne stabilné a celá sieť nebude ohrozená.