Смарт-контракт -- это программа, которая говорит: «когда выполнено условие X, происходит действие Y». Не больше и не не. Всё остальное -- маркетинг.
В обычном мире у вас есть договор и есть люди, которые его исполняют. Иногда эти люди -- судьи. Иногда -- банки. Иногда -- ваш контрагент, который решает исполнить или нет.
В мире смарт-контракта у вас есть код и блокчейн. Код говорит: «когда Алиса отправила 1 ETH, перевести 100 USDT Бобу». Блокчейн обеспечивает, что код исполнится, даже если никто этого не хочет.
Это убирает посредников. Не потому что посредники плохие -- а потому что они медленные и берут комиссию. Смарт-контракт делает то же самое, но мгновенно и за доли цента.
Звучит идеально. Но есть ограничения — — и они важнее идеала.
Смарт-контракт не умеет понимать. Он умеет исполнять. Если в контракте написано «если продукт доставлен, перевести оплату» -- блокчейн не знает, доставлен ли продукт. Он верит внешнему источнику, который говорит «доставлено».
Это называется «проблема оракула». И это самая большая дыра в идее смарт-контрактов. Пока нет надёжного способа перенести реальный мир в блокчейн так, чтобы код мог на него реагировать.
Смарт-контракт не умеет отменять ошибки. Если вы отправили не тому или перепутали сумму -- никакой суд не поможет. Код исполнил то, что написано. Точка.
Смарт-контракт не умеет понимать контекст. Он не знает, что ваш друг «на самом деле хотел отправить вам 100, а не 1000». Он видит транзакцию на 1000 и исполняет её.
Обмен токенов. Это самое очевидное. Когда вы покупаете крипту на DEX -- это смарт-контракт. Он работает идеально, потому что всё цифровое.
Кредитование и стейкинг. Когда вы даёте крипту в долг под процент -- это смарт-контракт. Без банка. Без юриста. Без бюрократии.
NFT и цифровые предметы. Когда вы покупаете NFT -- это смарт-контракт. Право собственности проверяется в блокчейне.
Голосования. DAO используют смарт-контракты для голосований. Если у вас есть токен -- — у вас есть голос.
Эскроу без посредника. Алиса хочет заплатить Бобу после доставки. Они кладут деньги в контракт. Когда обе стороны подтверждают -- деньги уходят. Без банка.
Не надо: доверять смарт-контрактам без аудита. Любой может написать код. Большинство кода содержит ошибки. Аудит -- это когда специалисты проверили код и нашли все известные дыры.
Не надо: использовать смарт-контракты для вещей, которые требуют понимания. Если условие «доставлено» требует, чтобы кто-то решил, доставлено ли -- — лучше использовать обычный договор.
Надо: использовать для цифровых вещей, где условия чёткие. «Если Алиса отправила 1 ETH, перевести Бобу 100 USDT» -- — идеально. «Если Алиса довольна услугой» -- — плохо.
И последнее: смарт-контракты -- — это инструмент. Хороший инструмент. Но не серебряная пуля. Используйте его там, где он действительно помогает, и не используйте там, где не помогает.
← К постам в «Блокчейн»