Розробники клієнта консенсусу Ethereum Prysm повідомили, що валідатори зазнали втрат у розмірі 382 ETH, що еквівалентно понад $1 млн, після того, як програмна помилка спричинила збої в роботі мережі невдовзі після нещодавнього оновлення Fusaka.
Інцидент, детально описаний у звіті про аналіз під назвою «Fusaka Mainnet Prysm incident», був зумовлений вичерпанням ресурсів, яке вплинуло майже на всі вузли Prysm і призвело до пропуску блоків та атестацій.
Причини збою в роботі Prysm
За даними Offchain Labs, розробника Prysm, проблема виникла 4 грудня, коли раніше імплементована помилка спричинила затримки в обробці запитів валідаторів.
Ці затримки призвели до пропуску блоків та атестацій у всій мережі.
«Вузли-маяки Prysm отримували атестації від вузлів, які, ймовірно, не були синхронізовані з мережею. Ці атестації посилалися на корінь блоку з попередньої епохи», – пояснили представники проєкту.
Збій призвів до пропуску 41 епохи, при цьому було втрачено 248 блоків із 1344 доступних слотів. Це становить 18,5% пропущених слотів і знизило загальну участь у мережі до 75% на час інциденту.
У Offchain Labs зазначили, що помилка, відповідальна за таку поведінку, була імплементована та розгорнута в тестових мережах приблизно за місяць до того, як її було активовано в основній мережі після оновлення Fusaka.
Хоча тимчасові заходи для пом’якшення наслідків дозволили зменшити негайний вплив, команда Prysm повідомила, що відтоді впровадила постійні зміни в логіку валідації атестацій, аби запобігти повторенню подібних ситуацій.
Різноманітність клієнтів Ethereum
Тим часом цей збій поновив дискусії щодо концентрації клієнтів Ethereum та ризиків, пов’язаних із програмними монокультурами.
Представники Offchain Labs заявили, що збій міг би мати значно серйозніші наслідки, якби Prysm контролював більшу частку валідаторів Ethereum. Компанія вказала на диверсифікацію клієнтів у мережі як на ключовий фактор, що запобіг масштабнішому колапсу.
«Клієнт, що контролює понад 1/3 мережі, спричинив би тимчасову втрату фінальності та більшу кількість пропущених блоків. Клієнт із помилкою, що контролює понад 2/3 мережі, міг би фіналізувати недійсний ланцюг», – йдеться в заяві.
Попри наявність пом’якшувальних факторів, інцидент посилив заклики до більшої диверсифікації клієнтів.
Дані Miga Labs демонструють, що Lighthouse залишається домінантним клієнтом консенсусу Ethereum, на частку якого припадає 51,39% валідаторів. Prysm контролює 19,06%, за ним ідуть Teku з 13,71% та Nimbus з 9,25%.
Частка Lighthouse знаходиться приблизно на 15 відсоткових пунктів нижче порогу, який деякі дослідники розглядають як системний ризик.
У результаті розробники та учасники екосистеми знову закликали валідаторів розглянути можливість переходу на альтернативні клієнти, щоб зменшити ймовірність того, що єдина програмна помилка може порушити основні операції блокчейну.