Рубрика: Блокчейн

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

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

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

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

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

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

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

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

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

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

Джорждан Эндрюс уверен, что увеличение применения формальных проверок должно сделать смарт-контракты менее уязвимыми:

«Сейчас очень часто обсуждаются  формальные проверки — их идея состоит в том, что вы можете проверить, что контракт будет вести себя как задумано. Это очень важно».

Поскольку блокчейн постепенно проникает во все большее количество отраслей, роль смарт-контрактов также существенно растет. Со временем компьютерный код будет контролировать цифровые активы на сотни миллиардов долларов. Если же смарт-контракты станут частью экономики, вопрос уменьшения количества ошибок станет жизненно важным. Однако пока опасные ошибки неизбежны, и они существуют. Вопрос в том, кто обнаружит их первым – «белые» или «черные»?

Источник

[ ОБСУДИТЬ НА ФОРУМЕ ]

bits.media

Недавние сообщения

Как это устроено: блокчейн – принцип работы, сферы применения и перспективы

Блокчейн сегодня прочно занял место в цифровой экономике и стал неотъемлемой частью финансового и технологического…

4 недели тому назад

Мемкоины: от шуток в интернете до многомиллиардного рынка

Криптовалюты давно стали частью финансового мира, однако не все активы этого цифрового пространства имеют серьезное…

2 месяца тому назад

Как это устроено: MicroBT Whatsminer M60S+ 200 TH/s

В последние годы майнинг криптовалют становится все более сложной и высококонкурентной деятельностью. Постоянно появляются новые…

3 месяца тому назад

Обучение трейдингу криптовалют: назначение, возможности и советы экспертов

Криптовалюты стали неотъемлемой частью современного финансового рынка, привлекая внимание не только инвесторов, но и новичков,…

3 месяца тому назад

Знакомьтесь, Стейблкоин: стабильность в мире криптовалют

В эпоху цифровой экономики и стремительного развития криптовалют стейблкоины становятся важным элементом финансовой экосистемы. Эти…

4 месяца тому назад

Как это работает: изучение английского языка по аудиокнигам

Тем, кто только начал изучать английский язык, важно понять основы: это грамматика, лексика и произношение.…

4 месяца тому назад