Tuesday , 13 November 2018

У програмному забезпеченні Parity виявлена ​​критична помилка

Критична помилка консенсусу була виявлена ​​в тестовому середовищі, використовуваному одним з двох основних програмних продуктів, що мають вирішальне значення для роботи другого за величиною блокчейна в світі.

Згідно з повідомленням Parity Technologies в блозі, проблема була викликана тим, що ті, хто використовує програмне забезпечення випадають з синхронізації, тому ті, хто використовує інше програмне забезпечення, не будуть розпізнавати свої транзакції. Хоча вразливість була виявлена ​​в тестовій мережі, проблема полягає в тому, що її можна використовувати і в мережі.

Таким чином, Parity тепер закликає всіх користувачів оновлювати своє програмне забезпечення до нової виправленої версії.

Публічно доступні дані показують, що помилка могла вплинути на приблизно 30 відсотків мережі ethereum – тих, хто використовує програмне забезпечення, випущене Parity, щоб залишатися в синхронізації з більш широкою мережею. Але, за словами представників Parity, проблема була виправлена ​​до того, як вона досягла вузлів, керуючих блокчейном ethereum.

Проте, компанії повинні оновити нове програмне забезпечення, щоб залишатися в безпеці від уразливості в основній мережі.

Оскільки компанії, які працюють на ethereum, починають оновлювати своє програмне забезпечення, щоб уникнути цієї проблеми, було сказано, що помилка все одно може вплинути на будь-які блокчейни, які запускають програмне забезпечення Parity, включаючи користувачів ethereum classic (ETC).

Новина про уразливість виникає в той час, коли Parity знаходиться під пильною увагою з приводу подібних проблем безпеки. Зокрема, в листопаді минулого року помилка в одному з гаманців компанії призвела до того, що сума 513 774,16 ETH, або $ 311 млн. у відповідності з поточними показниками, була заморожена і, в свою чергу, недоступна для її власників.

Три рядки коду

Вей Тан, розробник Parity, який працював над вчорашнім патчем коду, сказав, що помилка пов’язана з частиною коду з EIP 86.

Запланований для поновлення ethereum в минулому році, EIP 86 фокусувався на тому, що називається «абстракція облікового запису», дозволяючи відправляти транзакції без підпису від відправника. Повне оновлення ethereum до EIP 86 було відкладено через його складності, однак Вей пояснив, що Parity все ж впровадив код, можливо, через його роль в майбутньому консенсусному переході ethereum.

За словами Вея, команда, що відповідає за впровадження його в програмне забезпечення Parity, випустила з уваги три рядки коду, які призвели до вчорашньої консенсусної проблеми.

«Ми пропустили умовну перевірку в нашому коді, яка змусила повний вузол Parity прийняти блок, що містить недійсні транзакції», – сказав Вей.

Вчора в тестовій мережі Ropsten було виявлено кілька таких транзакцій, і через несумісність транзакцій з більш широким блокчейном ethereum, це призвело до форку між клієнтами Parity і Geth.

Виступаючи в прес-релізі, голова безпеки Parity Кирило Піменов сказав, що в «гіршому випадку» такі транзакції привели б до пошкоджених блоків мережі ethereum, які «як і раніше вважалися б дійсними іншими порушеними вузлами Parity.”

З огляду на серйозну хеш-потужність, такий експлойт призвів би до розколу блокчейна, продовжував Піменов.

«Реакція на цю ситуацію була активною, тобто ми змогли підготувати виправлення до того, як хтось дійсно зміг використати помилку. В результаті нам вдалося запобігти розколу мережі, – заявив Піменов в прес-релізі.

Leave a Reply

Your email address will not be published. Required fields are marked *