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

Любая система будет работать лучше, если уменьшить влияние человеческого фактора. Человеческая бухгалтерия проиграет 1С, чертежник с карандашом — САПРу, разработчик на Ассемблере — хорошему компилятору. Как жаль, что уверено работает только с числами, но не с законами.

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

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

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

Чем смарт-контракты отличаются от электронных денег, защищенных сделок и прочих «контрактов»?

  • Смарт-контракты на блокчейне децентрализованы априори. Упавший сервер, технические работы на сайте, ошибки сайта, блок IP-адреса — смарт-контракт не боится таких помех, так как исполняется в децентрализованном блокчейне.

  • У смарт-контрактов нет посредников. Стороны платят только за транзакции, не обязаны посвящать посредника в детали сделки и могут остаться анонимными.

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

  • Контракт нельзя подделать, так как он хранится в блокчейне.

Первые смарт-контракты появились на основе Биткоина. Бедный на инструменты блокчейн позволил сделать только простейшую конструкцию вида «Если… то…», поэтому уже в 2012 энтузиасты работали над улучшениями блокчейна. Дальше всех зашел Виталик Бутерин — написал с нуля Ethereum, первую платформу для токенов и смарт-контрактов.

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

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

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

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

Итак, в блокчейне есть контракт, который предназначен для автоматического обмена ETH на ETC и есть оракул, подписанный обменником. Клиент отправляет оракулу сообщение, что он хочет поменять 5 ETH на ETC, подписывает сообщение своим ключом. Оракул получает входящее условие — обмен 5 ETH, ключ и адрес кошелька клиента. Оракул берет обменный курс из достоверного источника (1:22), создает транзакцию на 110 ETC от обменника к клиенту и 5 ETH от клиента к обменнику. Оракул подписывает транзакции ключами и помещает их в соответствующие блокчейны. Если перевод невозможен, оракул выдает ошибку и отменяет обмен.

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

Где можно применить смарт-контракты?

  • Голосование через мультиподпись. Есть группа людей, у каждого есть специальные токены. Владелец токена может начать голосование, подписав его ключом. Остальные владельцы могут голосовать «за» и «против», оракул подсчитает голоса и поступит в соответствии с условием голосования.

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

  • Хранение документов в блокчейне. Доступ к документам можно получить только подписав запрос соответствующим ключом. Вместо паспорта — смартфон. Допустим, вы хотите получить карту в банке, нужно подтвердить личность. Вы называете адрес блока с документами, на приложение на смартфоне приходит запрос от оракула. Подписываете ключом — банк получает доступ к документам и считывает нужные данные.

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

  • Сложность в составлении самых контрактов и программ-оракулов. Юристы и программисты есть, а вот хорошего юриста с умением писать точнейшие контракты на C++ найти нереально.

  • Сложность с контролем исполнения контракта. Можно сделать автоматический обмен, но сделать оценку выполненной работы пока что нереально.

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

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

Назад