BTC
6574.2
ETH
208.43
BCH
449.69
LTC
53.968
CFI
0.0233
EOS
5.4918
REQ
0.0754
XMR
105.78
XRP
0.4691
Yobit
https://icotop.io
hashflare.io
http://arahnidapool.com
YoBit.Net

Три компонента для успешной работы смарт-контрактов

Три компонента для успешной работы смарт-контрактов

Артур Брайтман (Arthur Breitman) - руководитель проекта Tezos, а Кэтлин Брайтман (Kathleen Breitman) - его управляющий директор. Ранее Артур занимал пост вице-президента в Goldman Sachs и Morgan Stanley. Кэтлин занималась стратегиями в банковском консорциуме R3.

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

Смарт-контраты в качестве «киллер-приложения»

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

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

Очевидно также, что эта инновационная технология предлагает устойчивый потенциал традиционным рынкам.

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

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

Возможность формальной верификации

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

Здесь необходим более качественный метод, который будет гарантировать безопасность и надёжность умных контрактов. Один из возможных способов – использование формальной верификации, то есть алгоритма проверки кода для доказательства того, что он действует в соответствии с поставленными задачами.

Смарт-контракты должны имплементироваться на языке, лёгком для верификации. Поэтому для кода смарт-контракта больше подходят функциональные языки наподобие Haskell или OCaml, нежели императивные языки, такие как C/C++, Java и JavaScript, ведь архитектуру функциональных языков легче обосновать и формально верифицировать. Конечно, большинству программистов больше знаком JavaScript, однако в данном случае между простотой использования и безопасностью необходимо сделать выбор в пользу последнего.

С другой стороны, необходимо помнить о том, что формальная верификация имеет определённые ограничения. Она не является полностью автоматической и всё ещё требует человеческого участия.

Кроме того, формальная верификация может доказать только те характеристики, которые мы намеревались проверить; если вы по ошибке проверите не те функции, уязвимости могут остаться открытыми. Тем не менее, при правильной имплементации это будет шаг в правильном направлении.

Обеспечение прозрачности

Одним из крупнейших экспериментов со смарт-контрактами в 2016 году стал проект TheDAO – виртуализированный инвестиционный канал, который привлёк средства на сумму более 150 миллионов долларов, а затем пал жертвой взломщиков, выведших на свои аккаунты 50 миллионов долларов.

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

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

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

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

Чёткий механизм управления

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

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

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

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

Так же, как в случае с интернетом, мы не будем думать о лежащей в основе этого процесса технологии, мы просто будем знать, что это работает – бесперебойно и надёжно. 

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

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

Калькулятор Bitcoin
Скорость, GH/s:
Сложность:
Курс BTC/USD:
Курс BTC/RUB:
в день в неделю в месяц
BTC
0.000035
0.000245
0.00105
USD
0.23020
1.6114
6.9061
RUB
15.151
106.05
454.52
Расширенный калькулятор
YoBit.Net
konvert.im
Курсы криптовалют
Обновить
Статистика сети
Текущая сложность: 7182852313938
Следующая сложность: 7190211098818 (0.1%)
Блоков до пересчета: 1811
Цена шары (PPS): 0.0000000000
Мощность сети (Th/s): 51469535.87
Блоков в сети: 546541
Блоков в час: 6.01
Блоков за последний час: 6
До 6.25 BTC/блок: 578.61 дней
(83459 блоков)
https://icotop.io/
mining-center.org
Лучше взять и изобрести завтрашний день, чем переживать о том, что вчерашний был так себе
Стив Джобс