Смарт-контракты были предложены в 1996 году Ником Сабо, компьютерщиком, юристом и ученым-криптографом, тесно связанным с Bitcoin. Его предложение направлено на предложение инструмента, который позволяет формализовать соглашения между сторонами для компьютерных сетевых сред, таких как Интернет.
Эти смарт-контракты будут приложениями Список номеров сотовых телефонов Америки работающими в блокчейне. Они состоят из серии цифровых соглашений, которые должны соблюдаться и которые основаны на определенных правилах. Правила устанавливаются в компьютерном коде, который будет распространяться по всей сети.
Смарт-контракты позволяют двум неизвестным сторонам устанавливать ряд обязательств через блокчейн без необходимости в доверенной третьей стороне. Если условия не будут выполнены сторонами, контракт не будет урегулирован. Это гораздо более простой процесс без необходимости в доверенных третьих сторонах, который не ограничен границами и который снижает затраты и время включения.
Как работает смарт-контракт
Это программы, имеющие детерминированную цель, работающие непрерывно до тех пор, пока не будут выполнены установленные условия. Обычно смарт-контракты обычно основаны на определенных условиях, которые позволяют продвигаться вперед до тех пор, пока они не будут выполнены. Простым примером могут служить видеоигры, в которых вы должны выполнить некоторые действия, чтобы перейти на следующий уровень, и так далее, пока не завершите его.
Смарт-контракты требуют блокчейна, где они могут храниться и выполняться, поскольку они на самом деле являются фрагментами кода. В Ethereum смарт-контракты выполняют и управляют операциями, которые происходят, когда адреса (пользователи) взаимодействуют друг с другом.
Все адреса (пользователей) в блокчейне, которые не являются смарт-контрактом, называются внешними аккаунтами (EOA). EOA контролируют компьютерный код, который устанавливает условия и характеристики смарт-контрактов.

Смарт-контракт в любом блокчейне основан на коде, который определяет действия и наборе открытых ключей. Необходимо предоставить как минимум два открытых ключа: создателя смарт-контракта и самого контракта, который действует как уникальный идентификатор.
Затем выполнение того же самого осуществляется посредством транзакции в выбранной технологии блокчейна . Смарт-контракт будет выполняться только при вызове EOA или другими смарт-контрактами.
Характеристики смарт-контрактов
Они обладают следующим набором уникальных особенностей:
- Распределенный: Любой смарт-контракт реплицируется и распространяется всеми узлами, подключенными к сети. Каждому гарантирована копия установленных условий, и они не могут быть изменены по желанию одной из сторон.
- Детерминированный: Они могут выполнять только те действия, для которых они были разработаны, но только при выполнении заданных условий. Конечный результат никогда не изменится, независимо от того, кто его выполняет.
- Автономные: они способны автоматизировать любые типы задач, работая как программа с автоматически исполняемыми файлами. Обычно, если смарт-контракт не получает активацию, он остается в режиме ожидания и ничего не делает.
- Неизменяемые: Когда они выпущены в сеть, их больше нельзя изменить. После развертывания их можно только удалить, если эта конкретная функция была реализована ранее.
- Настраиваемые: они имеют возможность корректировать код перед запуском, чтобы делать то, что мы хотим. Их можно использовать для создания различных типов децентрализованных приложений (DApps).
- Trustless: Они не требуют от доверенных третьих сторон проверки целостности процесса и соблюдения отмеченных условий. Кроме того, технология блокчейна заслуживает точности данных.
- Прозрачность: они всегда хранятся в публичном блокчейне, поэтому код виден всем, независимо от того, являются ли они участниками смарт-контракта.
Смарт-контракт можно удалить
Реальность такова, что смарт-контракты могут быть устранены, если это запрограммировано. В блокчейне Ethereum смарт-контракты могут добавлять функцию в код, которая: САМОУНИЧТОЖЕНИЕ. Эта реализация в коде позволяет вам удалить смарт-контракт в будущем, если будет обнаружена ошибка, или заменить его новым. Если этот элемент не добавлен, смарт-контракт никогда не может быть удален.
Смарт-контракт не может быть изменен
После запуска смарт-контракта его нельзя изменить. Обычно смарт-контракт делает вызовы к другим смарт-контрактам с определенными функциями. Это позволяет нам удалить конкретный смарт-контракт (если мы включили опцию удаления) и заменить его новым, более полным или улучшенным.
Что мы можем создать с помощью смарт-контракта?
Предел возможностей смарт-контракта определяется способностью человеческого воображения и способностью программиста создавать код.
Bitcoin представляет некоторые трудности с точки зрения создания и развертывания смарт-контрактов, которые будут исправлены Taproot, в значительной степени. Ethereum позволяет создавать, развертывать и выполнять без технических ограничений благодаря своему полному EMV типа Тьюринга, который примерно функционирует как большой децентрализованный компьютер.