Квест на миллиард долларов

11:35 13.07.2018
/
85
/
Автор статьи: Алекс Зорин
/

Kvest na milliard dollarov dlya ustranenia oshibok v smart kontraktakh - Квест на миллиард долларов

Квест на миллиард долларов для устранения ошибок в смарт-контрактах.

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

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

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

Ошибки стоили многим людям больших денег в криптовалюте

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

Пользователям эфира не всегда так везло. 

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

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

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

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

Как новые блокчейны приближаются к смарт-контрактам

На Blockchain Expo в Амстердаме, журналисты поговорили с Джорданом Эндрюсом, Smart Contracts Lead из Стратиса. В их платформе используется C#, который был одобрен, поскольку он обеспечивает доступ к «большому числу таких инструментов, как декомпиляторы, большие редакторы, комплексный набор для тестирования и отладки в Visual Studio. 

Это означает, что вы можете декомпилировать любой контракт с байт-кода на реальный C#, — объяснил Джордан. 

Он сравнивает это с Solidity, который находится на «деликатной стадии развития, где вы фактически не можете должным образом декомпилировать многие контракты. Тот факт, что вы можете провести аудит только около 1% контрактов в эфире, является проблемой, потому что в основном декомпиляторы не работают».

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

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

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

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

EOS смарт-контракты развертываются как предварительно скомпилированные веб-сборки с использованием C / C ++. Как и Cardano и Tezos, EOS все еще находится на ранней стадии своего развития, и лишь немногие разработчики строят на них свой протокол. 

Эфир, для сравнения, насчитывает около 35 000 разработчиков Solidity, и, таким образом, остается доминирующим блокчейн смарт-контрактом.

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

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

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

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

 

Наверх