Jump to content
Sign in to follow this  
April

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

Recommended Posts

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

 

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

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

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

 

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

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

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

 

 

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

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...