Чего не хватает «умным контрактам» для подъема?

%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b6%d0%b5%d0%bd%d0%be_5-1-2017_%d0%b2_16_25_05

Артур Брейтман и Кэтлин Брейтман — исполнительный директор и заместитель директора Tezos (tezos.com) соответственно. Это новая блокчейн-платформа, которая сейчас находится в разработке. До основания Tezos Артур работал в банках Goldman Sachs и Morgan Stanley, где занимал должность вице-президента. Кэтлин была старшим менеджером по стратегическому планированию в блокчейн-консорциуме R3. В этом обзоре вопросов от CoinDesk за 2016 год Брейтманы описывают свое видение текущих проблем с развитием «умных контрактов», указывая на три основных препятствия для их широкого использования.

«Умные контракты» имеют большие перспективы стать теми приложениями, которые позволят популяризировать блокчейны.

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

Сейчас более 17 млрд долларов сосредоточено в активах 10 основных криптовалют. Поэтому есть хорошая возможность обеспечить этим блокчейн-активам дополнительную гибкость и практичность за счет добавления возможностей «умных контрактов».

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

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

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

Ниже приведены три пункта, реализация которых позволит системам «умных контрактов» заработать наше доверие в 2017 году.

1. Предоставление формальной верификации

Очень сложно написать код, который будет работать точно так, как мы того хотим.

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

«Умные контракты» нужно писать на языке, который легко проверить. Функциональные языки (например, Haskell и OCaml) лучше подходят для написания кода «умных контрактов», чем императивные (например, C/C++, Java и JavaScript), потому что в их структуре проще разобраться и ее легко формально проверить.

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

Помните, что формальная верификация имеет некоторые ограничения. Она не полностью автоматизированная и зависит от навыков людей.

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

2. Гарантия прозрачности для проверки кода

Одним из крупнейших экспериментов с использованием «умных контрактов» была The DAO, виртуализированная инвестиционная структура, которая собрала 150 млн долларов. Она стала жертвой злоумышленника, который вывел из нее 50 млн долларов.

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

Код «умного контракта» должен быть прозрачен и не иметь дыр. Тогда мы будем точно знать, на что подписываемся при заключении соглашения, и так будет проще находить ошибки. Чтобы добиться этого, можно использовать интерпретируемый язык вместо транслируемого. Тогда абсолютный код можно будет проследить в блокчейне и легко проверить.

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

3. Предоставление понятного механизма управления

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

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

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

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

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

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

Источник: coindesk.com



Рубрики:DApps, Новичкам, Теория, смарт-контракты

Метки: , , ,

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s