Смарт-контракт
Смарт-контракт — программа, которая живёт в блокчейне и исполняется автоматически при заданных условиях. Её код виден всем, менять его после публикации обычно нельзя, и остановить исполнение никто не может.
Как это работает
Контракт публикуется в сеть один раз и получает собственный адрес. Дальше любой может вызвать его функции, отправив транзакцию, а сеть исполнит код одинаково на всех узлах и запишет результат в блокчейн.
За вычисления платит вызывающий — комиссией за газ. Чем сложнее операция, тем дороже, и если газа не хватило, изменения откатываются, а потраченная комиссия не возвращается.
Именно неизменность делает контракты полезными и опасными одновременно. Продавцу не нужно доверять, потому что правила исполнит код, — но и ошибку в этом коде чаще всего нельзя починить.
Что ими делают
- Выпуск токеновПочти все токены, включая USDT и USDC, — это контракты, которые ведут учёт, у кого сколько на балансе.
- Обмен без посредникаDEX — это контракт, который держит пул из двух активов и меняет один на другой по формуле, без биржи и без счёта.
- Займы под залогКонтракт принимает залог, выдаёт заём и сам продаёт залог, если его цена опустилась ниже порога.
- Управление проектомDAO голосует токенами, и принятое решение исполняется контрактом, а не менеджером.
На что смотреть
- Кто может его изменитьМногие контракты обновляемые, и тогда у кого-то есть ключ от обновления. Это удобно для разработки и опасно для вас.
- Есть ли аудит и чейОтчёт должен открываться, называть аудитора и относиться к тому же адресу контракта, а не к «версии проекта».
- Сколько в нём средств и как долгоКонтракт с крупной суммой, проживший годы без взлома, — сам по себе довод, хотя и не гарантия.
- Что вы ему разрешилиРазрешение на трату токенов остаётся бессрочным, пока его не отозвать вручную. Проверяйте выданные доступы.