Децентрализованное приложение ( DApp , [1] dApp , [2] Dapp или dapp ) — это приложение , которое может работать автономно, как правило, с помощью смарт-контрактов , которые работают на децентрализованных вычислениях , блокчейне или другой системе распределенного реестра. [3] Как и традиционные приложения, DApps предоставляют пользователям некоторую функцию или полезность. Однако, в отличие от традиционных приложений, DApps работают без вмешательства человека и не принадлежат какой-либо одной организации, вместо этого DApps распределяют токены , которые представляют право собственности. [3] Эти токены распределяются в соответствии с запрограммированным алгоритмом среди пользователей системы, размывая право собственности и контроль над DApp. Без какой-либо одной организации, контролирующей систему, приложение, таким образом, является децентрализованным .
Децентрализованные приложения стали популярными благодаря технологиям распределенного реестра (DLT), таким как блокчейн Ethereum или Cardano , на которых построены DApps, а также другим публичным блокчейнам. [4]
DApps делятся на многочисленные категории: биржи, бизнес, азартные игры, игры, финансы, разработка, хранение, кошелек , управление, собственность, идентификация , медиа, социальные сети, безопасность, энергетика, страхование, здравоохранение и т. д. [5] [ необходимо разъяснение ]
Чтобы приложение считалось DApp, необходимо соблюсти ряд критериев.
Традиционные определения децентрализованного приложения требуют, чтобы DApp имел открытый исходный код . То есть приложение работает автономно без централизованного субъекта, контролирующего большинство связанных с приложением токенов . [3] DApps также имеют публичный, децентрализованный блокчейн, который используется приложением для хранения криптографической записи данных, включая исторические транзакции. [3]
Хотя традиционные DApps обычно имеют открытый исходный код, DApps с полностью закрытым исходным кодом и частично закрытым исходным кодом появились по мере развития индустрии криптовалют. По состоянию на 2019 год только 15,7% DApps имеют полностью открытый исходный код, в то время как 25% DApps имеют закрытый исходный код. Другими словами, доля DApps с общедоступным кодом меньше доли DApps без общедоступного кода. [5] DApps с открытым исходным кодом, как правило, имеют более высокие объемы транзакций, чем DApps с закрытым исходным кодом. [5]
Биткоин , первая криптовалюта , является примером DApp. [6]
DApps можно классифицировать в зависимости от того, работают ли они на собственной цепочке блоков или на цепочке блоков другого DApp.
Смарт-контракты используются разработчиками для хранения данных в цепочке блоков и выполнения операций. [5] Для одного DApp можно разработать несколько смарт-контрактов для обработки более сложных операций. [5] Более 75% DApp поддерживаются одним смарт-контрактом, а остальные используют несколько смарт-контрактов. [5]
DApps требуют газа, то есть сборов, выплачиваемых валидаторам цепочки блоков, из-за стоимости развертывания и выполнения смарт-контрактов DApp. [5] Количество газа, требуемое для функций DApp, зависит от сложности его смарт-контрактов. [5] Сложный смарт-контракт DApp, работающий на блокчейне Ethereum , может не быть развернут, если он стоит слишком много газа, что приведет к снижению пропускной способности и более длительному времени ожидания выполнения. [5]
Механизмы консенсуса используются DApps для установления консенсуса в сети. Два наиболее распространенных механизма установления консенсуса — это proof-of-work (POW) и proof-of-stake (POS). [7]
Proof-of-work использует вычислительную мощность для установления консенсуса посредством процесса майнинга . [8] Bitcoin использует механизм Proof-of-work. [8] Proof-of-stake — это механизм консенсуса, который поддерживает DApps через валидаторов, которые защищают сеть, имея долю и процент владения приложением. [8]
DApps распределяют свои токены посредством трех основных механизмов: майнинг , сбор средств и разработка. [7] При майнинге токены распределяются в соответствии с заранее определенным алгоритмом в качестве вознаграждения майнерам, которые обеспечивают безопасность сети посредством проверки транзакций. [7] Токены также могут распределяться посредством сбора средств, при котором токены распределяются в обмен на финансирование на начальном этапе разработки DApp, как при первоначальном предложении монет . [7] Наконец, механизм разработки распределяет токены, которые откладываются для целей разработки DApp, посредством заранее определенного графика. [7]
Существует три основных этапа, которые всегда происходят при формировании и разработке любого DApp: публикация whitepaper DApp , распределение начальных токенов и распределение прав собственности. [7] Во-первых, публикуется whitepaper, описывающий протоколы, функции и реализацию DApp. [7] Затем необходимое программное обеспечение и скрипты предоставляются майнерам и заинтересованным сторонам, которые поддерживают проверку и сбор средств сети. [7] Взамен они вознаграждаются начальными токенами, распределяемыми системой. [7] Наконец, по мере того, как все большее число участников присоединяется к сети, либо посредством использования DApp, либо посредством вклада в разработку DApp, право собственности на токены размывается, и система становится менее централизованной. [7]
DApps имеют свой внутренний код, работающий в децентрализованной одноранговой сети , в отличие от типичных приложений, где внутренний код работает на централизованных серверах. DApp может иметь внешний код и пользовательские интерфейсы, написанные на любом языке, который может выполнять вызовы к его внутреннему коду.
DApps используются в децентрализованных финансах (DeFi), где dapps выполняют финансовые функции на блокчейнах . [9] Ожидается, что децентрализованные финансовые протоколы, проверяющие одноранговые транзакции, такие как протокол Aave, разрушат централизованные финансы и снизят затраты. [10]
Производительность DApp связана с его задержкой, пропускной способностью и последовательной производительностью. [11] Система проверки транзакций Bitcoin разработана таким образом, что среднее время добычи блока в блокчейне Bitcoin составляет 10 минут. [11] Ethereum предлагает сокращенную задержку в среднем на один добытый блок каждые 12 секунд (называемый временем блока ). Для сравнения, Visa обрабатывает приблизительно 10 000 транзакций в секунду. [11] [12] Более поздние проекты DApp, такие как Solana , пытались превзойти этот показатель. [13]
Подключение к Интернету является основной зависимостью блокчейн-систем, включая DApps. [11] Высокие денежные издержки также выступают в качестве барьера. Транзакции небольших денежных значений могут составлять большую долю от переведенной суммы. [11] Больший спрос на услугу также приводит к увеличению комиссий из-за увеличения сетевого трафика. [14] Это проблема для Ethereum , которая объясняется увеличением сетевого трафика, вызванного DApps, построенными на блокчейне Ethereum , такими как те, которые используются невзаимозаменяемыми токенами (NFT). [14] На комиссии за транзакции влияет сложность смарт-контрактов DApp и конкретный блокчейн. [15]
Ethereum — это технология распределенного реестра (DLT), которая имеет самый большой рынок DApp. [15] Первое DApp на блокчейне Ethereum было опубликовано 22 апреля 2016 года. [15] С мая 2017 года количество разрабатываемых DApps росло более быстрыми темпами. [15] После февраля 2018 года DApps публиковались каждый день. [15] Менее одной пятой DApps охватывают почти всех пользователей DApp на блокчейне Ethereum. [15] Около 5% DApps охватывают 80% транзакций Ethereum. [15] 80% DApps на Ethereum используются менее 1000 пользователей. [15] На Ethereum DApps, которые являются биржами, захватывают 61,5% объема транзакций, финансовые DApps захватывают 25,6%, азартные DApps захватывают 5%, высокорисковые DApps захватывают 4,1% и игры захватывают 2,5%. [15]
DApps не получили широкого распространения. Потенциальные пользователи могут не обладать навыками или знаниями, чтобы эффективно анализировать различия между DApps и традиционными приложениями, а также не ценить эти различия. Эти навыки и информация могут быть труднодоступны для основных пользователей. Кроме того, пользовательский опыт DApps часто бывает плохим, поскольку они часто разрабатываются с приоритетом функциональности, обслуживания и стабильности. [16]
Многим DApps трудно привлечь пользователей, особенно на этапе их основания, и даже тем, кто изначально завоевал широкую популярность, сложно ее удержать. [ необходима полная цитата ]
Ярким примером является DApp CryptoKitties , который сильно замедлил сеть Ethereum на пике своей популярности. [17] CryptoKitties и другие похожие игровые DApp Dice Games с тех пор не смогли привлечь подобного внимания. [18] [ требуется обновление ]