3 січня 2009 року Сатоші Накамото видобув блок генезису біткойна на маленькому сервері в Гельсінкі, створивши тим самим криптосвіт, що швидко розвивається. Біткойн заснований на технології «розподіленого реєстру», і суть біткойна насправді полягає в балансі, записаному в цьому «розподіленому реєстрі» (тобто UXTO, невитрачені витрати на транзакцію). Біткойн, безсумнівно, є геніальним винаходом, але його застосування має деякі обмеження. Оскільки мова сценаріїв на основі UXTO може підтримувати лише прості транзакції, реалізація складнішої логіки в мережі Bitcoin є складною. Це обмежило використання біткойна до «цифрового золота», ускладнюючи його більш широке використання.
Натхненний біткойнами, Віталік Бутерін у 2014 році опублікував у журналі Bitcoin Magazine «Ethereum: криптовалюта наступного покоління та децентралізована платформа додатків», у якій він уперше запропонував смарт-контракти в спробі створити більш широко використовувану систему блокчейну з базового протоколу, який тепер відомий як Ethereum, домінуючий розумний публічний ланцюг на даний момент.
У білому документі Ethereum Віталік згадує цілі проекту: «Ефіріум має намір надати блокчейн із вбудованою повноцінною мовою програмування, повною за Turing, яку можна використовувати для створення «контрактів», які можна використовувати для кодування. довільні функції переходу між станами, що дозволяє користувачам створювати будь-яку з описаних вище систем, а також багато інших, про які ми ще не уявляли, просто написавши логіку в кількох рядках коду». Простіше кажучи, мова йде про створення платформи, яка може запускати смарт-контракти та децентралізовані програми (DApp).
Смарт-контракт схожий на «здійснювану угоду» між людиною та машиною, яка виконується, коли буде виконано заздалегідь визначену умову. У результаті смарт-контракти можна розглядати як «надійного посередника». Найважливішою інновацією Ethereum є смарт-контракти, які також є основою його величезної екосистеми. На відміну від сценаріїв транзакцій Bitcoin, смарт-контракти Ethereum повні за Тьюрингом, що означає, що вони теоретично здатні виконувати будь-які можливі обчислення і, отже, мають безмежні можливості.
Якщо біткойн, по суті, є «розподіленою книгою» з функціями сценаріїв, то Ethereum, ймовірно, ближче до «розподіленої кінцевої машини». Облікові записи в Ethereum класифікуються на два типи: зовнішні облікові записи, якими керують звичайні користувачі за допомогою своїх особистих ключів, і контрактні облікові записи, які мають коди контрактів, що зберігаються всередині, але не мають відповідних закритих ключів і, отже, не належать нікому.
Стан всієї мережі Ethereum — це велика структура даних (Merkle-Patricia Tree), яка містить стан усіх рахунків, їх баланси, а також правила зміни стану. Стан Ethereum постійно змінюється, коли до ланцюжка додаються нові блоки. Таким чином, ви можете розглядати Ethereum як «розподілений загальнодоступний комп’ютер» (віртуальну машину), а різні DApps — як програми, встановлені на цьому комп’ютері.
В Ethereum DApp — це, по суті, набір смарт-контрактів, кожен зі своєю унікальною адресою контракту. Коли код контракту буде завершено, його потрібно запустити зовнішньою транзакцією на обліковий запис контракту. Розробники можуть легко створювати DApps на основі смарт-контрактів і запускати їх на віртуальних машинах Ethereum за допомогою офіційних інструментів. Оскільки віртуальна машина Ethereum має обмежену обчислювальну потужність, користувачі повинні використовувати ETH як «газ» для живлення DApp і віртуальної машини.
З моменту появи смарт-контрактів Ethereum кількість DApps зросла, а зона покриття розширилася. Віталік передбачив три типи додатків Ethereum у документі Ethereum: нефінансові, напівфінансові та фінансові. До нефінансових програм належать онлайн-голосування, децентралізоване управління тощо; напівфінансові програми включають розумні виплати винагород тощо; і фінансові програми (наприклад, Defi) є найвпливовішими, причому Ethereum забезпечує гнучкий і надійний договірний підхід для створення токенів на основі протоколу, похідних фінансових інструментів, контрактів хеджування та інших програм.
Хоча Ethereum є найпопулярнішим публічним ланцюгом із найрізноманітнішою екосистемою DApp, він також стикається з перевантаженістю мережі, низькою ефективністю та високими комісіями. Пізніше, коли з’явилося нове покоління високопродуктивних розумних публічних мереж, таких як EOS, Solana та Flow, вони створили власні екосистеми DApp. Зараз найпопулярнішими категоріями DApp є ігри, Defi, колекції NFT і Social-Fi. Ігрові DApps мають значну перевагу з точки зору загальної кількості та UAW (кількості унікальних активних гаманців), тоді як проекти Defi (такі як Dex, lending тощо) лідирують з точки зору обсягу транзакцій.
Ви можете перевірити активних користувачів, обсяг транзакцій та інші дані різних DApps у основних блокчейнах на таких сайтах даних, як DAppRadar і DAppReview. Станом на листопад 2022 року кількість DApps, указаних лише на DappRadar, перевищила 12 000.
Джерело: DAppRadar
DApp має багато схожості з додатком у традиційному Інтернеті, а зв’язок між DApp і блокчейном схожий на зв’язок між додатком та операційними системами, такими як IOS або Android. DApp працює на блокчейнах, так само як додаток працює на різних операційних системах. Використання DApp у браузері може здаватися користувачем схожим на використання програмного забезпечення SaaS.
Типовий DApp складається з трьох частин із подібною функціональністю до типової трирівневої структури додатка: бек-енд (бізнес-модуль), база даних (модуль зберігання) та інтерфейс (інтерфейс користувача).
Розумні контракти служать програмною основою для реалізації бізнес-логіки DApp. Смарт-контракти зберігаються в блокчейні за адресами контрактів, а вхідні дані передаються між адресами контрактів для реалізації функцій DApp відповідно до попередньо визначеної логіки та запуску перетворення стану всієї віртуальної машини. Однак, на відміну від традиційного додатка, смарт-контракт також зберігає поточний стан DApp, що також є природою самого блокчейну.
Процес потоку даних лежить в основі будь-якої програми або DApp. Дані передаються з модуля зберігання в бізнес-модуль для обробки, щоб користувачі могли взаємодіяти з інтерфейсом. Дані програми зазвичай зберігаються на централізованому сервері, тоді як дані DApp можуть зберігатися повністю в ланцюжку; однак з міркувань ефективності та вартості багато DApps зберігають більшість даних поза ланцюгом, у таких службах, як IPFS, і зберігаючи лише важливі дані бізнес-модулів у ланцюзі блоків.
Інтерфейс – це місце, де звичайні користувачі можуть легко отримати доступ до коду смарт-контракту навіть без детальних знань програмування. Існує невелика різниця в інтерфейсній розробці між DApp і App; обидва створені за допомогою загальних технологій, таких як HTML і JavaScript. Однак, оскільки для використання DApp потрібна взаємодія зі смарт-контрактами, інтерфейс має забезпечувати програмний інтерфейс, який підтримує додатки гаманця (такі як Metamask).
Джерело: Ethereum DApp Architecture Джерело: The Architecture of a Web3 Application
DApps мають такі функції порівняно з традиційними програмами:
DApps покладаються не на централізовані сервери, а на блокчейни, які працюють на децентралізованих віртуальних машинах. Це основні функції DApps, але вони також мають деякі вагомі переваги та недоліки:
Якщо централізований сервер виходить з ладу, програма буде повністю недоступна; однак для DApp відключення одного вузла не впливає на роботу програми в блокчейні. Додатки DApp часто мають нижчі операційні витрати, ніж традиційні додатки, оскільки смарт-контракти ніколи не припиняють працювати, коли вони потрапляють у ланцюг. DApps часто мають нижчі операційні витрати, ніж традиційні програми.
Взаємодія з DApps здійснюється виключно через адресу гаманця без необхідності надавати повну особисту інформацію, коли ви подаєте заявку на загальний фінансовий рахунок. Це не тільки усуває необхідність розкривати особисту конфіденційність, але й значно знижує поріг, щоб будь-хто з крипто-гаманцем міг легко отримати доступ до більшості DApps.
Через функцію блокчейну, яка захищає від втручання, DApps покладаються на логіку коду смарт-контрактів для роботи, тому після завантаження в ланцюжок його неможливо змінити, якщо розробник не залишить дозвіл на його зміну; і як тільки додаток буде розгорнуто, він існуватиме вічно, і теоретично неможливо обмежити доступ будь-кого у світі.
Через децентралізацію DApp зазвичай працюють менш ефективно, ніж традиційні програми, і навіть можуть бути тимчасово недоступними через перевантаження блокчейну.
Через обмежену обробну здатність віртуальної машини блокчейн користувачам потрібно сплачувати певну суму плати за газ мережі за взаємодію з Dapp, що важко для користувачів, які звикли до традиційних безкоштовних програм.
Коли код смарт-контракту включено в ланцюжок, його важко змінити, що ускладнює розробку та підтримку DApp. Також важко вчасно виправити код, якщо він вийшов з ладу.
Оскільки блокчейн децентралізований, код DApp має бути загальнодоступним для всіх учасників спільноти. Це також дозволяє користувачам аналізувати свій код і прогнозувати потенціал проекту.
Функції DApps часто реалізуються через різні токени, або токен відповідного блокчейну (наприклад, ETH), або токен, виданий самим DApp (наприклад, UNI).
Хоча екосистема DApp швидко розвивається, загальний вплив DApps залишається обмеженим порівняно з додатками світового рівня в Web2. Під час еко-впровадження DApp можуть виникнути такі вузькі місця.
1. Масштаб користувача та поріг навчання:
З точки зору UAW, лише близько 100 даних DApps перевищують 10 000. Навіть найпопулярніші DApps отримують лише сотні тисяч незалежних адрес на день, що безумовно тьмяне в порівнянні з простором Web2.
Користувачі повинні отримати базові знання, такі як гаманці та блокчейни, щоб використовувати DApps. Таким чином, перехід із програм Web2 на DApps призведе до витрат на навчання. На даний момент обіцяні антицензурні функції та функції конфіденційності DApps не продемонстрували своєї фактичної цінності, через що DApps залишаються нішевим продуктом серед криптографів.
2. Ітерація продукту та ризики безпеки
Щоб привернути увагу користувачів і підвищити якість продукту в роботі, продукти в Web2 часто дотримуються правила розробки «маленькі кроки, швидка ітерація». Однак важко змінити код контракту DApp після того, як він виходить в Інтернет. Якщо після запуску в коді будуть серйозні помилки, це призведе до серйозних наслідків. Як наслідок, власник проекту повинен виконати повний дизайн продукту та аудит коду, перш ніж DApp підключиться до мережі, щоб уникнути всіх можливих проблем.
3. Публічна інфраструктура блокчейну
Ethereum, поточний розумний публічний ланцюг номер один, страждає від низької ефективності та високої вартості. Порівняно з 24 000 TPS у VISA, TPS Ethereum, який становить близько 15, недостатній для досягнення його бачення стати «глобальним рівнем розрахунків». Час покаже, чи зможе майбутній блокчейн пробити неможливий трикутник і знайти баланс між ефективністю, безпекою та децентралізацією.
DApps мають вирішальне значення для наступного покоління Інтернету, відомого як Web3, і можуть започаткувати нову бізнес-модель для інформаційної галузі. Що стосується зручності використання, DApps дуже схожі на програми Web2, але DApps мають відмінні особливості антицензури та конфіденційності.
Крім того, використання DApps вимагає підключення до гаманця, що робить його тісно пов’язаним з особистою власністю користувача. Щоб уникнути втрати майна, ви повинні ретельно оцінити безпеку DApp перед тим, як підключити до нього свій гаманець. Найкраще вибрати DApp з надійним аудитом коду агентства.
3 січня 2009 року Сатоші Накамото видобув блок генезису біткойна на маленькому сервері в Гельсінкі, створивши тим самим криптосвіт, що швидко розвивається. Біткойн заснований на технології «розподіленого реєстру», і суть біткойна насправді полягає в балансі, записаному в цьому «розподіленому реєстрі» (тобто UXTO, невитрачені витрати на транзакцію). Біткойн, безсумнівно, є геніальним винаходом, але його застосування має деякі обмеження. Оскільки мова сценаріїв на основі UXTO може підтримувати лише прості транзакції, реалізація складнішої логіки в мережі Bitcoin є складною. Це обмежило використання біткойна до «цифрового золота», ускладнюючи його більш широке використання.
Натхненний біткойнами, Віталік Бутерін у 2014 році опублікував у журналі Bitcoin Magazine «Ethereum: криптовалюта наступного покоління та децентралізована платформа додатків», у якій він уперше запропонував смарт-контракти в спробі створити більш широко використовувану систему блокчейну з базового протоколу, який тепер відомий як Ethereum, домінуючий розумний публічний ланцюг на даний момент.
У білому документі Ethereum Віталік згадує цілі проекту: «Ефіріум має намір надати блокчейн із вбудованою повноцінною мовою програмування, повною за Turing, яку можна використовувати для створення «контрактів», які можна використовувати для кодування. довільні функції переходу між станами, що дозволяє користувачам створювати будь-яку з описаних вище систем, а також багато інших, про які ми ще не уявляли, просто написавши логіку в кількох рядках коду». Простіше кажучи, мова йде про створення платформи, яка може запускати смарт-контракти та децентралізовані програми (DApp).
Смарт-контракт схожий на «здійснювану угоду» між людиною та машиною, яка виконується, коли буде виконано заздалегідь визначену умову. У результаті смарт-контракти можна розглядати як «надійного посередника». Найважливішою інновацією Ethereum є смарт-контракти, які також є основою його величезної екосистеми. На відміну від сценаріїв транзакцій Bitcoin, смарт-контракти Ethereum повні за Тьюрингом, що означає, що вони теоретично здатні виконувати будь-які можливі обчислення і, отже, мають безмежні можливості.
Якщо біткойн, по суті, є «розподіленою книгою» з функціями сценаріїв, то Ethereum, ймовірно, ближче до «розподіленої кінцевої машини». Облікові записи в Ethereum класифікуються на два типи: зовнішні облікові записи, якими керують звичайні користувачі за допомогою своїх особистих ключів, і контрактні облікові записи, які мають коди контрактів, що зберігаються всередині, але не мають відповідних закритих ключів і, отже, не належать нікому.
Стан всієї мережі Ethereum — це велика структура даних (Merkle-Patricia Tree), яка містить стан усіх рахунків, їх баланси, а також правила зміни стану. Стан Ethereum постійно змінюється, коли до ланцюжка додаються нові блоки. Таким чином, ви можете розглядати Ethereum як «розподілений загальнодоступний комп’ютер» (віртуальну машину), а різні DApps — як програми, встановлені на цьому комп’ютері.
В Ethereum DApp — це, по суті, набір смарт-контрактів, кожен зі своєю унікальною адресою контракту. Коли код контракту буде завершено, його потрібно запустити зовнішньою транзакцією на обліковий запис контракту. Розробники можуть легко створювати DApps на основі смарт-контрактів і запускати їх на віртуальних машинах Ethereum за допомогою офіційних інструментів. Оскільки віртуальна машина Ethereum має обмежену обчислювальну потужність, користувачі повинні використовувати ETH як «газ» для живлення DApp і віртуальної машини.
З моменту появи смарт-контрактів Ethereum кількість DApps зросла, а зона покриття розширилася. Віталік передбачив три типи додатків Ethereum у документі Ethereum: нефінансові, напівфінансові та фінансові. До нефінансових програм належать онлайн-голосування, децентралізоване управління тощо; напівфінансові програми включають розумні виплати винагород тощо; і фінансові програми (наприклад, Defi) є найвпливовішими, причому Ethereum забезпечує гнучкий і надійний договірний підхід для створення токенів на основі протоколу, похідних фінансових інструментів, контрактів хеджування та інших програм.
Хоча Ethereum є найпопулярнішим публічним ланцюгом із найрізноманітнішою екосистемою DApp, він також стикається з перевантаженістю мережі, низькою ефективністю та високими комісіями. Пізніше, коли з’явилося нове покоління високопродуктивних розумних публічних мереж, таких як EOS, Solana та Flow, вони створили власні екосистеми DApp. Зараз найпопулярнішими категоріями DApp є ігри, Defi, колекції NFT і Social-Fi. Ігрові DApps мають значну перевагу з точки зору загальної кількості та UAW (кількості унікальних активних гаманців), тоді як проекти Defi (такі як Dex, lending тощо) лідирують з точки зору обсягу транзакцій.
Ви можете перевірити активних користувачів, обсяг транзакцій та інші дані різних DApps у основних блокчейнах на таких сайтах даних, як DAppRadar і DAppReview. Станом на листопад 2022 року кількість DApps, указаних лише на DappRadar, перевищила 12 000.
Джерело: DAppRadar
DApp має багато схожості з додатком у традиційному Інтернеті, а зв’язок між DApp і блокчейном схожий на зв’язок між додатком та операційними системами, такими як IOS або Android. DApp працює на блокчейнах, так само як додаток працює на різних операційних системах. Використання DApp у браузері може здаватися користувачем схожим на використання програмного забезпечення SaaS.
Типовий DApp складається з трьох частин із подібною функціональністю до типової трирівневої структури додатка: бек-енд (бізнес-модуль), база даних (модуль зберігання) та інтерфейс (інтерфейс користувача).
Розумні контракти служать програмною основою для реалізації бізнес-логіки DApp. Смарт-контракти зберігаються в блокчейні за адресами контрактів, а вхідні дані передаються між адресами контрактів для реалізації функцій DApp відповідно до попередньо визначеної логіки та запуску перетворення стану всієї віртуальної машини. Однак, на відміну від традиційного додатка, смарт-контракт також зберігає поточний стан DApp, що також є природою самого блокчейну.
Процес потоку даних лежить в основі будь-якої програми або DApp. Дані передаються з модуля зберігання в бізнес-модуль для обробки, щоб користувачі могли взаємодіяти з інтерфейсом. Дані програми зазвичай зберігаються на централізованому сервері, тоді як дані DApp можуть зберігатися повністю в ланцюжку; однак з міркувань ефективності та вартості багато DApps зберігають більшість даних поза ланцюгом, у таких службах, як IPFS, і зберігаючи лише важливі дані бізнес-модулів у ланцюзі блоків.
Інтерфейс – це місце, де звичайні користувачі можуть легко отримати доступ до коду смарт-контракту навіть без детальних знань програмування. Існує невелика різниця в інтерфейсній розробці між DApp і App; обидва створені за допомогою загальних технологій, таких як HTML і JavaScript. Однак, оскільки для використання DApp потрібна взаємодія зі смарт-контрактами, інтерфейс має забезпечувати програмний інтерфейс, який підтримує додатки гаманця (такі як Metamask).
Джерело: Ethereum DApp Architecture Джерело: The Architecture of a Web3 Application
DApps мають такі функції порівняно з традиційними програмами:
DApps покладаються не на централізовані сервери, а на блокчейни, які працюють на децентралізованих віртуальних машинах. Це основні функції DApps, але вони також мають деякі вагомі переваги та недоліки:
Якщо централізований сервер виходить з ладу, програма буде повністю недоступна; однак для DApp відключення одного вузла не впливає на роботу програми в блокчейні. Додатки DApp часто мають нижчі операційні витрати, ніж традиційні додатки, оскільки смарт-контракти ніколи не припиняють працювати, коли вони потрапляють у ланцюг. DApps часто мають нижчі операційні витрати, ніж традиційні програми.
Взаємодія з DApps здійснюється виключно через адресу гаманця без необхідності надавати повну особисту інформацію, коли ви подаєте заявку на загальний фінансовий рахунок. Це не тільки усуває необхідність розкривати особисту конфіденційність, але й значно знижує поріг, щоб будь-хто з крипто-гаманцем міг легко отримати доступ до більшості DApps.
Через функцію блокчейну, яка захищає від втручання, DApps покладаються на логіку коду смарт-контрактів для роботи, тому після завантаження в ланцюжок його неможливо змінити, якщо розробник не залишить дозвіл на його зміну; і як тільки додаток буде розгорнуто, він існуватиме вічно, і теоретично неможливо обмежити доступ будь-кого у світі.
Через децентралізацію DApp зазвичай працюють менш ефективно, ніж традиційні програми, і навіть можуть бути тимчасово недоступними через перевантаження блокчейну.
Через обмежену обробну здатність віртуальної машини блокчейн користувачам потрібно сплачувати певну суму плати за газ мережі за взаємодію з Dapp, що важко для користувачів, які звикли до традиційних безкоштовних програм.
Коли код смарт-контракту включено в ланцюжок, його важко змінити, що ускладнює розробку та підтримку DApp. Також важко вчасно виправити код, якщо він вийшов з ладу.
Оскільки блокчейн децентралізований, код DApp має бути загальнодоступним для всіх учасників спільноти. Це також дозволяє користувачам аналізувати свій код і прогнозувати потенціал проекту.
Функції DApps часто реалізуються через різні токени, або токен відповідного блокчейну (наприклад, ETH), або токен, виданий самим DApp (наприклад, UNI).
Хоча екосистема DApp швидко розвивається, загальний вплив DApps залишається обмеженим порівняно з додатками світового рівня в Web2. Під час еко-впровадження DApp можуть виникнути такі вузькі місця.
1. Масштаб користувача та поріг навчання:
З точки зору UAW, лише близько 100 даних DApps перевищують 10 000. Навіть найпопулярніші DApps отримують лише сотні тисяч незалежних адрес на день, що безумовно тьмяне в порівнянні з простором Web2.
Користувачі повинні отримати базові знання, такі як гаманці та блокчейни, щоб використовувати DApps. Таким чином, перехід із програм Web2 на DApps призведе до витрат на навчання. На даний момент обіцяні антицензурні функції та функції конфіденційності DApps не продемонстрували своєї фактичної цінності, через що DApps залишаються нішевим продуктом серед криптографів.
2. Ітерація продукту та ризики безпеки
Щоб привернути увагу користувачів і підвищити якість продукту в роботі, продукти в Web2 часто дотримуються правила розробки «маленькі кроки, швидка ітерація». Однак важко змінити код контракту DApp після того, як він виходить в Інтернет. Якщо після запуску в коді будуть серйозні помилки, це призведе до серйозних наслідків. Як наслідок, власник проекту повинен виконати повний дизайн продукту та аудит коду, перш ніж DApp підключиться до мережі, щоб уникнути всіх можливих проблем.
3. Публічна інфраструктура блокчейну
Ethereum, поточний розумний публічний ланцюг номер один, страждає від низької ефективності та високої вартості. Порівняно з 24 000 TPS у VISA, TPS Ethereum, який становить близько 15, недостатній для досягнення його бачення стати «глобальним рівнем розрахунків». Час покаже, чи зможе майбутній блокчейн пробити неможливий трикутник і знайти баланс між ефективністю, безпекою та децентралізацією.
DApps мають вирішальне значення для наступного покоління Інтернету, відомого як Web3, і можуть започаткувати нову бізнес-модель для інформаційної галузі. Що стосується зручності використання, DApps дуже схожі на програми Web2, але DApps мають відмінні особливості антицензури та конфіденційності.
Крім того, використання DApps вимагає підключення до гаманця, що робить його тісно пов’язаним з особистою власністю користувача. Щоб уникнути втрати майна, ви повинні ретельно оцінити безпеку DApp перед тим, як підключити до нього свій гаманець. Найкраще вибрати DApp з надійним аудитом коду агентства.