Révéler le prototype de l'Internet Permaweb de nouvelle génération : l'architecture de microservices décentralisée selon la théorie SCP

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Auteur : Outprog @ Contributeur de PermaDAO

Réviseur : Xiaosong HU @ Contributeur de PermaDAO

Permaweb est l'architecture Internet de nouvelle génération proposée par l'écosystème Arweave. Permaweb met l'accent sur le fait que les applications et les sites Web sont accessibles en permanence. Il permet à Internet d'avoir des souvenirs et de ne jamais les oublier. Dans le même temps, Permaweb a la fonctionnalité de Severless.Les développeurs n'ont pas besoin de déployer le front-end et le back-end pendant le processus de construction.Tous les services développés seront fournis par la couche de service de base de Permaweb.

Pour en savoir plus sur le concept et la vision de Permaweb, vous pouvez lire "Le potentiel d'Arweave est de faire revivre la bibliothèque d'Alexandrie, pas un substitut de Filecoin" écrit par le professeur Liu Yi pour en savoir plus sur le concept de Permaweb.

Cet article interprétera Permaweb d'un point de vue technique combiné à la théorie SCP.

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Cadre de base

Permaweb utilise une architecture à trois niveaux, la couche supérieure est la couche application, qui est l'interface orientée utilisateur. La couche intermédiaire est la couche de service, qui fournit des services principaux pour l'application. La couche inférieure est la couche de stockage, qui utilise Arweave pour fournir des services de stockage de données pour les applications.

L'architecture de Permaweb n'est pas très différente de l'architecture Web 2. La couche application correspond au front-end Web2 traditionnel, la couche service correspond au back-end et la couche stockage correspond au serveur physique ou à la base de données.

L'utilisation du stockage décentralisé est la plus grande différence entre Permaweb et Web2. Une fois que l'application Permaweb intègre le stockage permanent Arweave, il deviendra très difficile de falsifier et d'effacer le contenu de l'application, et l'application obtiendra la propriété de décentralisation. Alors que l'architecture de Permaweb présente des similitudes superficielles avec Web2, sa technologie sous-jacente et sa philosophie de conception font des différences fondamentales.

L'architecture d'application de Permaweb est illustrée dans la figure ci-dessous

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Photo tirée Livre de recettes Permaweb

Ce qui suit présentera en détail l'architecture à trois niveaux de Permaweb

couche de stockage

La couche de stockage est le cœur de Permaweb, si la couche de stockage n'utilise pas la technologie blockchain, il n'y aura pas de différence entre Permaweb et Web2. La couche de stockage de Permaweb n'est pas nécessairement limitée à Arweave. En théorie, il est également possible d'utiliser Bitcoin ou Ethereum comme couche de stockage pour construire un Permaweb complet, mais il est difficile pour les développeurs et les utilisateurs de se permettre des coûts de stockage excessifs. Arweave est actuellement la blockchain la plus professionnelle pour le stockage permanent, et ne coûte que 5 $ pour 1 Go, ce qui est le meilleur choix pour Permaweb.

La couche de stockage peut-elle donc utiliser IPFS ? Si IPFS est utilisé, Permaweb perdra la fonctionnalité de traçabilité des données.Le CID de données d'IPFS peut garantir qu'il ne peut pas être falsifié, mais IPFS n'utilise pas la technologie blockchain. Les données IPFS n'ont pas d'horodatage de bloc, il est donc impossible de dire quand les données ont été générées ; en même temps, les données seront perdues après la fermeture du nœud de service IPFS, et il n'y a aucune garantie que les données seront définitivement traçable.

Couche de service

En tant que middleware unifié, la couche de service fournit des API pour les applications, similaires aux clusters de microservices Web2, qui sont sans état et peuvent être étendues horizontalement. Habituellement, la couche de service de Permaweb fournira des interfaces et des protocoles standardisés (similaires aux protocoles gRPC ou Thrift complètement open source et ouverts de Web2), ces interfaces et protocoles sont complètement open source et open source, et tout fournisseur de services qui déploie des services peut fournir le même API selon les standards du protocole. Toute application peut être exploitée et utilisée sur différents services tant qu'elle est développée à l'aide de protocoles standard.

Actuellement, la couche de service d'Arweave contient quatre composants principaux, à savoir :

    • Service de passerelle : mettra en cache les données Arweave fréquemment utilisées. Tels que arweave.asia, arweave.dev, g8way.io, arweave.world, etc.
  • **Service de liaison de données (empaquetage de données par lots) : **Utilisez la norme Arweave ANS-104 pour emballer une grande quantité de données par lots dans Arweave. Tels que bundlr, arseeding, etc. Les données ANS-104 peuvent également être récupérées à l'aide de GraphQL.
  • **Services de sérialisation : **Services de contrats intelligents, services de paiement, etc. Tels que Warp, everPay, etc.
  • **Service d'indexation : **Service de récupération de balises Arweave, service d'indexation de texte intégral. Comme Adot, KNN3, goldsky, etc.

Le protocole standard actuel ne comprend que les quatre modules ci-dessus, et la couche de service de Permaweb peut étendre davantage la nouvelle norme à l'avenir.

Couche d'application

Les applications Permaweb ont des fonctionnalités sans serveur, les développeurs n'ont pas besoin de déployer de serveurs. Étant donné que la couche de service fournit une interface standard pour la couche d'application, les applications développées conformément aux spécifications peuvent être ouvertes et utilisées dans n'importe quelle couche de service.

**Interaction : **Les utilisateurs n'ont besoin d'interagir qu'avec la couche de service et n'ont pas besoin d'interagir avec la blockchain sous-jacente.

    • **Chargement des ressources : **La passerelle standardisée correspond à toutes les ressources de fichiers qui doivent être chargées par le frontal de Permaweb. Selon la norme Manifest, ces ressources de fichiers organisent les ressources sur la couche de stockage dans un format de répertoire, ce qui est pratique pour les protocoles Web à charger et à assembler.
  • **Écriture de données : **L'écriture de Permaweb utilise généralement la norme ANS-104 sur Arweave, qui peut prendre en charge l'écriture de données à grande échelle. Le service de bundle mis en œuvre par ANS-104 rend l'expérience d'écriture de Permaweb exactement la même que celle de Web2.
  • **Interrogation et indexation des données : **Le service d'indexation standardisé permet à Permaweb de charger dynamiquement le contenu. L'établissement de l'index n'a pas besoin d'attendre que les données soient finalement conditionnées sur Arweave. Une fois les données téléchargées sur le service de bundle, un index d'application efficace peut être généré en temps réel, offrant aux utilisateurs des capacités de requête de données en temps réel. .

En résumé, Permaweb peut réaliser la même expérience que Web2 en termes d'interaction.

Résistance à la censure : Les protocoles et interfaces standard offrent aux applications une résistance à la censure. L'URL répertoriée ci-dessous est une application Permaweb nommée livre de recettes :

On peut constater que l'application de livre de recettes est accessible en ouvrant n'importe quelle URL et que le site Web est desservi par différentes passerelles et serveurs à travers le monde. Si arweave.asia devient inaccessible, les utilisateurs peuvent toujours utiliser plusieurs autres URL pour continuer à utiliser l'application. Même si toutes les passerelles sont fermées, les données du livre de cuisine sont stockées dans Arweave et les données ne seront pas perdues afin que le fournisseur de services puisse restaurer l'application de livre de cuisine à tout moment.

L'utilisation du stockage permanent Arweave comme couche de stockage peut garantir la décentralisation des données de chaque application Permaweb ; l'utilisation d'un protocole open source standardisé comme couche de service peut éviter le risque de révision causé par l'arrêt de serveurs individuels en raison d'un cas de force majeure. Les applications Permaweb sont décentralisées et anti-censure.

Version microservice de SCP

L'architecture de Permaweb est similaire à celle du Web 2. Essentiellement, Permaweb est un ensemble d'architectures d'applications de microservices basées sur un stockage décentralisé.

Les microservices sont un modèle d'architecture logicielle utilisé dans le développement Web2, qui divise une application volumineuse et complexe en une série d'unités de service plus petites et plus indépendantes. Chaque microservice est un module fonctionnel indépendant qui peut être développé, déployé et exécuté indépendamment. Ces microservices communiquent entre eux via des API bien définies, qui peuvent être implémentées à l'aide de protocoles de communication légers tels que HTTP ou des files d'attente de messages.

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

L'architecture globale de Permaweb est très similaire aux microservices, et chaque application Permaweb est composée d'unités de service standardisées et indépendantes. Le même concept de conception donne à Permaweb la capacité de créer des applications volumineuses et complexes.

La différence avec les microservices traditionnels est que Permaweb est conforme au SCP et est une application basée sur le consensus de stockage. Permaweb est la version d'architecture microservice de SCP.

Qu'est-ce que SCP (Storage-based Consensus Paradigm) ? Basé sur le paradigme de consensus basé sur le stockage, l'idée centrale est que tant que le stockage est immuable et que les transactions ci-dessus peuvent être tracées, alors l'application et le calcul n'importe où seront le seul résultat, et un consensus peut être obtenu. La caractéristique de SCP est que les données sous-jacentes peuvent avoir des combinaisons illimitées. Tant que les normes de données et d'assemblage de données sont respectées, l'application peut générer un état unique à partir de n'importe quelle couche de stockage, ou même agréger plusieurs couches de stockage ensemble.

Lors de l'utilisation de SCP pour développer des applications, l'architecture d'application traditionnelle ne nécessite pas beaucoup d'ajustements, seule la base de données (couche de stockage) doit être remplacée par un stockage blockchain infalsifiable et traçable.

Avantage

Les applications développées à l'aide de cette architecture de microservice décentralisée peuvent obtenir les mêmes caractéristiques de la blockchain, notamment la décentralisation, l'immuabilité, la traçabilité, l'anti-censure et plus encore.

Comme l'architecture de microservice traditionnelle, cette architecture présente les avantages de développement suivants :

**1. Modularité et maintenabilité : **Services indépendants, chacun responsable d'une fonction spécifique. Cette conception standardisée et modulaire permet à chaque service d'être développé, testé, déployé et maintenu indépendamment, améliorant ainsi la maintenabilité et la flexibilité de l'application.

**2. Indépendance : **Chaque service peut être développé et maintenu par différentes équipes. Il correspond davantage aux caractéristiques de DAO, permettant à différentes organisations et individus de fournir les meilleures performances et la meilleure vitesse de développement pour Permaweb, et permettant aux développeurs de choisir la pile technologique et les outils les plus appropriés. Dans l'écosystème Arweave, nous pouvons voir que différentes équipes fournissent des services différents.Par exemple, ar.io fournit des passerelles, bundlr et arseeding open source fournissent des services de liaison de données, everPay et Permaswap fournissent des services financiers spécialisés, etc.

**3. Évolutivité : **Des services indépendants peuvent faire évoluer certains services horizontalement selon les besoins. On peut même comparer que chaque service est le fragment mentionné dans ETH 2.0, mais Permaweb n'a pas de limite sur le nombre de fragments et peut s'étendre horizontalement à l'infini. De plus, la même norme de protocole peut également fournir différents services d'ensemble de données, tels que certaines passerelles, afin d'optimiser la vitesse d'accès d'applications spécifiques, ils ne peuvent mettre en cache et traiter que les données d'applications spécifiques.

**4. Haute disponibilité : ** Avec plusieurs passerelles disponibles (microservices), l'application n'aura pas de point de défaillance unique et aura une meilleure disponibilité.

Cette architecture hérite de tous les avantages de l'architecture microservice et brise le problème du triangle impossible des applications blockchain. Les applications blockchain traditionnelles doivent abandonner une certaine fonctionnalité parmi les performances, la sécurité et la décentralisation afin d'assurer l'intégrité des deux autres fonctionnalités. Selon la théorie SCP, en raison de l'utilisation d'une conception d'architecture en couches, le consensus sera garanti par la couche de stockage et le protocole général. À ce stade, la décentralisation n'a pas besoin d'être fortement liée au nombre de nœuds, mais à la degré d'ouverture (open source) du protocole. Lorsque nous parlons de la décentralisation d'Ethereum, en plus de considérer le nombre de leurs nœuds, nous devons également réaliser que le logiciel Ethereum lui-même est un protocole standard. Les utilisateurs et les mineurs utilisent le même ensemble de protocoles pour parvenir à un consensus, qui peut former un degré élevé de consensus centralisé. Dans le cas d'Ethereum, la grande majorité des utilisateurs et des développeurs utilisent actuellement les services fournis par infura.io Bien qu'infura.io soit un service centralisé, les utilisateurs peuvent déployer le protocole Ethereum à tout moment et utiliser un accès autonome au réseau. De même, les microservices décentralisés peuvent également répondre aux caractéristiques ci-dessus, mais les microservices décentralisés ne sont pas une architecture de machine virtuelle spécifique (telle que EVM), mais plus flexible et plus proche du modèle théorique des architectures traditionnelles.C'est une combinaison des microservices et de la théorie SCP. naissance de la prochaine génération d'architecture Internet décentralisée.

Pratique : depuis Arweave, au-delà d'Arweave

À l'heure actuelle, Permaweb n'a que quatre services de passerelle, liaison de données, sérialisation et indexation, et ces services ont formé certaines normes. Alors, à quoi ressemble exactement une instance Permaweb ? Concrètement, comment construire un Permaweb en utilisant quatre services standards ?

Postuler maintenant

Il s'agit d'une application Permaweb (ci-après dénommée Now), qui est une plateforme de communication pour les développeurs écologiques Arweave. La fonction principale de Now est que les utilisateurs créent des blogs, et les utilisateurs peuvent aimer ces contenus.

Toutes les données de Now sont stockées sur Arweave, et la couche de stockage immuable assure la décentralisation de Now. Lorsque l'utilisateur ouvre Now, le navigateur charge d'abord un framework frontal à partir du service de passerelle d'Arweave, comme illustré dans la figure ci-dessous, le framework de page inclut principalement le composant Header de Now et n'inclut pas les données d'affichage de l'application Now. .

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Une fois que le navigateur a chargé le framework de l'application, nous pouvons voir que la partie d'affichage du contenu de Now affichera les tampons de chargement. À ce moment, l'application Now lance une requête GraphQL pour récupérer les données de l'application. Attendez quelques secondes que la récupération se termine, et l'application Now affichera les derniers commentaires et mentions J'aime (tampons) de l'utilisateur, comme illustré dans la figure ci-dessous :

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Dans cette page, le cadre d'initialisation et toutes les données de l'utilisateur, ainsi que toutes les images présentées sur la page sont obtenus via la passerelle. Ces éléments seront calculés et assemblés dans le navigateur pour former la page complète de Now. La passerelle fournit la capacité de chargement de ressources statiques et le service d'index fournit la capacité de chargement de données dynamiques.

Lorsqu'un utilisateur souhaite ajouter un blog, l'utilisateur peut utiliser son portefeuille pour télécharger le contenu sur Arweave. Ces contenus seront marqués avec des balises spécifiques afin que Index Service puisse fournir la fonction de requête GraphQL pour ces contenus. Une fois le blog téléchargé avec succès, actualisez à nouveau l'application Now et le nouveau contenu s'affichera dans l'affichage du contenu de l'application.

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

La figure ci-dessus montre le processus de base d'écriture et de lecture de Permaweb. Dans les applications pratiques, l'écriture et la lecture de Permaweb seront effectuées via la couche de service.

Évoluez

Le plus grand avantage des microservices est l'évolutivité, qui sera entièrement héritée de l'application Now. Nous pouvons accéder à Now en utilisant n'importe quelle passerelle :

  • /

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Des passerelles similaires peuvent évoluer à l'infini, offrant aux applications Now des performances quasi infinies.

Meilleures pratiques SCP

Dans l'architecture de Permaweb, la couche inférieure utilise uniquement Arweave comme couche de stockage. Mais les microservices décentralisés ne doivent pas se limiter à cela : nous devons profondément absorber les avantages du Permaweb et de l'architecture des microservices pour explorer les meilleures pratiques d'ingénierie de SCP.

L'image ci-dessous est tirée de l'article "Consensus Changes, Blockchain Application Paradigm Evolution Journey", qui décrit la future architecture de l'application blockchain - les utilisateurs n'interagissent pas avec le système blockchain lui-même, mais avec La couche de service interagit. Les applications Blockchain ont suivi le processus d'évolution de la figure 1 à la figure 3, plus de contenu peut être lu :

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Comme le montre la figure 3 ci-dessus, la blockchain sur laquelle s'appuie l'application ne se limite pas à Arweave, et Bitcoin et Ethereum sont également des objets blockchain.Ces blockchains servent de source de consensus pour l'application, offrant une décentralisation et des garanties crédibles pour le candidature. De même, Permaweb et les microservices décentralisés peuvent également être étendus, et la couche de stockage n'a pas besoin de limiter Arweave. Dans le même temps, Bitcoin et Ethereum peuvent également être utilisés comme couche de stockage. À ce stade, la couche de stockage peut également être autre types de chaînes de blocs. Une architecture de meilleures pratiques possibles est illustrée ci-dessous :

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Nous utilisons l'ordre ascendant pour décrire :

  • **Couche de consensus : **Il n'est plus approprié de nommer la couche de stockage après l'expansion de Permaweb. Nous avons renommé la couche de stockage d'origine en couche de consensus. La couche de consensus peut être n'importe quel système de blockchain, et ces systèmes sont infalsifiables et traçables.
  • **Couche de service : **La plus grande différence entre la couche de service et Permaweb est que la couche inférieure du protocole standard ne se limite pas au stockage Arweave, et des microservices peuvent être établis pour n'importe quel système de blockchain. En prenant le service d'index comme exemple, Nansen fournit des capacités de requête de données pour la chaîne publique EVM existante, et de nombreuses Dapps et données frontales peuvent utiliser directement Nansen comme source de données. KNN3 fournit également des capacités d'indexation similaires, créant une couche de requête relationnelle standardisée pour les données de la blockchain, et KNN3 fournit également des capacités d'indexation de stockage compatibles avec Arweave GraphQL. Dans cette architecture, les microservices ont plus de normes et une meilleure compatibilité de la couche de consensus.
  • **Couche application : **Non limitée aux applications Permaweb, cette architecture peut prendre en charge simultanément les applications décentralisées (Web3) et les applications Web2, et est entièrement compatible avec le système d'architecture d'origine.

Résumer

Lorsque nous regardons en arrière sur l'évolution de l'ingénierie des logiciels informatiques au cours des 30 dernières années et que nous pensons à l'évolution de l'ingénierie de la blockchain au cours des 10 dernières années, nous devons nous demander si une machine virtuelle globale (telle que EVM) plus une extension de couche 2 solution est le système décentralisé ultime.

Cet article ne se penche pas sur la faisabilité de la technologie Layer2 ou sharding, mais offre une autre possibilité pour l'application blockchain. Cet article prend le Permaweb de l'écosystème Arweave comme exemple, combiné avec l'idée de Storage Consensus Paradigm (SCP) et l'architecture de microservices pour réorganiser une solution techniquement réalisable. Cette solution a non seulement une forte capacité d'expansion, mais permet également à l'application d'avoir les caractéristiques de la décentralisation. Plus important encore, la solution n'est pas une image miroir, mais un système architectural qui a déjà été pratiqué en ingénierie.

Référence

1. Le potentiel d'Arweave est de faire revivre la bibliothèque d'Alexandrie, pas un remplacement de Filecoin

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

2. L'évolution du consensus, l'évolution du paradigme de l'application blockchain

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

3. Cuisiner avec le Permaweb

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

4. Blockchain Storage ARWEAVE : bande de papier de la machine de Turing, nouveau paradigme de l'informatique de confiance

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

5. Un bref historique du développement d'Arweave et du paradigme du consensus de stockage

Révéler le prototype de la prochaine génération d'Internet Permaweb : l'architecture de microservices décentralisée selon la théorie SCP

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)