smart_contrakt_00 Всё о смарт-контрактах

Cодержание статьи:

  1. Что такое смарт-контракты
  2. Особенности смарт-контракта
  3. Возникновение смарт-контрактов
  4. Преимущества и недостатки смарт-контрактов
  5. Как работают смарт-контракты
  6. Принцип работы блокчейна и смарт-контрактов
  7. Пример кода смарт-контракта
  8. Где заключается смарт-контракт
  9. Как использовать смарт-контракт

Что такое смарт-контракты

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

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

smart_contrakt_02 Всё о смарт-контрактах

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

Особенности смарт-контракта

  1. Смарт-контракт представляет собой исходный код, программу, которая пишется и хранится в блокчейне.
  2. Все данные касающиеся исполнения смарт-контракта также хранятся в блокчейне и они прозрачны. Любой человек может проверить эти данные.
  3. Сведения, находящиеся в блокчейне невозможно изменить. Смарт-контракт нельзя фальсифицировать, также как нельзя внести данные задним числом.
  4. Смарт-контрактом могут быть предусмотрены меры обеспечения его исполнения.
  5. В случае неисполнения условий смарт-контракта автоматически могут быть предусмотрены меры наказания. Например, смарт-контрактом можно предусмотреть выплату пени в случае задержки платежа и пени с виновной стороны будут взиматься автоматически.
  6. Условия смарт-контракта нельзя изменить, только если самим смарт-контрактом заранее не будет предусмотрена возможность изменения его условий.
  7. Условия смарт-контракта нельзя трактовать двояко, как это часто бывает в обыкновенных контрактах. Смарт-контракт — это программа и она предполагает однозначное трактование всех его  положений.
  8. Смарт-контракты могут использоваться в различных сферах деятельности человека. Все зависит от самой программы и от цели, с которой она написана.
  9. Исполнение условий смарт-контракта контролирует сама программа.
  10. Смарт-контракт исключает участие третьих сторон и посредников при выполнении условий контракта. Все автоматизировано. Человеческий фактор сведен к минимуму и ограничивается только самим написанием исходного кода для смарт-контракта.

Возникновение смарт-контрактов

Идея возникновения смарт-контрактов появилась в 1994 году, тогда же были описаны основные принципы их реализации. Однако смарт-контракты в то время невозможно было воплотить в жизнь из-за отсутствия соответствующих технологий. Первая возможность реализации смарт-контрактов появилась в 2009 году с возникновением блокчейна Bitcoin.

smart_contrakt_03 Всё о смарт-контрактах

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

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

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

Смарт-контракты давали возможность создавать любые токены. Благодаря смарт-контрактам можно было заморозить реализацию токенов, например до окончания ICO или предусмотреть, что если ICO не соберет Soft Cap, то деньги обратно будут отправлены инвесторам на их кошельки. Также смарт-контрактами часто предусматривается, что токены команды замораживаются на определенное время до реализации идей проекта.

Проведение ICO — это очень узкая сфера применения смарт-контрактов. Смарт-контракты могут использоваться в различных индустриях и для осуществления разнообразных функций. Они могут применяться в финансовом, банковском секторе, при осуществлении продаж или для доставки товара. Например, смарт-контрактом можно предусмотреть, что деньги у продавца будут доступны (разморожены) в том случае, когда он доставит товар покупателю и тот его примет. Благодаря смарт-контрактам можно отследить доставку товара.

smart_contrakt_01 Всё о смарт-контрактах

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

Преимущества и недостатки смарт-контрактов

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

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

Таким образом, прозрачность и общедоступность смарт-контрактов может быть как их преимуществом, так и недостатком.

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

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

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

smart_contrakt_04 Всё о смарт-контрактах

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

К техническим недостаткам смарт-контрактов следует отнести проблемы пропускной способности блокчейна Ethereum. Блокчейн Ethereum не в состоянии выдержать даже то количество смарт-контрактов, которое сейчас на нем расположено. Постоянно в сети возникают перебои. А если контракт сложный, состоящий из множества элементов и контрольных точек. Исполнение каждого пункта контракта должен подтвердить майнер. На это требуется время и деньги. Ведь майнер бесплатно работать не будет.

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

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

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

Как работают смарт-контракты

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

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

smart_contrakt_05 Всё о смарт-контрактах

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

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

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

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

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

Принцип работы блокчейна и смарт-контрактов

Большинство смарт-контрактов создается в блокчейне Ethereum. Этот блокчейн специально создавался для хранения смарт-контрактов, а также их движения. Любое действие, касающееся исполнения смарт-контракта, должно быть подтверждено майнером. Таким образом, майнер фиксирует сам факт исполнения положения смарт-контракта или его перемещение (передачу другому лицу). За совершение своих действий майнер получает комиссию.

Блокчейн Ethereum имеет ограниченную пропускную способность и он не способен одновременно обслуживать большое количество смарт-контрактов. Примеры проблем с пропускной способностью наиболее ярко видны во время проведения крупных ICO и распределения токенов. Часто на выплату и распределение токенов инвесторам уходит по несколько дней.

smart_contrakt_06-1024x512 Всё о смарт-контрактах

Большее наглядно о существующих проблемах с блокчейн Ethereum показала игра “Крипто-котики”, во время которой практически на неделю блокчейн Ethereum встал и дальнейшее движение токенов по нему и перемещение ETH стало фактически невозможным.

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

Пример кода смарт-контракта


smart_contrakt_cod Всё о смарт-контрактах

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

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

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

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

Сейчас помимо ICO, смарт-контракты стали применяться для хайпов на смарт-контрактах, для игр, для индустрии развлечений, казино, лотерей, ставок.

Где заключается смарт-контракт

В отличии от традиционных контрактов, для заключения которых необходимо две или более сторон, смарт-контракты создаются на блокчейн.

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

smart_contrakt_07 Всё о смарт-контрактах

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

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

Как использовать смарт-контракт

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

Подобные инструкции даны и в криптовалютных хайпах на смарт-контрактах. Там инвесторам объясняются все условия инвестирования, их прибыль, как она будет выплачиваться. Надо ли заказывать прибыль, переводя со своего кошелька на кошелек смарт-контракта 0 ETH, или прибыль выплачивается автоматически.

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

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