Питання на мільярд доларів – усунення помилок в смарт-контрактах

Новини криптовалюта

Програмного забезпечення без помилок не існує. Будь великий фрагмент коду піддається налагодження, і це неминуча частина процесу розробок. Однак якщо цей код контролює цифрові активи, вартість яких обчислюється мільйонами доларів, гарантія відсутності помилок стає не просто бажаною, а життєво важливою. Як показав недавній злом біржі Bancor і ціла низка більш дрібних неприємностей зі смарт-контрактами, на даний момент створення вільного від помилок коду доступно тільки самим професійним командам.

Помилки коштували багатьох значних сум у криптовалюте

Помилок схильні всі кріптовалюти. Навіть Биткоин – еталон, за яким вимірюються всі інші цифрові валюти, не є винятком. Прикладом може служити помилка переповнення блоку в 2010 році, в результаті якої в блоці 74638 було створено 180 мільярдів биткоинов. Однак, якщо ця вразливість була швидко усунена без будь-яких втрат, то користувачам Эфириума пощастило набагато менше. Інциденти з проектами DAO, Parity і Bancor, в результаті яких були втрачені або заморожені кошти на десятки мільйонів доларів, віднесли до уразливості їх смарт-контрактів. Загальна ж сума цифрових активів, втрачених в результаті помилок коду, еквівалентна 1 мільярду доларів.

Читайте также:
Торговець наркотиками з Silk Road визнав себе винним у відмиванні $19 млн через BTC

Віртуальна машина Эфириума дозволяє використовувати смарт-контракти, які застосовують дуже складну логіку. Проте, чим складніше ця логіка, тим вище ймовірність появи помилки, тим більше що інфраструктура системи ще не усталилася. Solidity, основний мова, яка використовується для програмування смарт-контрактів Эфириума, освоїти нескладно, а володіють нею фахівці цінуються високо, що привертає некваліфікованих розробників. Блокчейны з підтримкою смарт-контрактів намагаються зменшити ці помилки, ідучи від Solidity до більш поширених мов програмування.

Як нові блокчейны підходять до смарт-контрактами

Головний розробник смарт-контрактів проекту ” Stratis Джордан Ендрюс розповів, що їхня платформа використовує мову C#, оскільки він надає доступ до таких інструментів, як декомпиляторы, редактори, набори для тестування і налагодження в Visual Studio. Тобто «будь-який контракт можна декомпілювати з байт-коду до реального C#». Він протиставляє це Solidity, що знаходиться на «делікатному етапі розробки, коли декомплировать велику кількість контрактів належним чином неможливо. Той факт, що перевірити можна тільки близько 1% контрактів в Эфириуме, представляє проблему, так як, по суті, декомпиляторы не працюють».

Читайте также:
Віталік Бутерин: «Я шкодую, що використав термін «смарт-контракти»

Якщо проект ” Stratis головним чином орієнтований на підприємства, то інші блокчейны націлюються на Эфириум, намагаючись з ним конкурувати. Проте вони ще не досягли того стану готовності, в якому вони зможуть запропонувати найкраще рішення. Tezos буде використовувати для своїх смарт-контрактів формальну перевірку у вигляді спрощеного програмного мови Michelson, що володіє підвищеною безпекою. Як результат, на ньому буде складніше створювати довільні програми, що, в свою чергу, означає зниження ймовірності фатальних помилок.

Для вирішення таких питань, як мультиподписи, пакети транзакцій і тимчасові прив’язки, проект Stellar використовує обмежені можливості смарт-контрактів. Смарт-контракти Cardano повинні пройти офіційну перевірку, гарантує відсутність помилок і використання віртуальної машини IELE. Смарт-контракти EOS використовуються в якості попередньо компилированной мережевий складання, застосовує C/C++. Так само як Cardano і Tezos, EOS поки перебуває на ранній стадії розвитку, і його протоколом займається невелика кількість розробників. Для порівняння, число розробників на платформі Эфириума досягає 35 000, таким чином, на даний момент він залишається головним блокчейном для смарт-контрактів в індустрії.

Читайте также:
Запуск блокчейна TON може бути перенесено на рік

Формальні перевірки скоротять помилки

Джорждан Ендрюс впевнений, що збільшення застосування формальних перевірок повинно зробити смарт-контракти менш вразливими:

«Зараз дуже часто обговорюються формальні перевірки — їх ідея полягає в тому, що ви можете перевірити, що контракт буде вести себе як задумано. Це дуже важливо».

Оскільки блокчейн поступово проникає у все більшу кількість галузей, роль смарт-контрактів також істотно зростає. З часом комп’ютерний код буде контролювати цифрові активи на сотні мільярдів доларів. Якщо ж смарт-контракти стануть частиною економіки, питання зменшення кількості помилок стане життєво важливою. Однак поки небезпечні помилки неминучі, і вони існують. Питання в тому, хто знайде їх першим – «білі» або «чорні»?

Источник

Оцініть статтю
Популярний портал | Proexpress.com.ua | все найцікавіше в Україні

Thanks!

Our editors are notified.