Задание на миллиард: устранение ошибок в смарт-контрактах

Источник: AltStake

Программного обеспечения, работающего без ошибок, просто не существует.

Каждая основная часть кода подвержена обширной отладке, что является неотъемлемой частью процесса разработки.

Но когда этот код управляет цифровыми активами на миллионы долларов, гарантируя, что он свободен от критических ошибок, это не просто желательно — это необходимо.

Как показал взлом децентрализованной криптобиржи Bancor на этой неделе и прочие небольшие проблемы со смарт-контрактами, возникшие в этом году, создание кода без ошибок практически невозможно.

Цена ошибки

Криптовалюты, даже те, которые не используют смарт-контракты, подвержены ошибкам.

Даже биткоин, эталон, по которому измеряются другие монеты, сталкивался с такими проблемами, как ошибка переполнения блока в 2010 году, которая создала 180 миллиардов биткоинов в блоке 74638.

Она была быстро исправлена и никто не получал и не потерял свои монеты.

Пользователям Ethereum не всегда так повезло. Инциденты, такие как DAO, Parity и недавний случай с Bancor, чьи потери составили 12,5 миллионов долларов в результате использования разрешенного бэкдора в коде смарт-контракта площадки, подвели общую стоимость криптовалюты, потерянной из-за ошибок в коде, до 1 миллиарда долларов.

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

Беда в том, что чем сложнее эта логика, тем больше вероятность использования уязвимостей и ошибок.

Solidity, основной язык, используемый для создания смарт-контрактов Ethereum, как известно, сложно освоить.

Это влечет за собой отход от Solidity в пользу более ограничительной системы с меньшей погрешностью.

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

На выставке Blockchain Expo, проходящей в Амстердаме, Джордан Эндрюс, глава лаборатории смарт-контрактов в Stratis, сказал:

«На нашей платформе используется C#, поскольку он обеспечивает доступ к большому числу таких инструментов, как декомпиляторы, редакторы, комплексный набор для тестирования и отладки в Visual Studio. Это означает, что вы можете декомпилировать любой контракт с байт-кода на реальный C#».

Джон, сравнивая подход собственной компании с Solidity, заметил, что последний находится на «деликатной стадии развития, где вы не можете фактически декомпилировать многие контракты хорошо.

Тот факт, что вы можете проверять только около 1% контрактов на Ethereum, является проблемой, потому что в основном декомпиляторы не работают».

В то время как Stratis в значительной степени ориентирована на работу с предприятиями, другие блокчейн-проекты пытаются конкурировать с Ethereum, но еще не достигли того состояния готовности, в котором они могут де-факто предложить лучшее решение.

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

В результате разработчикам должно быть сложнее создавать произвольные программы, что, в свою очередь, означает, что вероятность фатальных изъянов будет меньше, чем в Ethereum.

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

Смарт-контракты Cardano должны быть официально проверены с использованием виртуальной машины под названием IELE, чтобы гарантировать, что они работают без ошибок.

Cмарт-контракты EOS развертываются как предварительно скомпилированные веб-сборки с использованием C / C ++.

С стоит отдельно отметить, что и Cardano, и Tezos, и EOS все еще находятся на ранней стадии своего развития, и лишь немногие разработчики используют протоколы этих сетей.

В сравнении, Ethereum, может похвастаться 35’000 разработчиков на Solidity, и, таким образом, остается лидером в отрасли смарт-контрактов.

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

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

«Я думаю, что экосистема как для Stratis , так и для Solidity получит много улучшений. Одна вещь, которая сейчас часто обсуждается — это формальная проверка — идея, что вы можете проверить, что контракт будет вести себя как задумано. Это, очевидно, очень важно. У Stratis есть потенциал, чтобы это сделать подобный механизм, и я знаю, Ethereum тоже думает об этом».

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

В процессе компьютерный код будет вести контроль транзакций на сотни миллионов, и даже миллиарды долларов в цифровых активах.

Устранение ошибок — важный вопрос, ведь со временем смарт-контракты станут частью любого бизнеса. Прежде чем это произойдет, неизбежны дорогостоящие ошибки и поиск решений и устранения недостатков.



Самые актуальные новости - в Telegram-канале

Читайте также

Добавить комментарий

Вверх