Читать книгу «КриптодетективЪ – Цепная Безопасность» онлайн полностью📖 — Александра Викторовича Подобных — MyBook.
image

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

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

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

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


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

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

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

неизменность смарт-контрактов

Поскольку смарт-контракты работают в рамках неизменяемой децентрализованной блокчейн-сети, их результаты нельзя подделать ради неправомерного извлечения выгоды. Но неизменность является не только достоинством, но и недостатком. Например, в 2016 г. хакеры взломали децентрализованную автономную организацию The DAO и украли эфиры (валюта сети Ethereum) на миллионы долларов, воспользовавшись уязвимостями в коде смарт-контракта. Поскольку смарт-контракт The DAO был неизменным, разработчики не смогли исправить код.


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

подверженность багам

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

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

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

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

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

2. Целочисленное переполнение. Смарт-контракт выполняет арифметическую операцию, но значение превышает емкость хранилища (обычно 18 знаков после запятой). Это может привести к неправильному расчету сумм.

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

эффективность смарт-контрактов

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

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

виртуальная машина Ethereum

EVM (Ethereum Virtual Machine) – это единый глобальный 256-битный "компьютер", в котором все транзакции хранятся локально на каждом узле сети и исполняются с относительной синхронностью. EVM может выполнять произвольные команды, и в этом кроется его уязвимость: можно подобрать программный код, который приведет к непредвиденным последствиям. Понятно, что уязвимости в EVM могут привести к сбою в работе смарт-контрактов.

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

аудит защищенности

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

Детерминизм исполнения кода смарт-контракта позволяет тестам работать везде, быть крайне простыми в поддержке и делает расследование инцидентов надежным и неоспоримым.

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

Команде проекта дается время, чтобы исправить ошибки, прежде чем будет выпущен окончательный отчет. Большая часть аудита включает проверку контрактов на наличие уязвимостей в системе безопасности.

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

Аудит безопасности смарт-контрактов широко распространен в экосистеме децентрализованных финансов (DeFi). Решение инвестировать в блокчейн-проект может быть частично основано на результатах проверки кода смарт-контракта.

влияние и потенциал

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

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

децентрализованные финансы DeFi

Децентрализованные финансы (DeFi) – это набор специализированных приложений и финансовых сервисов на основе блокчейна, выстроенный по определенным правилам непрерывной последовательной цепочки блоков, содержащих информацию. Основная идея DeFi – создание независимой и прозрачной финансовой экосистемы, которая не подвержена влиянию регуляторов и человеческого фактора41.

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

Программное обеспечение для децентрализованной экосистемы позволяет взаимодействовать покупателям, продавцам, кредиторам и заемщикам. У разработчиков наиболее популярна сеть Etherium, но сервисы DeFi существуют и на других блокчейн-платформах: EOS, Waves, Tron, NEO, Polkadot, Binance Smart Chain.


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

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

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

Важный компонент DeFi – cтейблкоины, это криптовалюты, стоимость которых привязана к тому или иному базовому активу. Например, Tether USDT привязан к курсу доллара США. Но не все так безоблачно. Риски, заложенные в архитектуру DeFi, достаточно серьезны.

ответственность пользователей

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

Кроме того, никакая организация не несет ответственности за действия участников внутри системы, что в том числе означает и невозможность обслуживания в привычном банковском смысле. Со всеми проблемами пользователь разбирается сам.

инфраструктурные сбои и взломы

Доля средств, украденных с криптовалютных платформ по протоколам DeFi, неуклонно растет с начала 2020 г. По состоянию на середину 2022 г. на протоколы DeFi приходится 97% украденной криптовалюты, что составляет примерно $1,68 млрд. Эксперты считают, что большая часть этих средств досталась хакерским группам, связанным с правительствами.

Дело в том, что при возникновении критической ошибки в любом из протоколов появляется риск уязвимости всей системы, через которую можно проникнуть в любую точку цепи. Так, 10 августа 2021 г. в результате крупной хакерской атаки был взломан межсетевой протокол Poly Network, и злоумышленникам удалось украсть $611 млн. Это на сегодняшний день считается крупнейшей кражей в истории децентрализованных финансов.

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

неопределенность с регулированием

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

Например, в Минфине России с опасением следят за тем, как развиваются DeFi, в том числе и потому, что в децентрализованных финансах высока вероятность появления финансовых пузырей, которые могут причинить вред национальной экономике.

В России действует закон № 259 от 31.07.2020 г. "О цифровых активах" (ЦФА) , согласно которому с 1 января 2021 г. к выпуску и обороту разрешены только токены, эмитент которых зарегистрируется в ЦБ РФ. Аналогичное разрешение ЦБ должны иметь и торговые платформы. Существуют и другие ограничения вроде максимальной суммы для покупки токенов неквалифицированными инвесторами.

Впрочем, токены DeFi, обращающиеся на публичных блокчейнах, не попадают в предусмотренную законом категорию ЦФА, так как их разработчики вряд ли будут регистрироваться в ЦБ РФ – они останутся в "серой зоне".

18 февраля 2022 г. Минфином направлен в Правительство России проект закона о регулировании криптовалют "О цифровой валюте". В нем указано, что использование цифровых валют в качестве средства платежа на территории РФ будет запрещено. В рамках предлагаемого регулирования цифровые валюты рассматриваются исключительно в качестве инструмента для инвестиций.

Впрочем, специального регулирования для сферы DeFi пока не существует и в других странах, так как даже статус криптовалют еще мало где определен. В странах, где есть регулирование и налогообложение криптоактивов, например в Японии, Австралии, США и некоторых странах ЕС, доходы от DeFi рассматриваются в рамках соответствующего законодательства.

противодействие мошенничеству

К примеру, за 2021 злоумышленники похитили более $10 млрд на инвестициях с применением технологии децентрализованных финансов. Мошенники выпускают токены-пустышки и завлекают инвесторов обещаниями чрезвычайно высоких доходов (так называемый Rug Pull). Стандартная схема Rug Pull: дождаться, пока торговля в пуле "разогреется" и цена токена подскочит, а потом вывести всю ликвидность и исчезнуть с деньгами.

В июне 2021 г. был опубликован стандарт ISO 23195:2021 Security Objectives of Information Systems of Third-Party Payment (TPP) Services – "Цели обеспечения безопасности информационных систем сторонних платежных сервисов". Согласно стандарту, провайдер TPP – это услуга, которая дает продавцам возможность принимать онлайн-платежи без необходимости иметь торговый счет. Но когда речь идет о безопасности, факт наличия посредника повышает риск мошенничества при обработке платежа.

1
...
...
16