Смарт-контракт — это код, работающий в блокчейне. Он выполняется автоматически при выполнении условий. Никаких юристов, нотариусов, агентов по условному депонированию. Код — это соглашение. Если вы отправляете 1 ETH контракту, который обещает отправить обратно токен, контракт либо выполняет это, либо транзакция не удается. Нет промежуточного варианта, и не к кому обратиться за апелляцией. В этой окончательности и заключается суть. В этом и заключается риск. Ошибки в смарт-контрактах привели к потере сотен миллионов долларов. Взлом DAO в 2016 году привел к потере 60 миллионов долларов. Заморозка кошелька Parity заблокировала 150 миллионов долларов. Код — это закон, а в законе могут быть ошибки.
В 2015 году в Ethereum были введены смарт-контракты. Наиболее распространенным языком является Solidity. Разработчики пишут контракт, тестируют его в тестовой сети, проводят аудит и развертывают. После развертывания контракт становится неизменяемым, если только он не включает механизм обновления. Этот механизм обновления представляет собой риск централизации. Если один кошелек может изменить контракт, контракт не является по-настоящему децентрализованным. Большинство крупных протоколов DeFi используют кошельки с мультиподписью или голосование в рамках управления для контроля обновлений. Компромисс между неизменяемостью и возможностью обновления является одним из главных противоречий в проектировании смарт-контрактов.
Основы смарт-контрактов
- Самоисполняющийся — запускается автоматически при выполнении условий.
- Неизменяемый — не может быть изменен после развертывания, если не предусмотрено иное.
- Прозрачность — код является общедоступным в блокчейне.
- Проверяемо — любой может проверить логику.
Внимательно прочтите контракт, прежде чем взаимодействовать с ним. Если вы не можете прочитать код, найдите того, кто может. Или придерживайтесь протоколов, прошедших аудит и проверку в реальных условиях.
Comments
No comments yet. Be the first to share a thought.
Leave a comment