Перейти к публикации
April

Вопрос на миллиард долларов – устранение ошибок в смарт-контрактах

Рекомендованные сообщения

ошибки смарт контрактов

 

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

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

Ошибкам подвержены все криптовалюты. Даже Биткоин - эталон, по которому измеряются все другие цифровые валюты, не является исключением. Примером может служить ошибка переполнения блока в 2010 году, в результате которой в блоке 74638 было создано 180 миллиардов биткоинов. Однако, если эта уязвимость была быстро устранена без каких-либо потерь, то пользователям Эфириума повезло гораздо меньше. Инциденты с проектами DAO, Parity и Bancor, в результате которых были потеряны или заморожены средства на десятки миллионов долларов, отнесли к уязвимости их смарт-контрактов. Общая же сумма цифровых активов, потерянных в результате ошибок кода, эквивалентна 1 миллиарду долларов.

 

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

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

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

 

 

Читать полностью

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

    YoBit.Net
×