» » Руководство: DeFi-протоколы и смарт-контракты

Руководство: DeFi-протоколы и смарт-контракты

Новости
21:50, 06 октябрь 2023
281
0

Сфера децентрализованных финансов (DeFi) стала новаторской концепцией в финансовой индустрии, предложив рынку систему торговли, обмена или кредитования под залог криптоактивов напрямую между пользователями без участия посредников. Индустрия построенных на блокчейне сервисов постоянно эволюционирует, и понимание базовых принципов работы важно для инвесторов, чтобы находить прибыльные рыночные ниши, пишет РБК Крипто.

Основные компоненты

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

Компьютерные программы запускают смарт-контракты в автоматическом режиме. При наступлении заранее определенных событий смарт-контракты выполняют действия, не требующие участия стороннего арбитра. В конечном итоге это формируется в децентрализованные приложения (dApps). Их код находится в блокчейне, который, по сути, является распределенной базой данных.

Ethereum выступает безоговорочным лидером среди программируемых блокчейн-сетей в сфере DeFi, поэтому его программная среда или виртуальная машина (Ethereum Virtual Machine, EVM) чаще всего применяется для развертывания сервисов. Тем не менее, DeFi-протоколы или децентрализованные приложения (dApps) существуют во всех программируемых блокчейн-сетях за пределами биткоина (Cardano, Aptos, Solana и других).

Биткоин был намеренно ограничен в возможности использования скриптов, и надстройки вроде сервисов Omni или Stacks реализуются для первой криптовалюты гораздо сложнее. В отличие от этого, другие блокчейны были изначально спроектированы как программируемые сети для развертывания DeFi-протоколов.

Правила и алгоритмы

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

Пример алгоритма в контексте DeFi



Пользователь вносит средства в смарт-контракт, в котором хранится ликвидность пары токенов USDT/ETH.



Другой пользователь берет займ в USDT из пула ликвидности этой пары токенов.



Согласно установленному правилу смарт-контракта, для получения USDT заемщик должен внести залог.



Алгоритм отмечает, внесен ли соответствующий залог. Аналогичным образом алгоритм отмечает, превышает ли стоимость займа размер залога.



Если, например, соотношение стоимости кредита к его стоимости (loan-to-value, LTV) составляет 95%, то для получения кредита в размере 10 000 USDT необходимо внести 10 500 USDT. Если произойдет так, что стоимость USDT упадет, алгоритм ликвидирует залог, и поставщик ликвидности не пострадает.

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

Что такое виртуальные машины (VM)

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

В Ethereum существует виртуальная машина Ethereum Virtual Machine (EVM) — программный слой поверх блокчейна Ethereum, выполняющий код смарт-контрактов. При взаимодействии с децентрализованной биржей, такой как Uniswap, или кредитным протоколом кредитования, таким как Aave, EVM выполняет скрипты (смарт-контракты) на основе данных, полученных от пользователя.

Для создания всех смарт-контрактов в Ethereum используется язык программирования Solidity. Этот код компилируется в EVM для исполнения. Аналогично, когда программисты разрабатывают видеоигры, они используют язык C++ для компиляции скриптов, которые исполняются движком Unreal Engine.

Программируемость и взаимодействие

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

Блокчейн Solana часто отмечается как более дружественный к разработчикам, благодаря исчерпывающей документации по созданию смарт-контрактов в своей экосистеме. Это касается как самих концепций DeFi, так и их реализации с помощью языка программирования Rust.

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

Например, протокол кредитования Alchemix использует другой DeFi-протокол — Yearn Finance — для создания стратегий генерации доходности при автопогашении кредитов.

Безопасность и аудит

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

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

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

Приложения и протоколы

Термины «DeFi-протокол» и «dApp» (децентрализованное приложение) часто используются как взаимозаменяемые. Однако следует учитывать некоторые важные различия.

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

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

Когда в 2022 году власти США наложили санкции на криптовалютный микшер Tornado Cash, они перекрыли доступ к сайту проекто и ограничили популярные криптосервисы от взаимодействия с ним. Но смарт-контракты, на которых этот протокол работал, так и остались нетронутыми и по сей день работают в блокчейне Ethereum. Когда власти говорят, что ограничивают доступ к тому или иному DeFi-протоколу, они говорят именно про пользовательские интерфейсы.

Источник: cryptocurrency.tech

Комментарии (0)
Кликните на изображение чтобы обновить код, если он неразборчив