avatar

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

0
9 просмотров

Обычно под dApp (decentralized application) понимают приложение, которое базируется на технологии блокчейн и использует распределенное выполнение программных инструкций. В отличие от обычных мобильных приложений, где код и данные обрабатываются централизованной инфраструктурой, ключевые операции dApp выполняют участники блокчейн-сети в соответствии с четко заданными протоколом правилами.

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

Само понятие «децентрализации» является не всегда однозначным: разные приложения могут использовать распределенные технологии в разной степени, а значит, иногда разительно отличаются друг от друга. Поэтому границы понятия dApp не так очевидны, как может показаться из названия.

Идея приложений, работающих на основе распределенных сетей, появилась даже раньше блокчейна. Однако в первой половине 2010-х стала активно обсуждаться применительно к криптовалютам. В ранних криптопроектах обсуждались distributed applications или decentralized applications, а также близкие концепции DAC (децентрализованных автономных корпораций) и DAO (децентрализованных организаций).

Автором термина dApp часто называют соучредителя BitAngels Дэвида Джонстона (David Johnston). Однако считать его единоличным изобретателем концепции было бы не совсем верно. К моменту публикации работы Джонстона 2014 года с первым упоминанием dApp, идеи децентрализованных приложений активно обсуждались в криптовалютном сообществе, а само слово «Dapp» уже встречалось в сети. Тем не менее, именно Джонстон с соавторами провели важную систематизацию всех замысловатых представлений в работе The General Theory of Decentralized Applications, Dapps, предложив формальное определение dApp и разработав критерии.

Джонстон и соавторы сформулировали четыре критерия, которым должно соответствовать децентрализованное приложение.

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

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

Сегодня это вполне могут назвать dApp. Подобная архитектура вполне распространена, хотя явно не соответствует исходному требованию полной автономности и управления через консенсус пользователей.

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

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

Возникает резонный вопрос: где проходит граница между dApp и обычным приложением, которое просто использует блокчейн?

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

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

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

Хотя термин достаточно условный, в прикладном смысле dApp часто делят по категориям в зависимости от назначения. Можно выделить несколько часто упоминаемых разновидностей в качестве примера:

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

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

Комментарии

0

/ 2500

Раскройте тему

Оставьте первый комментарий