Permaweb — це архітектура Інтернету наступного покоління, запропонована Arweave Ecology. Permaweb підкреслює, що програми та веб-сайти є постійно доступними. Це дозволяє Інтернету зберігати спогади та ніколи їх не забувати. У той же час Permaweb має функцію Severless. Розробникам не потрібно розгортати front-end і back-end під час процесу будівництва. Усі розроблені сервіси надаватимуться базовим рівнем обслуговування Permaweb.
Щоб дізнатися більше про концепцію та бачення Permaweb, ви можете прочитати «Потенціал Arweave — відродити Олександрійську бібліотеку, а не заміну Filecoin», написану вчителем Лю І, щоб дізнатися більше про концепцію Permaweb.
Ця стаття інтерпретує Permaweb з технічної точки зору в поєднанні з теорією SCP.
Базова структура
Permaweb використовує трирівневу архітектуру, верхній рівень – це прикладний рівень, який є орієнтованим на користувача інтерфейсом. Середній рівень — це сервісний рівень, який надає серверні послуги для програми. Нижній рівень — це рівень зберігання, який використовує Arweave для надання послуг зберігання даних для програм.
Архітектура Permaweb мало чим відрізняється від архітектури Web2.Рівень додатків відповідає традиційному інтерфейсу Web2, рівень обслуговування відповідає бек-енду, а рівень зберігання відповідає фізичному серверу або базі даних.
Використання децентралізованого сховища є найбільшою відмінністю між Permaweb і Web2. Після того, як програма Permaweb інтегрує постійне сховище Arweave, стане дуже важко підробити та стерти вміст програми, і програма отримає властивість децентралізації. Хоча архітектура Permaweb має зовнішню схожість з Web2, її базова технологія та філософія дизайну мають фундаментальні відмінності.
Архітектура програми Permaweb показана на малюнку нижче
Зображення зповареної книги Permaweb
Нижче буде детально представлено трирівневу архітектуру Permaweb
рівень зберігання
Рівень зберігання є ядром Permaweb. Якщо рівень зберігання не використовує технологію блокчейн, не буде різниці між Permaweb і Web2. Рівень зберігання Permaweb не обов’язково обмежується Arweave. Теоретично також можна використовувати Bitcoin або Ethereum як рівень зберігання для створення повного Permaweb, але розробникам і користувачам важко дозволити собі надмірні витрати на зберігання. Arweave наразі є найпрофесійнішим блокчейном для постійного зберігання, і він коштує лише 5 доларів США за 1 ГБ, що є найкращим вибором для Permaweb.
Отже, чи може рівень зберігання використовувати IPFS? Якщо використовується IPFS, Permaweb втратить функцію відстеження даних. CID даних IPFS може гарантувати, що їх неможливо змінити, але IPFS не використовує технологію блокчейн. Дані IPFS не мають мітки часу блоку, тому неможливо визначити, коли дані були згенеровані; водночас дані будуть втрачені після закриття вузла служби IPFS, і немає гарантії, що дані будуть назавжди простежуваний.
Сервісний рівень
Як уніфіковане проміжне програмне забезпечення, сервісний рівень надає API для програм, подібних до кластерів мікросервісів Web2, які не мають статусу та можуть розширюватися горизонтально. Зазвичай сервісний рівень Permaweb надає стандартизовані інтерфейси та протоколи (подібні до Web2 gRPC або Thrift із повністю відкритим вихідним кодом і відкритими протоколами), ці інтерфейси та протоколи є повністю відкритими та відкритими, і будь-який постачальник послуг, який розгортає послуги, може надавати те саме API відповідно до стандартів протоколу. Будь-яка програма може працювати та використовуватися на різних службах, якщо вона розроблена з використанням стандартних протоколів.
Наразі сервісний рівень Arweave містить чотири основні компоненти, а саме:
Служба шлюзу: кешуватиме дані Arweave, які часто використовуються. Такі як arweave.asia, arweave.dev, g8way.io, arweave.world тощо.
**Сервіс зв’язування даних (пакетування даних у пакетах): **Використовуйте стандарт Arweave ANS-104 для пакетного пакетування великої кількості даних до Arweave. Такі як bundlr, arseeding тощо. Дані ANS-104 також можна отримати за допомогою GraphQL.
**Послуги серіалізації: **Послуги смарт-контрактів, платіжні послуги тощо. Такі як Warp, everPay тощо.
**Сервіс індексування: **Сервіс пошуку тегів Arweave, сервіс повнотекстового індексування. Такі як Adot, KNN3, goldsky тощо.
Поточний стандартний протокол включає лише чотири вищезазначені модулі, а сервісний рівень Permaweb може розширити новий стандарт у майбутньому.
Прикладний рівень
Програми Permaweb мають безсерверні функції, розробникам не потрібно розгортати сервери. Оскільки сервісний рівень забезпечує стандартний інтерфейс для прикладного рівня, програми, розроблені відповідно до специфікацій, можна відкривати та використовувати на будь-якому сервісному рівні.
**Взаємодія: **Користувачам потрібно лише взаємодіяти з рівнем обслуговування, і не потрібно взаємодіяти з базовим блокчейном.
**Завантаження ресурсів: **Стандартизований шлюз — це всі файлові ресурси, які мають бути завантажені інтерфейсом Permaweb. Відповідно до стандарту Manifest, ці файлові ресурси організовують ресурси на рівні зберігання у форматі каталогу, що зручно для завантаження та збирання веб-протоколів.
**Запис даних: **Запис Permaweb зазвичай використовує стандарт ANS-104 на Arweave, який підтримує запис великомасштабних даних. Пакет послуг, реалізований ANS-104, робить досвід написання Permaweb точно таким же, як і Web2.
**Запит даних та індексація: **Стандартизована служба індексації дозволяє Permaweb динамічно завантажувати вміст. Для створення індексу не потрібно чекати, поки дані будуть остаточно упаковані в Arweave.Після того, як дані завантажуються до пакетної служби, ефективний індекс програми може бути згенерований у режимі реального часу, надаючи користувачам можливості запиту даних у режимі реального часу. .
Підводячи підсумок, Permaweb може досягти того самого досвіду, що й Web2, з точки зору взаємодії.
**Стійкість до цензури: ** Стандартні протоколи та інтерфейси забезпечують стійкість програм до цензури. Наведена нижче URL-адреса є програмою Permaweb під назвою кулінарна книга:
Можна виявити, що доступ до програми кулінарної книги можна отримати, відкривши будь-яку URL-адресу, а веб-сайт обслуговується різними шлюзами та серверами по всьому світу. Якщо arweave.asia стає недоступним, користувачі все ще можуть використовувати кілька інших URL-адрес, щоб продовжити використання програми. Навіть якщо всі шлюзи закриті, дані кулінарної книги зберігаються в Arweave, і дані не будуть втрачені, тому постачальник послуг може відновити програму кулінарної книги в будь-який час.
Використання постійного сховища Arweave як рівня зберігання може гарантувати децентралізацію даних кожної програми Permaweb; використання стандартизованого протоколу з відкритим вихідним кодом як рівня обслуговування може уникнути ризику перевірки, викликаного відключенням окремих серверів через форс-мажорні обставини. Додатки Permaweb є децентралізованими та антицензурними.
Мікросервісна версія SCP
Архітектура Permaweb схожа на архітектуру традиційного Web 2. По суті, Permaweb являє собою набір архітектури мікросервісних додатків на основі децентралізованого сховища.
Мікросервіси — це шаблон архітектури програмного забезпечення, що використовується в розробці Web2, який розбиває великий і складний додаток на низку менших, більш незалежних одиниць обслуговування. Кожен мікросервіс є незалежним функціональним модулем, який можна розробляти, розгортати та запускати незалежно. Ці мікросервіси спілкуються один з одним через чітко визначені API, які можна реалізувати за допомогою спрощених протоколів зв’язку, таких як HTTP або черги повідомлень.
Загальна архітектура Permaweb дуже схожа на мікросервіси, і кожна програма Permaweb складається зі стандартизованих і незалежних сервісних одиниць. Така сама концепція дизайну дає Permaweb можливість створювати великі та складні програми.
Відмінність від традиційних мікросервісів полягає в тому, що Permaweb відповідає SCP і є програмою, заснованою на консенсусі зберігання. Permaweb — це версія архітектури мікросервісу SCP.
Що таке SCP (консенсусна парадигма на основі зберігання)? Базуючись на парадигмі консенсусу на основі сховища, основна ідея полягає в тому, що поки сховище є незмінним і вищевказані транзакції можна відстежити, єдиним результатом буде застосування та обчислення будь-де, і консенсус можна отримати. Особливістю SCP є те, що базові дані можуть мати необмежену кількість комбінацій. За умови дотримання стандартів даних і складання даних програма може генерувати унікальний стан із будь-якого рівня зберігання або навіть об’єднувати декілька рівнів зберігання разом.
При використанні SCP для розробки додатків традиційна архітектура додатків не вимагає багато налаштувань, потрібно лише замінити БД (рівень зберігання) на блокчейн-сховище, яке не піддається підробці та відстежується.
Перевага
Програми, розроблені з використанням цієї децентралізованої мікросервісної архітектури, можуть отримати ті самі характеристики, що й блокчейн, включаючи децентралізацію, незмінність, відстежуваність, антицензуру тощо.
Як і традиційна архітектура мікросервісу, ця архітектура має наступні переваги розробки:
**1. Модульність і ремонтопридатність: **Незалежні служби, кожна з яких відповідає за певну функцію. Ця стандартизована модульна конструкція дає змогу незалежно розробляти, тестувати, розгортати та підтримувати кожну службу, що покращує зручність обслуговування та гнучкість програми.
**2. Незалежність: **Кожну службу можуть розробляти та підтримувати різні команди. Це більше відповідає характеристикам DAO, дозволяючи різним організаціям і окремим особам забезпечувати найкращу продуктивність і швидкість розробки для Permaweb, а також дозволяючи розробникам вибирати найбільш підходящий стек технологій і інструменти. В екосистемі Arweave ми бачимо, що різні команди надають різні послуги.Наприклад, ar.io надає шлюзи, bundlr і open source arseeding надають послуги зв’язування даних, everPay і Permaswap надають спеціалізовані фінансові послуги тощо.
**3. Масштабованість: **Незалежні служби можуть за потреби масштабувати певні служби горизонтально. Можна навіть порівняти, що кожна служба є сегментом, згаданим в ETH 2.0, але Permaweb не має обмежень на кількість шардів і може нескінченно розширюватися горизонтально. Крім того, той самий стандарт протоколу також може надавати різні служби наборів даних, наприклад деякі шлюзи, щоб оптимізувати швидкість доступу певних програм, вони можуть лише кешувати та обробляти дані конкретних програм.
**4. Висока доступність: ** З кількома доступними шлюзами (мікросервісами) програма не матиме жодної точки збою та має кращу доступність.
Ця архітектура успадковує всі переваги архітектури мікросервісів і розриває проблему неможливого трикутника блокчейн-додатків. Традиційні блокчейн-програми повинні відмовитися від певної функції серед продуктивності, безпеки та децентралізації, щоб забезпечити цілісність двох інших функцій. Відповідно до теорії SCP, завдяки використанню багаторівневої архітектури, консенсус буде гарантовано рівнем зберігання та загальним протоколом.Наразі децентралізація не повинна бути сильно пов’язана з кількістю вузлів, а з ступінь відкритості (open source) протоколу. Коли ми говоримо про децентралізацію Ethereum, окрім розгляду кількості їхніх вузлів, ми також повинні розуміти, що саме програмне забезпечення Ethereum є стандартним протоколом.Користувачі та майнери використовують той самий набір протоколів для досягнення консенсусу, який може сформувати високий ступінь консенсусу централізований. У випадку з Ethereum переважна більшість користувачів і розробників зараз користуються послугами, які надає infura.io.Хоча infura.io є централізованим сервісом, користувачі можуть розгорнути протокол Ethereum у будь-який час і використовувати автономний доступ до мережі. Подібним чином децентралізовані мікросервіси також можуть відповідати вищезазначеним характеристикам, але децентралізовані мікросервіси не є окремою архітектурою віртуальної машини (наприклад, EVM), а є більш гнучкими та ближчими до теоретичної моделі традиційної архітектури.Це поєднання мікросервісів і теорії SCP. Народження наступного покоління децентралізованої архітектури Інтернету.
Практика: від Arweave, за межами Arweave
Наразі Permaweb має лише чотири служби шлюзу, прив’язки даних, серіалізації та індексації, і ці служби сформували певні стандарти. Отже, як саме виглядає екземпляр Permaweb? Зокрема, як створити Permaweb за допомогою чотирьох стандартних сервісів?
Подати заявку
Це програма Permaweb (далі Now), яка є комунікаційною платформою для екологічних розробників Arweave. Основна функція Now полягає в тому, що користувачі створюють блоги, і вони можуть лайкати цей вміст.
Усі дані Now зберігаються в Arweave, а незмінний рівень зберігання забезпечує децентралізацію Now. Коли користувач відкриває Now, браузер спочатку завантажує зовнішню структуру зі служби шлюзу Arweave, як показано на малюнку нижче, структура сторінки в основному включає компонент заголовка Now і не включає дані відображення програми Now. .
Після того, як браузер завантажить структуру програми, ми бачимо, що частина відображення вмісту Now відображатиме позначки завантаження. У цей час програма Now ініціює запит GraphQL для отримання даних програми. Зачекайте кілька секунд, доки завершиться отримання, і програма Now відобразить останні коментарі користувачів і оцінки "подобається" (Stampers), як показано на малюнку нижче:
На цій сторінці структура ініціалізації та всі дані користувача, а також усі зображення, представлені на сторінці, отримані через шлюз. Ці елементи будуть обчислені та зібрані в браузері, щоб сформувати повну сторінку Now. Шлюз забезпечує можливість статичного завантаження ресурсів, а служба індексування забезпечує можливість динамічного завантаження даних.
Коли користувач хоче додати блог, він може використовувати свій гаманець для завантаження вмісту в Arweave. Цей вміст буде позначено спеціальними тегами, щоб Index Service міг забезпечити функцію запиту GraphQL для цього вмісту. Після успішного завантаження блогу знову оновіть програму Now, і новий вміст відобразиться на екрані вмісту програми.
На малюнку вище показано основний процес запису та читання Permaweb. У практичних програмах і запис, і читання Permaweb виконуватимуться через сервісний рівень.
Масштабувати
Найбільшою перевагою мікросервісів є масштабованість, яка буде повністю успадкована від програми Now. Ми можемо отримати доступ до Now за допомогою будь-якого шлюзу:
/
Подібні шлюзи можна нескінченно масштабувати, забезпечуючи додаткам Now майже безмежну продуктивність.
Найкращі методи SCP
В архітектурі Permaweb нижній рівень використовує лише Arweave як рівень зберігання. Але децентралізовані мікросервіси не повинні обмежуватися цим. Ми повинні глибоко засвоїти переваги Permaweb і архітектури мікросервісів, щоб вивчити найкращі інженерні практики SCP.
Наведене нижче зображення взято зі статті «Консенсусні зміни, шлях до розвитку парадигми блокчейн-додатків», яка описує майбутню архітектуру блокчейн-додатків — користувачі взаємодіють не з самою системою блокчейну, а взаємодіють із сервісним рівнем. Програми Blockchain пройшли процес еволюції від малюнка 1 до малюнка 3, більше вмісту можна прочитати:
Як видно з малюнку 3 вище, блокчейн, на який покладається програма, не обмежується Arweave, а Bitcoin та Ethereum також є об’єктами блокчейну. Ці блокчейни служать джерелом консенсусу для програми, забезпечуючи децентралізацію та надійні гарантії для додаток . Подібним чином Permaweb і децентралізовані мікросервіси також можна розширити, і рівень зберігання не потребує обмеження Arweave. У той же час Bitcoin і Ethereum також можна використовувати як рівень зберігання. У цей час рівень зберігання також може бути іншим типи блокчейнів. Нижче наведено можливу найкращу архітектуру:
Ми використовуємо порядок знизу вгору для опису:
**Рівень консенсусу: **Після розширення Permaweb більше не можна називати рівень зберігання. Ми перейменували початковий рівень зберігання на рівень консенсусу. Консенсусним рівнем може бути будь-яка система блокчейн, і ці системи не піддаються втручанню та відстежуються.
**Сервісний рівень: **Найбільша відмінність між сервісним рівнем і Permaweb полягає в тому, що нижній рівень стандартного протоколу не обмежується сховищем Arweave, і мікросервіси можна встановити для будь-якої системи блокчейн. Взявши як приклад службу індексування, Nansen надає можливості запиту даних для існуючого загальнодоступного ланцюга EVM, і багато Dapps і зовнішні дані можуть безпосередньо використовувати Nansen як джерело даних. KNN3 також надає аналогічні можливості індексування, створюючи стандартизований реляційний рівень запиту для даних блокчейну, а KNN3 також надає можливості індексування сховища, сумісні з Arweave GraphQL. У цій архітектурі мікросервіси мають більше стандартів і кращу сумісність рівня консенсусу.
**Прикладний рівень: **Не обмежуючись додатками Permaweb, ця архітектура може одночасно підтримувати децентралізовані додатки (Web3) і додатки Web2 і повністю сумісна з оригінальною системою архітектури.
Підсумуйте
Коли ми оглядаємося на еволюцію інженерії комп’ютерного програмного забезпечення за останні 30 років і думаємо про еволюцію інженерії блокчейну за останні 10 років, ми повинні подумати про те, чи глобальна віртуальна машина (така як EVM) плюс розширення рівня 2 рішення є остаточною децентралізованою системою.
Ця стаття не заглиблюється в реалізацію Layer2 або технології шардингу, але надає іншу можливість застосування блокчейну. У цій статті як приклад розглядається Permaweb екосистеми Arweave в поєднанні з ідеєю парадигми консенсусу зберігання (SCP) і архітектури мікросервісу для реорганізації інженерно здійсненного рішення. Це рішення не тільки має сильні можливості розширення, але також дозволяє додатку мати характеристики децентралізації. Що ще важливіше, рішення є не дзеркальним відображенням, а архітектурною системою, яка вже відпрацьована в інженерії.
Посилання
1. Потенціал Arweave полягає у відродженні Олександрійської бібліотеки, а не в заміні Filecoin
2. Еволюція консенсусу, еволюція парадигми застосування блокчейну
3. Приготування їжі за допомогою Permaweb
4. Блокчейн-сховище ARWEAVE: паперова стрічка машини Тьюрінга, нова парадигма довірених обчислень
5. Коротка історія розвитку Arweave та консенсусної парадигми зберігання
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Розкриття прототипу наступного покоління Internet Permaweb: децентралізована мікросервісна архітектура за теорією SCP
Автор: Outprog @ Contributor PermaDAO
Рецензент: Xiaosong HU @ Contributor PermaDAO
Permaweb — це архітектура Інтернету наступного покоління, запропонована Arweave Ecology. Permaweb підкреслює, що програми та веб-сайти є постійно доступними. Це дозволяє Інтернету зберігати спогади та ніколи їх не забувати. У той же час Permaweb має функцію Severless. Розробникам не потрібно розгортати front-end і back-end під час процесу будівництва. Усі розроблені сервіси надаватимуться базовим рівнем обслуговування Permaweb.
Щоб дізнатися більше про концепцію та бачення Permaweb, ви можете прочитати «Потенціал Arweave — відродити Олександрійську бібліотеку, а не заміну Filecoin», написану вчителем Лю І, щоб дізнатися більше про концепцію Permaweb.
Ця стаття інтерпретує Permaweb з технічної точки зору в поєднанні з теорією SCP.
Базова структура
Permaweb використовує трирівневу архітектуру, верхній рівень – це прикладний рівень, який є орієнтованим на користувача інтерфейсом. Середній рівень — це сервісний рівень, який надає серверні послуги для програми. Нижній рівень — це рівень зберігання, який використовує Arweave для надання послуг зберігання даних для програм.
Архітектура Permaweb мало чим відрізняється від архітектури Web2.Рівень додатків відповідає традиційному інтерфейсу Web2, рівень обслуговування відповідає бек-енду, а рівень зберігання відповідає фізичному серверу або базі даних.
Використання децентралізованого сховища є найбільшою відмінністю між Permaweb і Web2. Після того, як програма Permaweb інтегрує постійне сховище Arweave, стане дуже важко підробити та стерти вміст програми, і програма отримає властивість децентралізації. Хоча архітектура Permaweb має зовнішню схожість з Web2, її базова технологія та філософія дизайну мають фундаментальні відмінності.
Архітектура програми Permaweb показана на малюнку нижче
Зображення з повареної книги Permaweb
Нижче буде детально представлено трирівневу архітектуру Permaweb
рівень зберігання
Рівень зберігання є ядром Permaweb. Якщо рівень зберігання не використовує технологію блокчейн, не буде різниці між Permaweb і Web2. Рівень зберігання Permaweb не обов’язково обмежується Arweave. Теоретично також можна використовувати Bitcoin або Ethereum як рівень зберігання для створення повного Permaweb, але розробникам і користувачам важко дозволити собі надмірні витрати на зберігання. Arweave наразі є найпрофесійнішим блокчейном для постійного зберігання, і він коштує лише 5 доларів США за 1 ГБ, що є найкращим вибором для Permaweb.
Отже, чи може рівень зберігання використовувати IPFS? Якщо використовується IPFS, Permaweb втратить функцію відстеження даних. CID даних IPFS може гарантувати, що їх неможливо змінити, але IPFS не використовує технологію блокчейн. Дані IPFS не мають мітки часу блоку, тому неможливо визначити, коли дані були згенеровані; водночас дані будуть втрачені після закриття вузла служби IPFS, і немає гарантії, що дані будуть назавжди простежуваний.
Сервісний рівень
Як уніфіковане проміжне програмне забезпечення, сервісний рівень надає API для програм, подібних до кластерів мікросервісів Web2, які не мають статусу та можуть розширюватися горизонтально. Зазвичай сервісний рівень Permaweb надає стандартизовані інтерфейси та протоколи (подібні до Web2 gRPC або Thrift із повністю відкритим вихідним кодом і відкритими протоколами), ці інтерфейси та протоколи є повністю відкритими та відкритими, і будь-який постачальник послуг, який розгортає послуги, може надавати те саме API відповідно до стандартів протоколу. Будь-яка програма може працювати та використовуватися на різних службах, якщо вона розроблена з використанням стандартних протоколів.
Наразі сервісний рівень Arweave містить чотири основні компоненти, а саме:
Поточний стандартний протокол включає лише чотири вищезазначені модулі, а сервісний рівень Permaweb може розширити новий стандарт у майбутньому.
Прикладний рівень
Програми Permaweb мають безсерверні функції, розробникам не потрібно розгортати сервери. Оскільки сервісний рівень забезпечує стандартний інтерфейс для прикладного рівня, програми, розроблені відповідно до специфікацій, можна відкривати та використовувати на будь-якому сервісному рівні.
**Взаємодія: **Користувачам потрібно лише взаємодіяти з рівнем обслуговування, і не потрібно взаємодіяти з базовим блокчейном.
Підводячи підсумок, Permaweb може досягти того самого досвіду, що й Web2, з точки зору взаємодії.
**Стійкість до цензури: ** Стандартні протоколи та інтерфейси забезпечують стійкість програм до цензури. Наведена нижче URL-адреса є програмою Permaweb під назвою кулінарна книга:
Можна виявити, що доступ до програми кулінарної книги можна отримати, відкривши будь-яку URL-адресу, а веб-сайт обслуговується різними шлюзами та серверами по всьому світу. Якщо arweave.asia стає недоступним, користувачі все ще можуть використовувати кілька інших URL-адрес, щоб продовжити використання програми. Навіть якщо всі шлюзи закриті, дані кулінарної книги зберігаються в Arweave, і дані не будуть втрачені, тому постачальник послуг може відновити програму кулінарної книги в будь-який час.
Використання постійного сховища Arweave як рівня зберігання може гарантувати децентралізацію даних кожної програми Permaweb; використання стандартизованого протоколу з відкритим вихідним кодом як рівня обслуговування може уникнути ризику перевірки, викликаного відключенням окремих серверів через форс-мажорні обставини. Додатки Permaweb є децентралізованими та антицензурними.
Мікросервісна версія SCP
Архітектура Permaweb схожа на архітектуру традиційного Web 2. По суті, Permaweb являє собою набір архітектури мікросервісних додатків на основі децентралізованого сховища.
Мікросервіси — це шаблон архітектури програмного забезпечення, що використовується в розробці Web2, який розбиває великий і складний додаток на низку менших, більш незалежних одиниць обслуговування. Кожен мікросервіс є незалежним функціональним модулем, який можна розробляти, розгортати та запускати незалежно. Ці мікросервіси спілкуються один з одним через чітко визначені API, які можна реалізувати за допомогою спрощених протоколів зв’язку, таких як HTTP або черги повідомлень.
Загальна архітектура Permaweb дуже схожа на мікросервіси, і кожна програма Permaweb складається зі стандартизованих і незалежних сервісних одиниць. Така сама концепція дизайну дає Permaweb можливість створювати великі та складні програми.
Відмінність від традиційних мікросервісів полягає в тому, що Permaweb відповідає SCP і є програмою, заснованою на консенсусі зберігання. Permaweb — це версія архітектури мікросервісу SCP.
При використанні SCP для розробки додатків традиційна архітектура додатків не вимагає багато налаштувань, потрібно лише замінити БД (рівень зберігання) на блокчейн-сховище, яке не піддається підробці та відстежується.
Перевага
Програми, розроблені з використанням цієї децентралізованої мікросервісної архітектури, можуть отримати ті самі характеристики, що й блокчейн, включаючи децентралізацію, незмінність, відстежуваність, антицензуру тощо.
Як і традиційна архітектура мікросервісу, ця архітектура має наступні переваги розробки:
**1. Модульність і ремонтопридатність: **Незалежні служби, кожна з яких відповідає за певну функцію. Ця стандартизована модульна конструкція дає змогу незалежно розробляти, тестувати, розгортати та підтримувати кожну службу, що покращує зручність обслуговування та гнучкість програми.
**2. Незалежність: **Кожну службу можуть розробляти та підтримувати різні команди. Це більше відповідає характеристикам DAO, дозволяючи різним організаціям і окремим особам забезпечувати найкращу продуктивність і швидкість розробки для Permaweb, а також дозволяючи розробникам вибирати найбільш підходящий стек технологій і інструменти. В екосистемі Arweave ми бачимо, що різні команди надають різні послуги.Наприклад, ar.io надає шлюзи, bundlr і open source arseeding надають послуги зв’язування даних, everPay і Permaswap надають спеціалізовані фінансові послуги тощо.
**3. Масштабованість: **Незалежні служби можуть за потреби масштабувати певні служби горизонтально. Можна навіть порівняти, що кожна служба є сегментом, згаданим в ETH 2.0, але Permaweb не має обмежень на кількість шардів і може нескінченно розширюватися горизонтально. Крім того, той самий стандарт протоколу також може надавати різні служби наборів даних, наприклад деякі шлюзи, щоб оптимізувати швидкість доступу певних програм, вони можуть лише кешувати та обробляти дані конкретних програм.
**4. Висока доступність: ** З кількома доступними шлюзами (мікросервісами) програма не матиме жодної точки збою та має кращу доступність.
Ця архітектура успадковує всі переваги архітектури мікросервісів і розриває проблему неможливого трикутника блокчейн-додатків. Традиційні блокчейн-програми повинні відмовитися від певної функції серед продуктивності, безпеки та децентралізації, щоб забезпечити цілісність двох інших функцій. Відповідно до теорії SCP, завдяки використанню багаторівневої архітектури, консенсус буде гарантовано рівнем зберігання та загальним протоколом.Наразі децентралізація не повинна бути сильно пов’язана з кількістю вузлів, а з ступінь відкритості (open source) протоколу. Коли ми говоримо про децентралізацію Ethereum, окрім розгляду кількості їхніх вузлів, ми також повинні розуміти, що саме програмне забезпечення Ethereum є стандартним протоколом.Користувачі та майнери використовують той самий набір протоколів для досягнення консенсусу, який може сформувати високий ступінь консенсусу централізований. У випадку з Ethereum переважна більшість користувачів і розробників зараз користуються послугами, які надає infura.io.Хоча infura.io є централізованим сервісом, користувачі можуть розгорнути протокол Ethereum у будь-який час і використовувати автономний доступ до мережі. Подібним чином децентралізовані мікросервіси також можуть відповідати вищезазначеним характеристикам, але децентралізовані мікросервіси не є окремою архітектурою віртуальної машини (наприклад, EVM), а є більш гнучкими та ближчими до теоретичної моделі традиційної архітектури.Це поєднання мікросервісів і теорії SCP. Народження наступного покоління децентралізованої архітектури Інтернету.
Практика: від Arweave, за межами Arweave
Наразі Permaweb має лише чотири служби шлюзу, прив’язки даних, серіалізації та індексації, і ці служби сформували певні стандарти. Отже, як саме виглядає екземпляр Permaweb? Зокрема, як створити Permaweb за допомогою чотирьох стандартних сервісів?
Подати заявку
Це програма Permaweb (далі Now), яка є комунікаційною платформою для екологічних розробників Arweave. Основна функція Now полягає в тому, що користувачі створюють блоги, і вони можуть лайкати цей вміст.
Усі дані Now зберігаються в Arweave, а незмінний рівень зберігання забезпечує децентралізацію Now. Коли користувач відкриває Now, браузер спочатку завантажує зовнішню структуру зі служби шлюзу Arweave, як показано на малюнку нижче, структура сторінки в основному включає компонент заголовка Now і не включає дані відображення програми Now. .
Після того, як браузер завантажить структуру програми, ми бачимо, що частина відображення вмісту Now відображатиме позначки завантаження. У цей час програма Now ініціює запит GraphQL для отримання даних програми. Зачекайте кілька секунд, доки завершиться отримання, і програма Now відобразить останні коментарі користувачів і оцінки "подобається" (Stampers), як показано на малюнку нижче:
На цій сторінці структура ініціалізації та всі дані користувача, а також усі зображення, представлені на сторінці, отримані через шлюз. Ці елементи будуть обчислені та зібрані в браузері, щоб сформувати повну сторінку Now. Шлюз забезпечує можливість статичного завантаження ресурсів, а служба індексування забезпечує можливість динамічного завантаження даних.
Коли користувач хоче додати блог, він може використовувати свій гаманець для завантаження вмісту в Arweave. Цей вміст буде позначено спеціальними тегами, щоб Index Service міг забезпечити функцію запиту GraphQL для цього вмісту. Після успішного завантаження блогу знову оновіть програму Now, і новий вміст відобразиться на екрані вмісту програми.
На малюнку вище показано основний процес запису та читання Permaweb. У практичних програмах і запис, і читання Permaweb виконуватимуться через сервісний рівень.
Масштабувати
Найбільшою перевагою мікросервісів є масштабованість, яка буде повністю успадкована від програми Now. Ми можемо отримати доступ до Now за допомогою будь-якого шлюзу:
Подібні шлюзи можна нескінченно масштабувати, забезпечуючи додаткам Now майже безмежну продуктивність.
Найкращі методи SCP
В архітектурі Permaweb нижній рівень використовує лише Arweave як рівень зберігання. Але децентралізовані мікросервіси не повинні обмежуватися цим. Ми повинні глибоко засвоїти переваги Permaweb і архітектури мікросервісів, щоб вивчити найкращі інженерні практики SCP.
Наведене нижче зображення взято зі статті «Консенсусні зміни, шлях до розвитку парадигми блокчейн-додатків», яка описує майбутню архітектуру блокчейн-додатків — користувачі взаємодіють не з самою системою блокчейну, а взаємодіють із сервісним рівнем. Програми Blockchain пройшли процес еволюції від малюнка 1 до малюнка 3, більше вмісту можна прочитати:
Як видно з малюнку 3 вище, блокчейн, на який покладається програма, не обмежується Arweave, а Bitcoin та Ethereum також є об’єктами блокчейну. Ці блокчейни служать джерелом консенсусу для програми, забезпечуючи децентралізацію та надійні гарантії для додаток . Подібним чином Permaweb і децентралізовані мікросервіси також можна розширити, і рівень зберігання не потребує обмеження Arweave. У той же час Bitcoin і Ethereum також можна використовувати як рівень зберігання. У цей час рівень зберігання також може бути іншим типи блокчейнів. Нижче наведено можливу найкращу архітектуру:
Ми використовуємо порядок знизу вгору для опису:
Підсумуйте
Коли ми оглядаємося на еволюцію інженерії комп’ютерного програмного забезпечення за останні 30 років і думаємо про еволюцію інженерії блокчейну за останні 10 років, ми повинні подумати про те, чи глобальна віртуальна машина (така як EVM) плюс розширення рівня 2 рішення є остаточною децентралізованою системою.
Ця стаття не заглиблюється в реалізацію Layer2 або технології шардингу, але надає іншу можливість застосування блокчейну. У цій статті як приклад розглядається Permaweb екосистеми Arweave в поєднанні з ідеєю парадигми консенсусу зберігання (SCP) і архітектури мікросервісу для реорганізації інженерно здійсненного рішення. Це рішення не тільки має сильні можливості розширення, але також дозволяє додатку мати характеристики децентралізації. Що ще важливіше, рішення є не дзеркальним відображенням, а архітектурною системою, яка вже відпрацьована в інженерії.
Посилання
1. Потенціал Arweave полягає у відродженні Олександрійської бібліотеки, а не в заміні Filecoin
2. Еволюція консенсусу, еволюція парадигми застосування блокчейну
3. Приготування їжі за допомогою Permaweb
4. Блокчейн-сховище ARWEAVE: паперова стрічка машини Тьюрінга, нова парадигма довірених обчислень
5. Коротка історія розвитку Arweave та консенсусної парадигми зберігання