fbpx

Смарт-контракты

21.03.2022 18.07.2022
7 мин
1483
34
Смарт-контракты.


Идеи интеллектуальных, цифровых контрактов возникли еще задолго до появления блокчейна, но впервые были созданы в сети Ethereum в 2014 году. Все современные блокчейны реализуют возможности пользовательского взаимодействия при помощи смарт-контрактов. Смарт-контрактами называются цифровые протоколы, которые используются для автоматического совершения транзакций при помощи алгоритмов после выполнения заранее установленных условий.

Любые взаимодействия внутри Ethereum происходят в виртуальной среде — Ethereum Virtual Machine (EVM). Эти взаимодействия возможны за счет умных контрактов, в которых прописаны условия выполнения и исполнения обязательств между сторонами. В основе смарт-контрактов лежит принцип “если — то” и применяются они для автоматизации множества как простых, так и сложных процессов. Сегодня при помощи смарт-контрактов построено практически все DeFi-пространство. Они используются, например, для обмена на децентрализованных биржах, участия в IDO, оплаты товаров и услуг, управления протоколами и сообществами и т.п.

Использование и применение смарт-контрактов имеет ряд ключевых особенностей:

  • Независимость. Контракты избавляют от необходимости использования посредников и третьих лиц для заключения сделок и соблюдения за выполнением условий;
  • Надежность. Контракты невозможно изменить или отменить поскольку они прописываются в блокчейне;
  • Скорость. Автоматизация процессов приводит к увеличению скорости обработки операций и процессов;
  • Экономия. Снижаются траты за счет устранения третьих лиц и сокращения операционных расходов
  • Точность. При достижении установленных требований, контракты выполняют действия, для которых они созданы и результат всегда будет одинаковым вне зависимости от того, кто выполняет эти требования.

Сложность и возможности таких контрактов зависят от фантазии его создателя и поставленных целей. Они используются для создания новых токенов и протоколов, применяются для организации сложных процессов внутри компании, сервиса или сети, могут включать в себя множество заинтересованных участников, условий и вариантов исполнения. Умные договора востребованы настолько, что сегодня существуют специальные сервисы для самостоятельного создания или использования готовых шаблонов, а также частные компании, которые разрабатывают и проводят аудит целых площадок функционирующих при помощи смарт-контрактов.

В силу своей молодости, смарт-контракты не лишены недостатков:

  • Сложность реализации. Поскольку смарт-контракты являются инновационным инструментом, возникают сложности требующие средств и навыков, а для решения некоторых задач и массового принятия — время.
  • Ошибки. При разработке контрактов в коде могут быть допущены ошибки, которые приводят к взломам и ошибкам при исполнении. Самым ярким примером допущения ошибки в коде смарт-контракта является взлом The DAO, первой децентрализованной автономной организации, которая привела к появлению двух блокчейнов ETH и ETC.

Виды смарт-контрактов

Существует огромное количество разновидностей контрактов, которые различаются в зависимости от сложности, целей применения, времени использования, экономики, применяемой бизнес-модели и многим другим признакам. Все контракты можно различить по набору функций, которые они содержат. Функции смарт-контрактов вызываются извне при помощи кошелька или других контрактов.

Например, каждый токен имеет свой адрес смарт-контракта в котором прописаны определенные наборы функций и параметров, которые определяют его “реакцию” (что смарт-контракт делает). В данном случае эти функции позволяют пользователям взаимодействовать с конкретным токеном: обменивать, передавать, апрувить и т.д.

Используя блокчейн, пользователи отправляют данные, которые записываются в цепочке, тем самым изменяя состояние блокчейна. Также пользователи могут получать данные, записанные в блокчейне при этом состояние блокчейна изменяться не будет. Исходя из этого функции контрактов можно разделить на две большие группы:

  • READ — это функции чтения данных, которая не стоит газа и не связана с отправкой транзакции.
  • WRITE — это функции записи или изменения данных, связанные с совершением транзакций и изменением состояния сети.

В пространстве DeFi контракты являются основой функционирования протоколов и приложений. В них можно получить полезную информацию о токенах, торговых парах, ликвидности, функциях и условиях. Также напрямую через смарт-контракт можно взаимодействовать с блокчейном, например, чтобы совершить ранний апрув транзакции или отменить операцию.

О контрактах

Чтобы получить информацию записанную в смарт-контракте необходимо найти нужный адрес контракта в обозревателе блокчейна и перейти во вкладку Contract.

Вкладка Contract - О смарт контрактах

Среди множества различных функций отметим следующие:

Для чтения:

  • totalSupply — общая эмиссия токенов;
  • balances — баланс адреса;
  • governance — контракт управления;
  • allowance — количество токенов, которое разрешено списать с аккаунта.

Для записи:

  • transfer —  передает указанное значение токенов получателю;
  • approve — выдает разрешение на использование токенов с баланса;
  • delegate — делегирование голосов.

Эти функции вызываются при помощи внешних интерфейсов — кошелька или сервиса, то есть вам нет необходимости вручную использовать эти функции. Но зная где искать смарт-контракт и как его читать вы можете например совершить ранний апрув транзакции (разберем в следующих разделах) или выявить условия связанные с рисками.

Работа с контрактом - что такое смарт контракты

Также, например, вы можете взаимодействовать с контрактом напрямую. Чтобы вручную отправить средства вы можете воспользоваться функцией transfer. Для этого вам нужно подключить кошелек к обозревателю, а затем указать адрес получателя и нужную сумму для отправки.

Смарт-контракты для DEX

Каждая децентрализованная биржа имеет свой адрес смарт-контракта. Подключая свой кошелек к биржам мы взаимодействуем с ними при помощи внешнего интерфейса, который обращается к смарт-контракту для вызова тех или иных функций. На каждой децентрализованной бирже присутствуют торговые пары, которые также имеют свой собственный контракт.

Удобным сервисом для чтения, отслеживания и получения информации о контрактах DEX и торговых парах является Bloxy.info. Здесь можно получить сведения о токенах разных стандартов, их контракты и условия, адреса бирж и dApps, смарт-контракты для торговых пар на различных биржах и множество другой полезной информации.

Скам смарт-контракты

Поскольку в смарт-контрактах можно прописать любые условия, этим стали пользоваться мошенники. Сегодня существует множество различных схем связанных со скам-контрактами. Для неопытного пользователя все это может показаться сложным и именно этим пользуются охотники за чужими средствами.

Одна из таких схем подразумевает, что в коде контракта указана невозможность продажи или апрува токенов для обмена. Например, пользователь участвует в IDO и взамен отправленных USDT получает токены проекта, после чего не может их продать на бирже. Такая схема очень популярна в альтернативных сетях, где низкие комиссии и много неопытных пользователей.

Данная схема также применима на DEX в случае с клонированием торговой пары нового токена. Пользователь получает неоригинальный адрес контракта и через него находит торговую пару на DEX. Он обменивает свои USDT на новый токен, но вот обратно провести обмен уже не может, поскольку функция обмена работает лишь в одну сторону.

Будет интересно: Криптовалюты — это не всегда скам: мировая история мошенничества.

Вы можете проверить контракт в обозревателе блокчейна. Для этого перейдите во вкладку “Contract” и выберите “Code”. Здесь доступен полный код контракта внутри которого можно найти функции отвечающие за те или иные действия. Ключевыми функциями для поиска будут являться: transfer, burn, mint, create, issue, approve и другие. Именно в них чаще всего могут прятаться неблагоприятные условия.

Если в обозревателе для контракта нет вкладок READ и WRITE и отсутствует код, то это означает, что исходного кода нет и такой контракт скорее всего мошеннический. Если адрес контракта предоставляется незадолго до листинга нового токена, это может означать, что в коде могут присутствовать невыгодные условия и лучше скипнуть данный сейл.

Аудит контрактов

Существуют специальные фирмы и компании, а также независимые исследователи, которые проводят аудит смарт-контрактов на наличие в них ошибок. И хотя наличие успешного аудита не гарантирует безопасность кода, все же на это стоит обращать внимание при инвестировании в проекты. К примеру, весьма популярная в криптокругах аудиторская фирма Certik получила свою известность за счет того, что достаточно большое количество проектов были взломаны хакерами через смарт-контракты, которые и проверяла данная компания.

В последнее время, стали появляться фейковые аудиторские конторы, которые якобы проводят анализ кода смарт-контрактов на наличие уязвимостей и несоответствий. Но обратившись к отчетам таких анализов можно обнаружить пару страниц в которых представлен поверхностный отчет о проекте.

Материал подготовлен автором канала The Wolf Of Your Street. Поддержите автора подпиской!

Как вам статья?

35
1

статьи на эту же тему

Labrys: почти половина валидаторов Ethereum...
avatar Andrew Makarov
30.09.2022
Евродепутаты требуют отстранить Amazon...
avatar Nadezhda Klimenko
30.09.2022
Кредиторы Celsius требуют от Equities First...
avatar Ilya Surgan
30.09.2022