Смарт-контракт

Простыми словами

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

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

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

Чем отличается от обычной программы

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

Для чего их применяют

На смарт-контрактах держится почти всё, что происходит в Ethereum и похожих сетях. Децентрализованные биржи обменивают токены без посредника, который держал бы средства. Кредитные протоколы принимают залог и выдают займы автоматически. Сами токены — тоже смарт-контракты: токен стандарта ERC-20 это просто контракт, который ведёт учёт, кому что принадлежит.

Риски

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

Поэтому важны аудиты: серьёзные проекты публикуют код и отдают его на проверку независимым командам по безопасности. Аудит снижает риск, но не убирает его полностью — взламывали и проверенные контракты. Относитесь к любому контракту, который держит ваши средства, как к программе, способной дать сбой.

Связанные термины

Почитать дальше

Все термины