Смарт-контракт
Простыми словами
Программа в блокчейне, которая исполняется ровно так, как написана, когда выполнены её условия, — без компании или посредника, который бы это обеспечивал.
Что такое смарт-контракт
Смарт-контракт — это код, размещённый в блокчейне и исполняющийся автоматически при выполнении заданных условий. Название немного вводит в заблуждение: это не юридический документ и не что-то особенно «умное». Это программа, чьи правила может прочитать каждый и чьё исполнение никто не может незаметно изменить.
Чем отличается от обычной программы
Обычная программа работает на сервере, который контролирует владелец: он может её править, останавливать и выключать. Смарт-контракт исполняется на тысячах независимых узлов, и все они обязаны прийти к одному результату. После публикации код, как правило, изменить нельзя. В этой неизменяемости и смысл: пользователь может проверить правила до того, как доверит контракту деньги.
Для чего их применяют
На смарт-контрактах держится почти всё, что происходит в Ethereum и похожих сетях. Децентрализованные биржи обменивают токены без посредника, который держал бы средства. Кредитные протоколы принимают залог и выдают займы автоматически. Сами токены — тоже смарт-контракты: токен стандарта ERC-20 это просто контракт, который ведёт учёт, кому что принадлежит.
Риски
Код окончателен и распоряжается реальными деньгами, поэтому ошибки обходятся дорого и необратимо. Если в контракте есть уязвимость, атакующий может ею воспользоваться, и отменить результат обычно невозможно. Так были потеряны сотни миллионов долларов.
Поэтому важны аудиты: серьёзные проекты публикуют код и отдают его на проверку независимым командам по безопасности. Аудит снижает риск, но не убирает его полностью — взламывали и проверенные контракты. Относитесь к любому контракту, который держит ваши средства, как к программе, способной дать сбой.