Що таке децентралізовані застосунки (dapp)?
Зміст
Через 14 років із моменту запуску першого блокчейна з’явилося багато його альтернативних варіантів та варіацій їхнього використання.
Сатоші Накамото подарував світові першу цифрову валюту — Bitcoin, а Ethereum став першою універсальною децентралізованою блокчейн-платформою, у якій будь-хто може програмно реалізувати різні системи зберігання та обробки інформації. Головна умова — усі дії мають бути описані у форматі математичних правил за допомогою розумних контрактів.
Децентралізовані застосунки (англ. decentralized applications, dapp) — це застосунки, які створюються та функціонують на базі блокчейну. За видом та функціоналом вони майже не відрізняються від класичних програм, а їхня особливість полягає у відсутності посередника. Найчастіше для цього застосовується Ethereum і його механізмом смартконтрактів, але є варіанти й на інших блокчейн-платформах.
Передісторія «Всесвітньої павутини» та до чого тут dapp?
Почнемо з того, що розвиток Інтернету можна умовно поділити на кілька епох: Web 1.0, Web 2.0 та Web 3.0.
Web 1.0 — це перша версія «Всесвітньої мережі» (World Wide Web), яка набула популярності на початку 90-х. Сайти були статичними сторінками з текстом, посиланнями та зображеннями. За словами Тіма Бернерса-Лі, автора Мережі, сайти Web 1.0 були доступні лише для читання.
А Web 2.0 — це друге покоління інтернету, яке з’явилося на початку 2000-х. Основу Web 2.0 становлять інтерактивні платформи та сервіси, під’єднані до Всесвітньої мережі. Ключова відмінність від першого покоління полягає в тому, що сайти перетворилися на вебзастосунки, з’явилися перші соціальні мережі та система хмарних сервісів. Відомі представники Web 2.0 — Amazon, Facebook та Twitter.
Концепція Web 3.0 з’явилася ще дев’яності роки. Архітектура нового покоління мала включати кілька основних компонентів, проте надалі сприйняття концепції змінилося. У 2014 році співзасновник Ethereum Гевін Вуд опублікував статтю, де описав Web3 з іншого боку — як децентралізованішу версію мережі, побудовану з використанням блокчейну. Пропозиції стосувалися насамперед змін у системі зберігання даних, а також підвищення рівня анонімності користувачів.
У 2021 році термін Web3 знову згадали на тлі зростання популярності децентралізованих застосунків і невзаємозамінних токенів (NFT). А Web 2.0 критикували за надмірну централізацію. Відповіддю на інформаційну «монополію» епохи Facebook став блокчейн та, зокрема, технологія смартконтрактів на базі Ethereum.
Хоча означення Web3 поки що не сформоване до кінця, система прагне повернути контроль користувачам над їхніми конфіденційними даними, а також надати свободу від цензури та обмежень. Децентралізовані програми — головні складники майбутнього Інтернету, адже dapp використовують головні переваги блокчейну: прозорість, надійність, а також незмінність даних.
Починаючи з фінансів, технологія застосовується і в інших сферах.
Щоб краще зрозуміти принцип роботи dapps, проведемо аналогію з програмами епохи Web2.
У чому різниця між децентралізованими та централізованими програмами?
Структура застосунків Web 2.0 (централізованих) та Web 3.0 (децентралізованих) докорінно відрізняється. Централізовані програми можуть бути десктопними — спочатку їх потрібно завантажити та встановити на своєму пристрої; та вебклієнтами — такими, що працюють за допомогою браузера. Яскравим прикладом вебзастосунків, які ми використовуємо в повсякденному та професійному житті, є Google Docs. Для його запуску не потрібно завантажувати окремий софт, достатньо скористатися налаштуваннями, доступними в браузері та авторизуватися.
Програми, які вимагають інтернет-з’єднання, мають класичну клієнт-серверну архітектуру, де є один центральний сервер для всіх клієнтів.
Тобто кожен запит окремого клієнта відправляється туди. Далі сервер обробляє запит, бере потрібні дані із центральної бази даних та відправляє відповідь назад. Клієнти та сервер «спілкуються» за допомогою коду переважно через протокол HTTP та більш сек’юрний HTTPS. Тобто, відкривши стрічку новин у Twitter, ти бачиш дані, які підтягуються із центрального вебсервера компанії.
Децентралізована програма працює по-іншому, у ній немаєпосередника у формі центрального сервера та бази даних.
Як працює dapp?
Децентралізація таких програм можлива завдяки смартконтрактам, які розгортаються в блокчейні. У звіті «Загальна теорія децентралізованих застосунків» кілька провідних авторів індустрії виклали основні критерії dapps:
- Відкритий початковий код;
- Уся інформація про застосунок має бути публічною та зберігатися в блокчейні;
- Доступ до програмимає забезпечуватися цифровим активом;
- Dapp має використовувати алгоритм консенсусу.
Також у звіті вказані основні види dapps, які можна розділити на рівні. Dapps першого рівня використовують власний блокчейн. Програми другого рівня будуються поверх основного блокчейну. Dapps третього рівня зберігають інформацію про перші два. Переважно це API та скрипти, необхідні для їхнього функціонування.
Переваги dapps
- Безперервність роботи. Дані традиційних вебзастосунків зберігаються на центральних серверах, крадіжка яких може ускладнити або взагалі зупинити роботу всієї мережі. Пірингова мережа може забезпечувати практично безперервну роботу програми, навіть якщо якісь вузли вийдуть із ладу.
- Відсутність цензури. Без єдиного органу управління ком’юніті користувачів самостійно може приймати рішення та керувати dapp.
- Криптовалюти. Оскільки децентралізації dapps сприяють смартконтракти, у їхній функціонал легко інтегрувати цифрові активи.
- Безпека. Витік інформації із сервера може зашкодити як користувачам, так і компанії загалом. Децентралізовані програми не мають однієї бази даних, тому їх важче зламати.
Вразливості dapps
- Швидкість ухвалення рішень. Зважаючи на відсутність центрального органу, рішення про оновлення приймаються повільніше, оскільки потрібно отримати згоду або відмову спільноти.
- Складність у формуванні бази користувачів. Для успішної роботи dapp потрібні ноди та база користувачів, яку зібрати на самому початку не так просто. Чим більше користувачів — тим вищий рівень децентралізації, і тим вища безпека програми.
Приклади застосування децентралізованої програми: як використовувати dapps?
Компанії у всьому світі вже активно використовують dapps як для збільшення своєї бази користувачів, так і для поліпшення досвіду користувача загалом. Знайти список найпопулярніших децентралізованих застосунків можна на ресурсі DappsRadar.
Сьогодні найпопулярнішими dapps є DeFi-проєкти на кшталт DEX (децентралізовані криптобіржі), які дають змогу обмінюватися цифровими валютами без посередників. Наприклад: Uniswap, WhiteSwap, Pancakeswap, Curve. Також у сфері GameFi є безліч проєктів, побудованих на блокчейні — наприклад, Decentraland та Gods Unchained.
Блокчейн та смартконтракти дають змогу бізнесам вивести свою діяльність на новий рівень за допомогою DAO — децентралізованих автономних організацій, у яких відсутня посадова ієрархія. Це дає змогу кожному учаснику впливати на розвиток проєкту.
Творці програм Web3 віддають контроль до рук спільноти, що мотивує користувачів у всьому світі обирати децентралізацію. Далі — більше!