https://news.bitcoin.com/the-billion-dollar-quest-to-eliminate-smart-contract-bugs/
У вас не может быть программного обеспечения без ошибок. Каждая основная часть кода подвержена обширной отладке, что является неотъемлемой частью процесса разработки. Но когда этот код управляет цифровыми активами на миллионы долларов, гарантируя, что он свободен от критических ошибок, это не просто желательно - это является жизненно необходимым для сушествования смарт контрактов и криптоактивов в целом.
Взлом Bancor на этой неделе и различные мелкие неудачи смарт контрактов в этом году показывают, что создание кода без ошибок практически невозможно.
Программные ошибки многим людят стоили очень дорого
Криптовалюты, даже те, которые не разрешают смарт-контракты, подвержены программным ошибкам. Даже биткойн, эталон, по которому измеряются другие монеты, имел свою долю, как ошибка переполнения в 2010 году, которая создала 180 миллиардов биткойнов в блоке 74638. Она была быстро исправлена, и никто не потерял и не получил несанкционированного начисления биткоинов, но ошибка в программном коде была и – это факт. Пользователям Ethereum не всегда так везло. Инциденты, такие как DAO, Parity и, в последнее время, Bancor, чьи потери в размере 12,5 миллионов долларов, “пополнили общий банк потерь” до 1 миллиарда долларов.
Являясь Тьюринг полным блокчейном, виртуальная машина Ethereum может использоваться для создания смарт-контрактов, которые используют чрезвычайно сложную логику. Беда в том, что чем сложнее эта логика, тем больше вероятность появления критической программной ошибки. Solidity, основной язык, используемый для кодирования смарт-контрактов Ethereum, как известно, сложнее освоить. Блоки смарт контрактов, которые с тех пор появились, были направлены на устранение таких ошибок. Это влечет за собой уход от Solidity и часто от Тьюринг полной ситемы в пользу более ограничительной системы с меньшей погрешностью.
Как новые блокчейны подходят к созданию смарт-контрактов
Stellar предоставляет ограниченные умные контракты способные обеспечить
мульти-подписи, пакетную обработку и временные ограничения. Умные контракты Cardano должны быть официально проверены, чтобы гарантировать, что они свободны от ошибок и работают с использованием виртуальной машины под названием IELE. EOS смарт-контракты развертываются как предварительно скомпилированные веб-сборки с использованием C / C ++. Как Cardano так и Tezos, EOS все еще находятся на ранней стадии своего развития, и лишь немногие разработчики строят свой протокол на их основе. Ethereum, в сравнении, может насчитывать 35 000 разработчиков Solidity, и, таким образом, остается превосходным смарт-контрактным блокчейном.
Формальная проверка уменьшит количество ошибок
Джордан Эндрюс уверен, что формальные проверки уменьшат количество ошибок и уязвимостей в смарт контрактах: “Я думаю, что экосистемы Stratis, и Solidity претерпят много улучшений.
Одна вещь, которая находится на “повестке дня” - это формальная проверка. Идея заключается в том, что будет сушествовать возможность проверить то, как себя ведёт смарт контракт. Это, очень большое дело... У Stratis есть потенциал, чтобы это сделать, и я знаю, что они рассматривают это вместе с Ethereum”.
Поскольку технология блокчейн проникает в каждую отрасль, роль смарт-контрактов резко возрастёт. Компьютерный код будет контролировать миллиарды долларов, находящихся в криптоактивах. Устранение ошибок важно, если смарт-контракты станут частью повседневного бизнеса. Прежде чем это произойдет, неизбежны дорогостоящие ошибки. Ошибки смарт-контрактах Ethereum уже существуют и - это всего лишь вопрос времени, когда и кем эти ошибки будут обнаружены.
P.S.
Merit приветствуется