Перейти до основного вмісту
Change page

Технічний вступ до децентралізованих застосунків (dapp)

Децентралізований застосунок (dapp) — це застосунок, створений у децентралізованій мережі, який поєднує смарт-контракт та інтерфейс користувача (фронтенд). В Етеріумі смарт-контракти є доступними та прозорими (як відкриті API), тому ваш dapp може навіть містити смарт-контракт, написаний кимось іншим.

Передумови

Перш ніж вивчати децентралізовані застосунки (dapp), вам слід ознайомитися з основами блокчейну та прочитати про мережу Етеріум і те, як вона децентралізована.

Визначення dapp

Бекенд-код dapp працює в децентралізованій одноранговій мережі. Порівняйте це зі звичайним застосунком, де бекенд-код працює на централізованих серверах.

Dapp може мати фронтенд-код та інтерфейси користувача, написані будь-якою мовою (як і звичайний застосунок), для здійснення викликів до свого бекенду. Крім того, його фронтенд може бути розміщений у децентралізованому сховищі, такому як IPFS (відкривається в новій вкладці).

  • Децентралізований — dapp працюють в Етеріумі, відкритій публічній децентралізованій платформі, яку не контролює жодна особа чи група
  • Детермінований — dapp виконують ту саму функцію незалежно від середовища, у якому вони виконуються
  • Повний за Тюрінгом — dapp можуть виконувати будь-яку дію за наявності необхідних ресурсів
  • Ізольований — dapp виконуються у віртуальному середовищі, відомому як Віртуальна машина Етеріуму (EVM), тому, якщо смарт-контракт має помилку, це не завадить нормальному функціонуванню блокчейн-мережі

Про смарт-контракти

Щоб представити dapp, нам потрібно представити смарт-контракти — бекенд dapp, якщо можна так сказати. Для детального огляду перейдіть до нашого розділу про смарт-контракти.

Смарт-контракт — це код, який знаходиться в блокчейні Етеріуму і виконується точно так, як запрограмовано. Після того, як смарт-контракти розгорнуто в мережі, ви не можете їх змінити. Dapp можуть бути децентралізованими, оскільки вони керуються логікою, прописаною в контракті, а не окремою особою чи компанією. Це також означає, що вам потрібно дуже ретельно проектувати свої контракти та ретельно їх тестувати.

Переваги розробки dapp

  • Нульовий час простою — після того, як смарт-контракт розгорнуто в блокчейні, мережа в цілому завжди зможе обслуговувати клієнтів, які бажають взаємодіяти з контрактом. Тому зловмисники не можуть здійснювати атаки на відмову в обслуговуванні (DoS), спрямовані на окремі dapp.
  • Приватність — вам не потрібно надавати реальні ідентифікаційні дані, щоб розгорнути dapp або взаємодіяти з ним.
  • Стійкість до цензури — жодна організація в мережі не може заблокувати користувачам можливість надсилати транзакції, розгортати dapp або читати дані з блокчейну.
  • Повна цілісність даних — дані, що зберігаються в блокчейні, є незмінними та незаперечними завдяки криптографічним примітивам. Зловмисники не можуть підробити транзакції або інші дані, які вже були оприлюднені.
  • Бездовірчі обчислення/поведінка, що піддається перевірці — смарт-контракти можна проаналізувати, і вони гарантовано виконуватимуться передбачуваним чином без необхідності довіряти центральному органу. Це не так у традиційних моделях; наприклад, коли ми використовуємо системи онлайн-банкінгу, ми повинні довіряти фінансовим установам, що вони не будуть зловживати нашими фінансовими даними, підробляти записи або не будуть зламані.

Недоліки розробки dapp

  • Обслуговування — dapp може бути важче підтримувати, оскільки код і дані, опубліковані в блокчейні, важче змінити. Розробникам важко оновлювати свої dapp (або базові дані, що зберігаються в dapp) після їх розгортання, навіть якщо в старій версії виявлено помилки або ризики для безпеки.
  • Зниження продуктивності — існує величезне зниження продуктивності, і масштабування є дійсно складним. Щоб досягти рівня безпеки, цілісності, прозорості та надійності, до якого прагне Етеріум, кожен вузол виконує та зберігає кожну транзакцію. Крім того, консенсус доказу частки (PoS) також потребує часу.
  • Перевантаження мережі — коли один dapp використовує занадто багато обчислювальних ресурсів, уся мережа починає гальмувати. Наразі мережа може обробляти лише близько 10-15 транзакцій на секунду; якщо транзакції надсилаються швидше, пул непідтверджених транзакцій може швидко розростися.
  • Користувацький досвід — може бути складніше розробити зручний для користувача інтерфейс, оскільки звичайному кінцевому користувачеві може бути занадто складно налаштувати стек інструментів, необхідний для дійсно безпечної взаємодії з блокчейном.
  • Централізація — зручні для користувачів і розробників рішення, створені поверх базового рівня Етеріуму, у будь-якому разі можуть виглядати як централізовані сервіси. Наприклад, такі сервіси можуть зберігати ключі або іншу конфіденційну інформацію на стороні сервера, обслуговувати фронтенд за допомогою централізованого сервера або виконувати важливу бізнес-логіку на централізованому сервері перед записом у блокчейн. Централізація усуває багато (якщо не всі) переваг блокчейну над традиційною моделю.

Краще сприймаєте візуально?

What is a dapp? Decentralized application on the blockchain

An introduction to decentralized applications (dapps) and how they differ from traditional apps.

Дивитися з транскриптом 

Інструменти для створення децентралізованих застосунків (dapp)

Scaffold-ETH 2 — швидко експериментуйте з Solidity за допомогою фронтенду, який адаптується до вашого смарт-контракту.

Create Eth App — створюйте застосунки на базі Етеріуму за допомогою однієї команди.

One Click Dapp — інструмент із відкритим вихідним кодом (FOSS) для створення фронтендів dapp з .

Etherflow — інструмент із відкритим вихідним кодом (FOSS) для розробників Етеріуму, що дозволяє тестувати свій вузол, а також створювати та налагоджувати RPC-виклики з браузера.

thirdweb — SDK будь-якою мовою, смарт-контракти, інструменти та інфраструктура для розробки у Web3.

Crossmint — платформа корпоративного рівня для розробки у Web3, що дозволяє розгортати смарт-контракти, підключати платежі кредитними картками та кросчейн-платежі, а також використовувати API для створення, розповсюдження, продажу, зберігання та редагування NFT.

Подальше читання

Знаєте ресурс спільноти, який вам допоміг? Відредагуйте цю сторінку та додайте його!

Посібники: створення застосунків і фронтендів в Етеріумі