BTC
4041.3
ETH
137.98
BCH
166.67
LTC
60.480
EOS
3.6800
REQ
0.0270
XMR
53.305
XRP
0.3123
https://yobitex.net
hashflare.io
obmencrypto.com
https://yobitex.net/
bestchange.ru

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

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

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

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

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

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

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

Показать комментарии Обсудить на форуме

Подписывайтесь на новости и их анализ в нашем Telegram канале!

Калькулятор Bitcoin
Скорость, GH/s:
Сложность:
Курс BTC/USD:
Курс BTC/RUB:
в день в неделю в месяц
BTC
0.000039
0.000276
0.00118
USD
0.15727
1.1009
4.7182
RUB
10.029
70.205
300.88
Расширенный калькулятор
yobit.net
konvert.im
Курсы криптовалют
Обновить
Статистика сети
Текущая сложность: 6379265451411
Следующая сложность: 6473770433727 (1.48%)
Блоков до пересчета: 1882
Цена шары (PPS): 0.0000000000
Мощность сети (Th/s): 46341053.82
Блоков в сети: 568646
Блоков в час: 6.09
Блоков за последний час: 6
До 6.25 BTC/блок: 419.77 дней
(61354 блоков)
go.dx.exchange
rebit.live
Лучше взять и изобрести завтрашний день, чем переживать о том, что вчерашний был так себе
Стив Джобс