Смарт-контракт
Смарт-контракт (сиб. Контракт дык мозговитой) — одна из особенностей блокчейна, автоматически выполняемый контракт. Смарт-контракт проверяет выполнение условий сторонами и автоматически производит описанные действия.
Подробности[править]
Задача смарт-контрактов — за счёт технологий автоматической проверки условий минимизировать необходимость в доверенных третьих лицах, которые будут проверять выполнение финансовых договорённостей. В случае со смарт-контрактами это осуществляет за счёт самого блокчейна. Смарт-контракты оцифровывают договоренности, превращая условия в код, который автоматически выполняется, когда условия контракта соблюдены. Простейшая метафора для умного контракта — это торговый автомат, который работает похожим образом: определенный ввод гарантирует определенный вывод.
Полноценные смарт-контракты появились вместе с валютой Ethereum. Смарт-контракты являются основными системными блоками приложений Ethereum.
Представления о смарт-контрактах появились ещё в 1990-х, где так обозначались автоматически выполняемые обязательства. Но реализовать эту концепцию получилось только с появлением блокчейна. В рамках Ethereum смарт-контракт — записанная в блокчейн программа, автоматически выполняемая при выполнении условий; после того, как она была записана, изменить или отменить её уже нельзя никакими способами.
Термин «умный контракт» (англ. smart contract) придумал Ник Сабо и определил его так: «Умный контракт — это компьютеризованный протокол транзакций, который выполняет условия контракта. Общие цели разработки умного контракта заключаются в удовлетворении общих условий договора (таких как условия оплаты, залоговые права, конфиденциальность и даже исполнение), минимизации исключений, как злонамеренных, так и случайных, и минимизации необходимости в доверенных посредниках. Связанные с этим экономические цели включают снижение потерь от мошенничества, затрат на арбитраж и принудительное исполнение, а также других транзакционных издержек».
В 1994 году он написал введение в концепт, а в 1996 году — объяснение того, что умные контракты могли бы делать. Ник Сабо предвидел цифровую торговую площадку, построенную на этих автоматических и криптографически защищенных процессах. Место, в котором транзакции и бизнес-процессы смогут совершаться без проверяющих посредников, которым нужно доверять. Умные контракты в Ethereum претворили это в жизнь.
Для разработки смарт-контрактов Гэвином Вудом был создан язык программирования Solidity. На сегодня есть практика использования и других систем программирования.
Размещение[править]
Добавляет в блокчейн подобно стандартной транзакции и исполняется после размещения; после этого уже не может быть изменён. Он сохраняет текущее состояние и производит операции в зависимости от него, а для взаимодействия с такими контрактами другие пользователи отправляют свои транзакции.
Могут использоваться для игры на деньги или розыгрыша монеток: пользователи отправляют некоторые суммы на определённый адрес, как бы приобретая лотерейный билет, после чего смарт-контракт посредством рандомной функции определяет победителя.
На платформе Ethereum смарт-контракты являются необходимым элементом для обеспечения функционирования децентрализованных проектов без контролирующих органов (децентрализованные приложения (dapps), децентрализованные финансы (DeFi), децентрализованные автономные организации (DAO), децентрализованные социальные сети, децентрализованная идентификация, децентрализованная наука (DeSci)) — именно смарт-контракты применяются для соблюдения обусловленных договоренностей. Технология блокчейна обеспечивает неизменность правил и соглашений.
Помимо сферы криптовалют, смарт-контракты могут применяться в следующих сферах: здравоохранение, кредитование, избирательная система, медиа, интернет вещей, аренда, поставки, клиринг и т. д. Они позволяют оптимизировать и ускорить множество рутинных процессов и снизить (или полностью исключить) участие посреднической стороны, что существенно уменьшает сопутствующие расходы.
Для взаимодействия смарт-контрактов с внешним миром могут использоваться «блокчейн-оракулы», которые позволяют смарт-контракту получить информацию из внешних ресурсов в понятном формате.
Безопасность[править]
Небрежность разработчиков может повлечь за собой злонамеренное использование смарт-контрактов, как показала история с утечкой свыше трех миллионов монет Ethereum из проекта The DAO в 2016 году.
В 2017 году профессор Швейцарской высшей технической школы Цюриха (ВУЗ который закончил Альберт Эйнштейн) Мартин Вечев и бывшие докторанты Губерт Рицдорф и Петр Цанков учредили ChainSecurity. Основная цель компании — сделать технологии блокчейн более безопасными. В этих целях она разрабатывает и использует программы автоматизированного сканирования для аудита смарт-контрактов. Создатели смарт-контрактов могут обратиться в ChainSecurity с просьбой провести аудит выдать сертификат безопасности контрактов. Аналогичный аудит смарт-контрактов проводит компания OpenZeppelin, которая является официальным партнёром Ethereum Foundation.
В 2023 году появилось сообщение об успешном аудите смарт-контрактов с помощью ChatGPT — чат-бота на базе искусственного интеллекта.