Permaweb — это интернет-архитектура следующего поколения, предложенная Arweave Ecology. Permaweb подчеркивает, что приложения и веб-сайты доступны постоянно. Это позволяет Интернету сохранять воспоминания и никогда их не забывать. В то же время Permaweb имеет функцию Severless: разработчикам не нужно разворачивать интерфейс и серверную часть в процессе строительства, все разрабатываемые сервисы будут предоставляться базовым сервисным уровнем 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. Теоретически также можно использовать Биткойн или Эфириум в качестве уровня хранения для создания полноценной сети Permaweb, но разработчикам и пользователям трудно позволить себе чрезмерные затраты на хранение. Arweave в настоящее время является самым профессиональным блокчейном для постоянного хранения, и он стоит всего 5 долларов за 1 ГБ, что является лучшим выбором для Permaweb.
Так может ли уровень хранения использовать IPFS? Если используется IPFS, Permaweb потеряет функцию отслеживания данных.CID данных IPFS может гарантировать невозможность подделки, но IPFS не использует технологию блокчейна. Данные IPFS не имеют временной метки блока, поэтому невозможно сказать, когда данные были сгенерированы; в то же время данные будут потеряны после закрытия сервисного узла IPFS, и нет гарантии, что данные будут постоянно храниться. отслеживаемый.
Сервисный уровень
В качестве унифицированного промежуточного программного обеспечения сервисный уровень предоставляет API-интерфейсы для приложений, аналогичные кластерам микросервисов Web2, которые не имеют состояния и могут расширяться горизонтально. Обычно сервисный уровень Permaweb предоставляет стандартизированные интерфейсы и протоколы (похожие на gRPC или Thrift Web2 с полностью открытым исходным кодом и открытыми протоколами). 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.Согласно стандарту манифеста, эти файловые ресурсы организуют ресурсы на уровне хранилища в формате каталога, что удобно для загрузки и сборки веб-протоколов.
**Запись данных: **Запись Permaweb обычно использует стандарт ANS-104 на Arweave, который может поддерживать крупномасштабную запись данных. Служба пакетов, реализованная ANS-104, делает процесс написания Permaweb точно таким же, как и Web2.
**Запрос данных и индексация: **Стандартная служба индексации позволяет Permaweb динамически загружать контент. Для создания индекса не нужно ждать, пока данные будут окончательно упакованы в Arweave.После того, как данные загружены в службу пакетов, эффективный индекс приложения может быть создан в режиме реального времени, предоставляя пользователям возможности запроса данных в реальном времени. .
Подводя итог, Permaweb может достичь того же опыта, что и Web2, с точки зрения взаимодействия.
Защита от цензуры: Стандартные протоколы и интерфейсы обеспечивают защиту приложений от цензуры. Указанный ниже URL-адрес представляет собой приложение Permaweb с именем cookbook:
Можно обнаружить, что к приложению поваренной книги можно получить доступ, открыв любой 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 и 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 отобразит последние комментарии и лайки пользователей (штамперы), как показано на рисунке ниже:
На этой странице фреймворк инициализации и все пользовательские данные, а также все картинки, представленные на странице, получены через шлюз. Эти элементы будут рассчитаны и собраны в браузере, чтобы сформировать полную страницу Now. Шлюз обеспечивает возможность загрузки статических ресурсов, а служба индексирования обеспечивает возможность загрузки динамических данных.
Когда пользователь хочет добавить блог, он может использовать свой кошелек для загрузки контента в Arweave. Это содержимое будет помечено определенными тегами, чтобы служба индексирования могла предоставить функцию запроса GraphQL для этого содержимого. После успешной загрузки блога снова обновите приложение «Сейчас», и новый контент будет отображаться на дисплее контента приложения.
На рисунке выше показан основной процесс записи и чтения Permaweb. В практических приложениях как запись, так и чтение Permaweb будут выполняться через сервисный уровень.
Масштабирование
Самым большим преимуществом микросервисов является масштабируемость, которая будет полностью унаследована от приложения Now. Мы можем получить доступ к Now, используя любой шлюз:
/
Подобные шлюзы могут масштабироваться бесконечно, обеспечивая почти бесконечную производительность приложений Now.
Рекомендации SCP
В архитектуре Permaweb нижний уровень использует только Arweave в качестве уровня хранения. Но децентрализованные микросервисы не должны ограничиваться этим, мы должны глубоко усвоить преимущества Permaweb и архитектуры микросервисов, чтобы изучить лучшие инженерные практики SCP.
Изображение ниже взято из статьи «Консенсусные изменения, путешествие по эволюции парадигмы блокчейн-приложений», в которой описывается будущая архитектура блокчейн-приложений — пользователи взаимодействуют не с самой системой блокчейна, а с сервисным уровнем. Блокчейн-приложения прошли процесс эволюции от рис. 1 до рис. 3, дополнительную информацию можно прочитать:
Как видно из рисунка 3 выше, блокчейн, на который опирается приложение, не ограничивается Arweave, а Биткойн и Эфириум также являются объектами блокчейна.Эти блокчейны служат источником консенсуса для приложения, обеспечивая децентрализацию и надежные гарантии для приложение . Точно так же Permaweb и децентрализованные микросервисы также могут быть расширены, и уровень хранения не должен ограничивать Arweave. В то же время Биткойн и Ethereum также могут использоваться в качестве уровня хранения. В это время уровень хранения также может быть другим типы блокчейнов. Возможная передовая архитектура показана ниже:
Мы используем порядок снизу вверх для описания:
**Уровень консенсуса: **Называть уровень хранения после расширения Permaweb больше неуместно.Мы переименовали исходный уровень хранения в уровень консенсуса. Уровень консенсуса может быть любой системой блокчейна, и эти системы не поддаются вмешательству и отслеживаются.
**Служебный уровень: **Самая большая разница между сервисным уровнем и Permaweb заключается в том, что нижний уровень стандартного протокола не ограничивается хранилищем Arweave, а микросервисы могут быть установлены для любой системы блокчейна. Взяв в качестве примера службу индексов, Нансен предоставляет возможности запроса данных для существующей общедоступной цепочки EVM, и многие Dapps и интерфейсные данные могут напрямую использовать Нансен в качестве источника данных. KNN3 также предоставляет аналогичные возможности индексирования, создавая стандартизированный уровень реляционных запросов для данных блокчейна, а KNN3 также предоставляет возможности индексирования хранилища, совместимые с Arweave GraphQL. В этой архитектуре микросервисы имеют больше стандартов и лучшую совместимость на уровне консенсуса.
**Прикладной уровень: **Не ограничиваясь приложениями Permaweb, эта архитектура может одновременно обеспечивать поддержку децентрализованных приложений (Web3) и приложений Web2 и полностью совместима с системой исходной архитектуры.
Подведем итог
Когда мы оглядываемся назад на эволюцию разработки компьютерного программного обеспечения за последние 30 лет и думаем об эволюции разработки блокчейна за последние 10 лет, мы должны задуматься о том, будут ли глобальная виртуальная машина (такая как EVM) плюс расширение уровня 2 решение — это окончательная децентрализованная система.
В этой статье не рассматриваются возможности Layer2 или технологии сегментирования, но предлагается еще одна возможность применения блокчейна. В этой статье в качестве примера используется Permaweb экосистемы Arweave в сочетании с идеей Storage Consensus Paradigm (SCP) и микросервисной архитектурой для реорганизации технически осуществимого решения. Это решение не только обладает широкими возможностями расширения, но и позволяет приложению иметь характеристики децентрализации. Что еще более важно, решение представляет собой не зеркальное отражение, а архитектурную систему, уже отработанную в технике.
Ссылка
1. Потенциал Arweave заключается в возрождении Александрийской библиотеки, а не в замене Filecoin.
4. Блокчейн-хранилище ARWEAVE: бумажная лента машины Тьюринга, новая парадигма доверенных вычислений
5. Краткая история развития Arweave и парадигмы консенсуса хранилища
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Выявление прототипа Internet Permaweb следующего поколения: децентрализованная микросервисная архитектура в соответствии с теорией SCP
Автор: Outprog @ Участник PermaDAO
Рецензент: Xiaosong HU, автор PermaDAO
Permaweb — это интернет-архитектура следующего поколения, предложенная Arweave Ecology. Permaweb подчеркивает, что приложения и веб-сайты доступны постоянно. Это позволяет Интернету сохранять воспоминания и никогда их не забывать. В то же время Permaweb имеет функцию Severless: разработчикам не нужно разворачивать интерфейс и серверную часть в процессе строительства, все разрабатываемые сервисы будут предоставляться базовым сервисным уровнем 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. Теоретически также можно использовать Биткойн или Эфириум в качестве уровня хранения для создания полноценной сети Permaweb, но разработчикам и пользователям трудно позволить себе чрезмерные затраты на хранение. Arweave в настоящее время является самым профессиональным блокчейном для постоянного хранения, и он стоит всего 5 долларов за 1 ГБ, что является лучшим выбором для Permaweb.
Так может ли уровень хранения использовать IPFS? Если используется IPFS, Permaweb потеряет функцию отслеживания данных.CID данных IPFS может гарантировать невозможность подделки, но IPFS не использует технологию блокчейна. Данные IPFS не имеют временной метки блока, поэтому невозможно сказать, когда данные были сгенерированы; в то же время данные будут потеряны после закрытия сервисного узла IPFS, и нет гарантии, что данные будут постоянно храниться. отслеживаемый.
Сервисный уровень
В качестве унифицированного промежуточного программного обеспечения сервисный уровень предоставляет API-интерфейсы для приложений, аналогичные кластерам микросервисов Web2, которые не имеют состояния и могут расширяться горизонтально. Обычно сервисный уровень Permaweb предоставляет стандартизированные интерфейсы и протоколы (похожие на gRPC или Thrift Web2 с полностью открытым исходным кодом и открытыми протоколами). API в соответствии со стандартами протокола. Любое приложение может работать и использоваться в различных службах, если оно разработано с использованием стандартных протоколов.
В настоящее время сервисный уровень Arweave содержит четыре основных компонента, а именно:
Текущий стандартный протокол включает только четыре вышеуказанных модуля, а сервисный уровень Permaweb может расширить новый стандарт в будущем.
Прикладной уровень
Приложения Permaweb имеют бессерверные функции, разработчикам не нужно развертывать какие-либо серверы. Поскольку сервисный уровень предоставляет стандартный интерфейс для прикладного уровня, приложения, разработанные в соответствии со спецификациями, можно открывать и использовать на любом сервисном уровне.
**Взаимодействие: **Пользователям нужно взаимодействовать только с сервисным уровнем, и им не нужно взаимодействовать с базовой цепочкой блоков.
Подводя итог, Permaweb может достичь того же опыта, что и Web2, с точки зрения взаимодействия.
Защита от цензуры: Стандартные протоколы и интерфейсы обеспечивают защиту приложений от цензуры. Указанный ниже URL-адрес представляет собой приложение Permaweb с именем cookbook:
Можно обнаружить, что к приложению поваренной книги можно получить доступ, открыв любой 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 и 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 отобразит последние комментарии и лайки пользователей (штамперы), как показано на рисунке ниже:
На этой странице фреймворк инициализации и все пользовательские данные, а также все картинки, представленные на странице, получены через шлюз. Эти элементы будут рассчитаны и собраны в браузере, чтобы сформировать полную страницу Now. Шлюз обеспечивает возможность загрузки статических ресурсов, а служба индексирования обеспечивает возможность загрузки динамических данных.
Когда пользователь хочет добавить блог, он может использовать свой кошелек для загрузки контента в Arweave. Это содержимое будет помечено определенными тегами, чтобы служба индексирования могла предоставить функцию запроса GraphQL для этого содержимого. После успешной загрузки блога снова обновите приложение «Сейчас», и новый контент будет отображаться на дисплее контента приложения.
На рисунке выше показан основной процесс записи и чтения Permaweb. В практических приложениях как запись, так и чтение Permaweb будут выполняться через сервисный уровень.
Масштабирование
Самым большим преимуществом микросервисов является масштабируемость, которая будет полностью унаследована от приложения Now. Мы можем получить доступ к Now, используя любой шлюз:
Подобные шлюзы могут масштабироваться бесконечно, обеспечивая почти бесконечную производительность приложений Now.
Рекомендации SCP
В архитектуре Permaweb нижний уровень использует только Arweave в качестве уровня хранения. Но децентрализованные микросервисы не должны ограничиваться этим, мы должны глубоко усвоить преимущества Permaweb и архитектуры микросервисов, чтобы изучить лучшие инженерные практики SCP.
Изображение ниже взято из статьи «Консенсусные изменения, путешествие по эволюции парадигмы блокчейн-приложений», в которой описывается будущая архитектура блокчейн-приложений — пользователи взаимодействуют не с самой системой блокчейна, а с сервисным уровнем. Блокчейн-приложения прошли процесс эволюции от рис. 1 до рис. 3, дополнительную информацию можно прочитать:
Как видно из рисунка 3 выше, блокчейн, на который опирается приложение, не ограничивается Arweave, а Биткойн и Эфириум также являются объектами блокчейна.Эти блокчейны служат источником консенсуса для приложения, обеспечивая децентрализацию и надежные гарантии для приложение . Точно так же Permaweb и децентрализованные микросервисы также могут быть расширены, и уровень хранения не должен ограничивать Arweave. В то же время Биткойн и Ethereum также могут использоваться в качестве уровня хранения. В это время уровень хранения также может быть другим типы блокчейнов. Возможная передовая архитектура показана ниже:
Мы используем порядок снизу вверх для описания:
Подведем итог
Когда мы оглядываемся назад на эволюцию разработки компьютерного программного обеспечения за последние 30 лет и думаем об эволюции разработки блокчейна за последние 10 лет, мы должны задуматься о том, будут ли глобальная виртуальная машина (такая как EVM) плюс расширение уровня 2 решение — это окончательная децентрализованная система.
В этой статье не рассматриваются возможности Layer2 или технологии сегментирования, но предлагается еще одна возможность применения блокчейна. В этой статье в качестве примера используется Permaweb экосистемы Arweave в сочетании с идеей Storage Consensus Paradigm (SCP) и микросервисной архитектурой для реорганизации технически осуществимого решения. Это решение не только обладает широкими возможностями расширения, но и позволяет приложению иметь характеристики децентрализации. Что еще более важно, решение представляет собой не зеркальное отражение, а архитектурную систему, уже отработанную в технике.
Ссылка
1. Потенциал Arweave заключается в возрождении Александрийской библиотеки, а не в замене Filecoin.
2. Эволюция консенсуса, эволюция парадигмы приложений блокчейна
3. Готовим с Permaweb
4. Блокчейн-хранилище ARWEAVE: бумажная лента машины Тьюринга, новая парадигма доверенных вычислений
5. Краткая история развития Arweave и парадигмы консенсуса хранилища