Найти в Дзене
4 Биткоина

Как языки программирования препятствуют распространению DeFi

Оглавление

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

Децентрализованные финансы (DeFi) быстро развиваются. Общая заблокированная стоимость - показатель денежных средств, управляемых протоколами DeFi, - за последние два года выросла с $10 млрд до чуть более $40 млрд после пика в $180 млрд.

Только в 2021 году в результате взломов и эксплойтов было потеряно более 10 миллиардов долларов. Кормление этого слона: Современные языки программирования смарт-контрактов не предоставляют адекватных возможностей для создания и управления активами - также известными как "токены". Чтобы DeFi стал мейнстримом, языки программирования должны предоставлять функции, ориентированные на активы, чтобы сделать разработку смарт-контрактов DeFi более безопасной и интуитивно понятной.

Текущие языки программирования DeFi не имеют понятия об активах

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

Проблема: языки программирования, используемые сегодня для DeFi, такие как Solidity, не имеют понятия о том, что такое актив. Такие активы, как токены и нефункционирующие токены (NFT), существуют только как переменные (числа, которые могут меняться) в смарт-контракте, например, в Ethereum ERC-20. Защиты и проверки, которые определяют, как должна вести себя переменная, например, что она не должна быть потрачена дважды, что она не должна быть слита неавторизованным пользователем, что переводы всегда должны быть сбалансированы и равны нулю - все это должно быть реализовано разработчиком с нуля, для каждого отдельного смарт-контракта.

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

Вот пример: Compound, один из самых "голубых фишек" протоколов DeFi, был использован на сумму 80 миллионов долларов в сентябре 2021 года. Почему? Смарт-контракт содержал ">" вместо ">=".

Взаимодействие

Чтобы смарт-контракты взаимодействовали друг с другом, например, пользователь менял токен на другой, каждому из смарт-контрактов отправляются сообщения для обновления списка внутренних переменных.

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

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

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

Совокупные активы мировых финансовых институтов с 2002 по 2020 гг.
Совокупные активы мировых финансовых институтов с 2002 по 2020 гг.

Инновации и безопасность

Ключ к тому, чтобы DeFi был одновременно инновационным и безопасным, проистекает из одного и того же источника: Дать разработчикам простой способ создания активов и взаимодействия с ними и сделать активы и их интуитивное поведение встроенной функцией. Любой созданный актив всегда должен вести себя предсказуемо и в соответствии со здравыми финансовыми принципами.

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

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

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