Децентрализованное приложение (dApp) – это тип распределенного программного приложения с открытым исходным кодом, которое работает в одноранговой (P2P) сети блокчейн, а не на одном компьютере. DApps внешне похожи на другие программные приложения, которые поддерживаются на веб-сайте или мобильном устройстве, но поддерживаются P2P.

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

DApps построены на децентрализованной сети, которая поддерживается распределенным реестром блокчейна. Использование блокчейна позволяет dApp обрабатывать данные через распределенные сети и выполнять транзакции. DApps также часто создаются с использованием платформы Ethereum.

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

Как работают децентрализованные приложения?

Децентрализованные приложения имеют следующие три общие характеристики и ключевые атрибуты:

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

DApps хранятся и выполняются в системе блокчейна – обычно с использованием Ethereum. Приложение проверяется с использованием криптографических токенов, которые необходимы для доступа к приложению.

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

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

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

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

Преимущества децентрализованных приложений

Децентрализованные приложения обеспечивают следующие преимущества:

  • Отказоустойчивость. Если один узел в сети все еще работает, децентрализованная сеть может оставаться доступной, хотя производительность может сильно снизиться. Поскольку централизованной сети нет, хакер вряд ли сможет атаковать сеть узлов, достаточную для отключения децентрализованного приложения.
  • Целостность данных. Данные, хранящиеся в блокчейне, неизменны и безопасны, поскольку алгоритмы консенсуса блокчейна обеспечивают устойчивость данных, хранящихся в блокчейне, к изменениям.
  • Гибкая платформа. Блокчейн Ethereum достаточно гибок, чтобы обеспечить быструю разработку dApps для различных отраслей.
  • Конфиденциальность пользователя. Пользователям не нужно отправлять свою личную информацию в dApps, чтобы использовать какие-либо функции, специфичные для приложения.

Недостатки децентрализованных приложений

Децентрализованные приложения также имеют следующие недостатки:

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

Примеры dApps

Несмотря на то, что используются и разрабатываются тысячи приложений dApp, три примера приложений dApp включают Chainlink, TraceDonate и Minds.

  • Chainlink. Это программное обеспечение промежуточного уровня, обеспечивающее защищенные от несанкционированного доступа входные и выходные данные и вычисления для сетей Oracle. Google тестирует его для хранилища данных BigQuery PaaS.
  • TraceDonate. Это служба, которая связывает благотворительные организации и доноров с бенефициарами с целью укрепления доверия к тому, что сделанные пожертвования доходят до нуждающихся. Средства хранятся в цифровом кошельке и позволяют жертвователю отслеживать, как расходуется пожертвование.
  • Minds. Это платформа социальных сетей на основе dApp, которая работает на основе открытого исходного кода и может шифровать все личные данные, отправляемые ее пользователями.