Прикладная децентрализация на блокчейне: что такое dApp и зачем они нужны

Что такое dApp
Обычно под dApp (decentralized application) понимают приложение, которое базируется на технологии блокчейн и использует распределенное выполнение программных инструкций. В отличие от обычных мобильных приложений, где код и данные обрабатываются централизованной инфраструктурой, ключевые операции dApp выполняют участники блокчейн-сети в соответствии с четко заданными протоколом правилами.
Наиболее распространенный механизм реализации dApp — смарт-контракты. Это программы, код которых размещается в блокчейне, а результаты работы приводят к проверяемым изменениям состояния сети.
Само понятие «децентрализации» является не всегда однозначным: разные приложения могут использовать распределенные технологии в разной степени, а значит, иногда разительно отличаются друг от друга. Поэтому границы понятия dApp не так очевидны, как может показаться из названия.

Будьте в курседвижения ваших монет
Алерты, котировки в реальном времени и новости рынка — в одном приложении

4,8 на основе 40 К оценок в App Store и Google Play


Откуда взялся термин
Идея приложений, работающих на основе распределенных сетей, появилась даже раньше блокчейна. Однако в первой половине 2010-х стала активно обсуждаться применительно к криптовалютам. В ранних криптопроектах обсуждались distributed applications или decentralized applications, а также близкие концепции DAC (децентрализованных автономных корпораций) и DAO (децентрализованных организаций).
Автором термина dApp часто называют соучредителя BitAngels Дэвида Джонстона (David Johnston). Однако считать его единоличным изобретателем концепции было бы не совсем верно. К моменту публикации работы Джонстона 2014 года с первым упоминанием dApp, идеи децентрализованных приложений активно обсуждались в криптовалютном сообществе, а само слово «Dapp» уже встречалось в сети. Тем не менее, именно Джонстон с соавторами провели важную систематизацию всех замысловатых представлений в работе The General Theory of Decentralized Applications, Dapps, предложив формальное определение dApp и разработав критерии.
Интересный факт: Джонстон и соавторы предложили произносить dApp как «ди-эпп», по аналогии с e-mail — «имейл». В современном употреблении, однако, более распространено произношение «дапп» в один слог.
Критерии dApp
Джонстон и соавторы сформулировали четыре критерия, которым должно соответствовать децентрализованное приложение.
-
Во-первых, dApp должно быть полностью открытым (open-source) и автономным, а контроль над большинством его токенов не должен принадлежать одному субъекту. Изменения протокола допускаются, но они должны приниматься консенсусом.
-
Во-вторых, данные и записи работы приложения должны храниться в публичном децентрализованном блокчейне.
-
В-третьих, приложение должно использовать криптографический токен, а участники, вносящие вклад в работу системы, — получать вознаграждение этими токенами.
-
Наконец, выпуск токенов должен происходить по определенному криптографическому алгоритму, который подтверждает вклад участников в работу системы. В качестве примера авторы приводят Биткоин с его алгоритмом Proof-of-Work.
Таким образом, первоначальное представление о dApp было довольно строгим: это не просто приложение, использующее блокчейн, а открытая автономная система с децентрализованным хранением данных, собственным токеном и встроенным механизмом эмиссии.
Современное понимание
Представим приложение, в котором все операции выполняются через смарт-контракт в блокчейне, но команда разработчиков сохраняет право единолично менять правила работы. Это dApp или нет?
Сегодня это вполне могут назвать dApp. Подобная архитектура вполне распространена, хотя явно не соответствует исходному требованию полной автономности и управления через консенсус пользователей.
То же происходит и с другими критериями. Часть данных может храниться вне блокчейна, а собственный токен и механизм его выпуска могут отсутствовать вовсе. Получается, современное dApp далеко не обязательно соответствует всем требованиям первоначального определения.
Причина в самой архитектуре блокчейн-приложений. Блокчейн хорошо подходит для хранения состояния и выполнения определенных операций, но хранить в нем большие объемы данных обычно дорого и неэффективно. Поэтому современные dApp могут сочетать децентрализованные и централизованные компоненты, не обеспечивая радикальную децентрализацию на всех уровнях.
Возникает резонный вопрос: где проходит граница между dApp и обычным приложением, которое просто использует блокчейн?
Что правильно считать децентрализованным приложением
С распространенными примерами dApp наподобие Uniswap или Aave все более-менее понятно: ключевая логика реализована в смарт-контрактах, блокчейн хранит критически важное состояние системы. Впрочем, если вдаваться в детали, и тут можно найти централизованные элементы.
Обычный интернет-сервис может, например, использовать стейблкоины для оплаты, но при этом все остальные функции — регистрацию, хранение данных, расчеты и принятие решений — выполнять централизованно. Называть такой сервис dApp уже сложнее. То же касается кошельков: взаимодействие с блокчейнами само по себе не делает программу децентрализованной. Поэтому самого факта использования блокчейна недостаточно.
Если блокчейн применяется только для платежей, перед нами, скорее всего, обычное приложение с криптовалютной функцией. Если же смарт-контракты определяют ключевые правила системы, блокчейн хранит ее критически важное состояние, а пользователь может взаимодействовать без необходимости доверять централизованному оператору, — да, перед нами dApp.
В ситуации, когда практически любое приложение может назвать себя dApp, сам по себе этот ярлык мало что говорит о степени децентрализации. Важно смотреть на архитектуру системы и искать централизованные точки отказа и контроля. Такая точка может найтись не только в смарт-контрактах или системе хранения данных на блокчейне, но и, например, в интерфейсе — если единый сайт, через который пользователи взаимодействуют с приложением, контролируется одной компанией, это уже само по себе создает зависимость от централизованной инфраструктуры.
Виды dApp
Хотя термин достаточно условный, в прикладном смысле dApp часто делят по категориям в зависимости от назначения. Можно выделить несколько часто упоминаемых разновидностей в качестве примера:
-
Децентрализованные биржи (DEX) — приложения для обмена цифровыми активами без необходимости передавать средства централизованной бирже. Сделки и правила исполнения определяются смарт-контрактами. К наиболее известным примерам относится Uniswap.
-
Лендинг-протоколы — позволяют выдавать и получать займы криптовалютой без посредника в виде банка. Такие системы автоматически рассчитывают условия кредитования, размер залога на основе правил, заложенных в смарт-контрактах. Один из наиболее известных примеров — Aave.
-
Отдельную категорию составляют dApp для игр, NFT и других цифровых активов, где блокчейн используется для хранения информации о владении объектами, проведения операций с этими объектами или реализации игровой логики. Например, популярная игра на блокчейне Ethereum — CryptoKitties.
Существует множество других dApp, созданных для решения совершенно разных задач. В целом объединяет их не столько конкретная функция, сколько использование блокчейна и смарт-контрактов для выполнения хотя бы части ключевой логики приложения.
Вывод
Понятие dApp сегодня — это скорее условный термин, чем строго определенная категория приложений. При оценке конкретного проекта важно смотреть на его архитектуру: кто контролирует ключевые правила работы системы и есть ли в ней централизованные компоненты, отказ, изменение или отключение которых может нарушить всю работу.





