Comprenez-vous Vraiment ce qu’est Le Cloud Informatique fondé sur la Blockchain ?
Dans les dernières années de développement dans les réseaux de cryptomonnaie, il y a eu beaucoup de projets qui recherchaient à améliorer la scalabilité, mais aucun n’est arrivé à des solutions au niveau des standards de l’industrie. Les exemples de ses solutions à la scalabilité incluent le sharding homogène d’Ethereum 2.0, le sharding hétérogène construit par Polkadot, les sides chains de Plasma, zkSync, Optimistic Rollup, la structure cross-chain de Cosmos (avec des possibilités d’extensions cross-chain), et les solutions 2ème couche (layer 2) comme StarWare.
Ces projets sont perpétuellement à la recherche de la meilleure solution d’extensibilité fondée sur la structure blockchain d’Ethereum et Bitcoin. De ces projets, Ethereum 2.0 a attiré le plus d’attention pour la construction d’apps et de services financiers. La solution de scalabilité d’Ethereum 2.0 se concentre sur la transition de la Preuve de Travail (PoW) vers la Preuve d’enjeu (PoS), l’agrégation des transactions (rollup), et la mise en forme de la structure de sharding (blockchain sharding). Cette méthode d’amélioration de la scalabilité prend beaucoup de temps à implémenter. Pourtant, on ne peut nier que c’est une voie essentielle à long terme pour Ethereum dans la mesure ou il recherche le saint graal de l’extension de la blockchain.
Tout simplement, les avantages de la structure blockchain sont évidents, mais le plafond imposé par ses limitations l’est tout autant. Il est donc difficile pour l’industrie de continuer à innover sans dépasser ce plafond de performance imposé par la structure de la blockchain. Par conséquent, je crois que l’innovation dans l’industrie de la blockchain a besoin de prendre en référence des idées d’autres industries matures et de systèmes technologiques matures.
Nous pouvons prendre en référence la conception des plateformes de cloud informatique comme une façon de dépasser ce plafond de performance.
Le Goulot d’étranglement de la Blockchain est évident
Le goulot d’étranglement pour les blockchains vient de son plus grand avantage : Le consensus.
Le consensus est un traitement par lequel plusieurs parties (nœuds) mettent en attente et exécutent les transactions, après quoi, elle s’accordent sur le résultat de l’exécution. Prenez le traitement du consensus de Bitcoin par exemple : un nœud produit un block après avoir validé toutes les transactions à l’intérieur et le diffuse à tout ses pairs pour l’inclure dans le réseau décentralisé, et tout ces pairs valident également toutes les transactions et le block.
Même après qu’Ethereum 1.0 aura migré vers Ethereim 2.0, où le mécanisme de consensus est passé du PoW (Proof of Work : preuve de travail) au PoS (Proof of Stake : preuve d’enjeu), la seule amélioration dans son traitement du consensus est la réduction du temps pour compléter un seul consensus, ainsi qu’augmenter la capacité informatique dans une unité de temps donnée. Face aux énormes besoins informatiques, le plafond du consensus basé sur la preuve d’enjeu (PoW) est trop évident. Nous laissons l’efficacité de côté au nom de la résilience.
Visualisation des restrictions d’un nœud de blockchain
Le model dans la figure ci-dessus apparaitra sous de fortes demandes informatiques. Si la seule amélioration de la scalabilité est la réduction du temps de traitement pour compléter un seul consensus dans chaque block de la chaine, alors sous de fortes demandes, les taches informatiques submergeront toujours les ressources d’un nœud informatique. Par conséquent, plusieurs taches seront bloquées dans le goulot d’étranglement, réalisant une accumulation de transactions en attente.(Dans Bitcoin et Ethereum, cela fait apparaitre un gros mempool)
Si un traitement très rapide n’est pas crucial pour certaines applications (telles que les applications sans besoins intenses de ressources comme la DeFi), vous pouvez accélérer le traitement entier du consensus en améliorant la puissance informatique moyenne des nœuds, basculant vers un algorithme de consensus rapide, et planifier l’ordre et le timing d’exécution des taches qui ont besoin d’être priorisées pour une utilisation urgentes des ressources.
Malheureusement , pour beaucoup de scenarios dans lesquels il y a une forte concurrence, il y aura toujours un trafic retardé, des ralentissements, un blocage total, ou des problèmes dus à la congestion (tels que des problèmes de sécurité). Le développement de la blockchain ne peut pas s’arrêter à simplement être applicable à la DeFi et aux applications qui peuvent tourner avec peu de concurrence. Nous voulons être en mesure de supporter des scénarios où il y a une concurrence importante, comme le Web3 Analytics (similaire à Google analytics), où des débits très importants sont nécessaires pour qu’un nombre important d’utilisateurs aient une expérience d’utilisation de grande qualité.
Pour régler ce problème, nous devons augmenter le calcul à un tel débit dans le réseau qu’il ne peut simplement pas être accompli en rendant le traitement plus rapide ; nous devons élever le niveau de la concurrence dans le calcul pour être capables pour faire suffisamment de calculs dans un temps donné.
Comment l’extension et le calcul parallèle peuvent être réalisés dans un réseau blockchain en empruntant des idées au cloud informatique ?
Dans le cloud informatique traditionnel, les performances du réseau sont égales à la somme de tous les serveurs connectés. En ajoutant plus de serveurs, nous augmentons les performances du réseau de cloud informatique. Cependant, dans le contexte de la blockchain, chaque nœud répète à nouveau tout le calcul, ce qui produit de la redondance au lieu d’augmenter les performances de calcul (efficience), donc dans une blockchain traditionnelle, ajouter plus de nœuds (analogue à l’ajout de serveurs) n’augmentera simplement pas les performances de calcul. Nous augmentons seulement la redondance et la fiabilité tandis que la performance demeure inchangée.
Pourtant, augmenter les performances est exactement ce dont la blockchain a besoin à ce stade du développement — une augmentation massive pour effectuer des taches avec une concurrence importante. Les blockchains traditionnelles ont sacrifié l’efficience au nom de la redondance (décentralisation), mais peuvent toujours emprunter des idées au cloud informatique pour augmenter l’efficience tout en maintenant la redondance requise pour la sécurité.
Plongeons à l’intérieur de quelques innovations développées dans le cloud informatique. Dans les plateforme de cloud informatique, il y a le scaling-out (extension horizontale) et le scaling-up (extension verticale). L’extension horizontale est de l’informatique parallèle, qui exécute les taches en les divisant en voies et partitions qui peuvent être traitées indépendamment. Par opposition, l’extension verticale augmente la capacité de traitement d’une seule machine, ce qui est similaire à essayer d’augmenter la taille des blocks pour résoudre le problème de la scalabilité.
An example of parallelism in cloud computing. Data generation is suitable for parallel structure, and then quickly processed by taking advantage of the high performance of GPUs.
Cependant, la structure des réseaux blockchain ne peut pas être changée facilement, l’idée d’implémenter le calcul parallèle a donc évoluée en deux approches générales.
Dans cet article, nous prendrons six projets de blockchain ; Oasis, Phala, PlatON, Dfinity, IOTA et Filecoin, comme exemple pour illustrer deux principales écoles de pensée pour l’implémentation parallèle. Premièrement, nous allons voir le parallélisme de matériel de sécurisé, puis nous regarderons les améliorations dans le parallélisme algorithmique.
Dans le futur, de tels réseaux blockchain résoudrons potentiellement un grand nombre de problèmes qui demeurent sur internet une fois qu’ils auront atteint la capacité à effectuer du traitement parallèle.
Décomposons Les Deux Principales Idées d’Informatique Parallèle
Les projets ci-dessus peuvent être décomposés en deux écoles de pensée pour résoudre le problème de scalabilité en utilisant l’informatique parallèle.
Une école de pensée est représentée par Oasis, Phala, et PlatON. Ces trois projets tentent de résoudre le problème de scalabilité en exploitant la technologie informatique de sécurité embarquée dans le matériel pour fournir des ressources supplémentaires. Ce matériel assure habituellement la sécurité sans entamer les performances, permettant l’extension de la puissance et le stockage de la blockchain. De plus, étant donné que la sécurité ne repose pas sur l’algorithme de consensus (qui nécessite d’être coordonné) ces machines peuvent se charger du calcul indépendamment, de sorte que le traitement parallèle peut être implémenté en toute sécurité à l’extérieur de la partie consensus. Nous pouvons résumer ça à de l’informatique parallèle sécurisé.
La seconde école de pensée est représentée par Dfinity, IOTA et Filecoin. A travers le développement de nouveaux algorithmes pour la partie consensus, le traitement de la confirmation des block de transaction est amélioré en réalisant un traitement parallèle, qui peut par conséquent améliorer la capacité d’exécution des transactions sur la chaine. Puis, à travers un niveaux de concurrence plus important permis par l’algorithme de consensus avancé, les capacités de calcul de chacune des machines de calcul peut être maximisée, ce qui est effectivement une extension verticale du cloud informatique.
Quelques précisions sur ces deux différentes approches :
I. Conceptions de Réseau fondées sur une approche d’assistance matérielle pour parvenir à la concurrence.
- D’abord construire une partie consensus de grande qualité.
N’importe quelle cryptomonnaie a besoin d’un registre général résidant dans la partie consensus. Oasis, Phala, et PlatON séparent tous la partie consensus dela partie calcul. Il y a une partie consensus indépendante au dessus des machines informatiques, qui est, un réseau blockchain à algorithme de consensus très rapide construit sur des nœuds informatiques (ou cloud).
Cependant, il est important de noter que Oasis, et PlatON ont des concepts clairs de la séparation des parties consensus et calcul, celui de Phala n’est pas si évident. Ses détails de conception reposent sur des règles indépendantes pour les machines informatiques sous la chaine.
Dans le but d’assurer la stabilité de la partie consensus, Oasis a fait le choix de construire ses nœuds par le biais des organisations et des entreprises hautement fiables dans l’industrie, et les nœuds communiquent entre eux à par l’algorithme Tendermint pour rapidement constituer le registre général.
Les nœuds de PlatON sont également construits par une fédération, et elle utilise un algorithme de type BTF et CBFT pour optimiser l’efficience par rapport à l’algorithme ordinaire de BFT.
Dans Phala, un réseau de nœuds de travailleurs avec un environnement d’exécution sûr (Trusted Execution Environment : TEE) sont connectés au réseau blockchain. Parmi les travailleurs TEE, un groupe de nœuds spéciaux (appelés Gatekeepers) sont responsables de l’organisation des ressources informatiques et de la maintenance du registre. Ils utilisent la méthode de consensus appelée “ Preuve d’enjeu nominée” (NPoS : Nominated Proof of Stake), la même méthode qui est utilisée par Polkadot, qui peut rapidement produire de nouveau blocs.
Les Gatekeepers de Phala (partie du milieu) maintenant le registre général
Au dessous de la partie consensus, ils amènent l’informatique et le stockage hors de la chaine (off the chain), ce qu’on pourrait appeler Layer 2, et c’est là qu’apparait l’informatique parallèle.
2. Réaliser les calculs parallèles dans une partie informatique séparée.
Jetons un oeil à Oasis. Sa partie informatique consiste en de multiples Layer Paratime, chacun perçu comme une chaine indépendante ou un cluster runtime, qui reçoit le consensus final par une partie consensus. Oasis envisage quelques ParaTimes confidentiels permis par la sécurité du TEE, mais à ce stage précoce du déploiement d’Oasis Network, le Paratime est principalement déployé en nœuds ordinaires dans le cloud et n’a pas déployé beaucoup de machines équipées du TEE. Avec le temps, peut-être que suffisamment de nœuds de Paratime auront des capacités de TEE pour assurer la sécurité de parties Paratimes confidentielles.
The computation layer of Oasis (right-hand side)
Pendant ce temps, dans Phala, tout le calcul est opéré dans des nœuds de mineurs TEE. L’exécution du runtime de Phala, pRuntime, sera déployé dans chaque TEE. La communication entre chaque pRuntime et la partie consensus est indépendante, de sorte que les transactions opérées dans pRuntime ne souffrent d’aucun conflit. Ce calcul parallèle est réalisé dès le début, parce que chaque pRuntime agit comme un shard. Plus il y a de ces nœuds, plus le réseau est performant.
Enfin, PlatON-où les calculs sont réalisés dans ce qu’on appel une Layer 2. Le layer 2 de PlatON a un grand nombre de machines informatiques, incluant des machines informatiques de sécurité personnalisées, tel que des circuits programmables pour du calcul pluripartite. De plus, le calcul confidentiel est également réalisé à travers la cryptographie, les preuves d’aucune connaissance (Zero Knowledge Proofs), le cryptage homomorphe (Homomorphic Encryption), ou calcul pluripartite etc… en tant que technologie sous-jascente.
Les modules et layers de PlatON network.
Concevoir la partie calcul comme un réseau matériel sûr est une façon d’utiliser l’informatique parallèle pour étendre la capacité et parvenir à la scalabilité. Certains pourraient soutenir que déplacer les calculs à l’extérieur de la partie consensus n’est pas une véritablement réalisation d’informatique blockchain parallèle parce qu’il change la théorie de la sécurité du modèle de menace de la blockchain. Cependant, dans ce modèle, les machines sont considérées comme intégrant la partie consensus parce qu’elles apportent des garanties de sécurité supplémentaires à travers une technologie informatique sûre (Trusted Computing Tchnology).
En théorie, pour sécuriser l’informatique, nous avons besoin d’un concept registre général ou une autre manière de contrôler la sécurité du calcul hors chaine (off chain computing). Mais avec l’aide du matériel informatique sûr, nous n’avons pas besoin de ce registre général pour fournir la sécurité hors chaine.
Nous pouvons opposer cela à Ethereum 2.0. A l’intérieur, la beacon chain est le registre entier. Si le systeme de sharding a été déployé, chaque shard peut exécuter des taches indépendamment des autres. Dans Oasis, Phala et PlatON, le calcul effectué par le shard est remplacé par du matériel sûr — chaque unité de matériel testé est effectivement un autre shard.
Maintenant que nous avons décomposé deux exemples de parallélisme par des parties informatiques, regardons comment le parallélisme peut être réalisé en changeant les algorithmes.
II. Conceptions de Réseaux Fondées sur l’Utilisation d’Algorithmes pour Réaliser des Opérations Parallèles.
- Développer un nouvel algorithme.
Dfinity, IOTA and Filecoin sont de bons représentants de cette approche. Après le développement d’un algorithme le permettant, les transactions peuvent être exécutées en parallèle sans affecter le processus de confirmation de bloc, ce qui par conséquent, augmente le débit global.
Il est important de se rappeler que si le parallélisme est implémenté au niveau de l’algorithme, les règles de l’algorithme du consensus sont changées, ce qui modifie également le fonctionnement fondamental de la blockchain. Par exemple, si l’algorithme de la Preuve de Travail est changé, il changera par la même occasion la logique de génération des nombres aléatoires, la génération des blocs, et émission dans la blockchain.
L’optimisation dans Dfinity repose l’algorithme du consensus. Dfinity transforme l’aspect du mécanisme traditionnel du consensus où tous les nœuds qui participent doivent effectuer tous les calculs du consensus, en un mécanisme où les nombres aléatoires sont générés pour sélectionner quel nœud effectuera le calcul du consensus, ce qui accélère la vérification de la transaction. Ce qui est crucial ici, c’est que le nœud de consensus sélectionné confirme la transaction à travers un algorithme BSL non interactif (le nœud confirme que l’information retournée de la signature des données est indépendante, pas combinée), ce qui veut dire qu’il ne connaitra pas de répétition de l’interaction entre les nœuds avec le consensus BFT, il parvient donc à un effet d’ accélération “parallèle”.
Traitement de confirmation du consensus Dfinity’s , l’effet parallèle est la signature à gauche.
L’approche que prend IOTA est totalement différente. A la différence des autres blockchains, IOTA utilise une structure de donnée Tangle (un genre de DAG) pour former un registre général. Tangle requiert que chaque transaction soit soutenue par précédentes transactions, pas de commande complète, elle doit éliminer totalement la dépendance de l’horodatage trouvé dans l’architecture des autres blockchains. Le Tangle forme finalement une structure infinie de corrélation de confirmation des transactions, qui peut parvenir au parallélisme.
Modèle de confirmation des transactions de l’algorithme Tangle.
Filecoin applique le parallélisme aux taches de stockage. En raison de l’aspect du stockage de Filecoin, Filecoin exécutera une vérification et digestion complète sur les données stockées, ce qui est un procédés informatique intense. Cela signifie que les augmentations de parallélisme et de rapidité sont très importantes pour les performances globales. A présent, il utilise la mise à jour de l’algorithme NSE.
Nous pouvons voir en décomposant l’algorithme NSE que lors du traitement des données, les données seront partagées en fenêtres (entendues comme unités) et couches. Après avoir traité des morceaux de données, le stockage des données et la post-preuve suivante sont réalisés. Avec NSE, il y a peu de dépendances entre parties, de sorte qu‘une grande quantité peut être traitée en parallèle, ce qui peut être résumé à une accélération parallèle.
Décomposition de l’algorithme NSE de Filecoin, la partie layer est telle que présentée à gauche.
2. Reconfigurer les autres parties telles qu’elles sont requises par l’algorithme.
Certaines fonctions auxiliaires sont nécessaires après la réalisation algorithmique de la parallélisation.
Nous avons noté que le Tangle de IOTA n’a pas d’horodatage ni d’ordre comme une blockchain normale. Donc, afin d’atteindre un consensus, nous avons besoin de l’aide d’un vérificateur de transactions pour confirmer quelles transactions font partie du consensus.
Les algorithmes utilisés par Dfinity sont appairés au subnet, centres de données et contenants (canisters). Dans Dfinity, un subnet est similaire à un shard dans une blockchain à shard. Les subnets sont hébergés par des machines physiques situées dans des Data Centers. Cela signifie que la puissance de calcul inhérente au réseau est substantielle. Sur un subnet, le contenant (canister) est une unité de déploiement indépendante, qui peut être comparée aux contrats intelligents de la blockchain. Les interactions combinées du contenant peuvent supporter des applications complexes.
Dans Filecoin, après le traitement parallèle des données par l’algorithme NSE, Filecoin procède à la duplication du stockage et à l’empaquetage du Proof-of-Spacetime (preuve d’espace-temps). Ces parties sont nécessaires pour assurer la cohérence du registre général de Filecoin. D’autres parties du développement reposent sur les outils mis à disposition par l’équipe officielle et l’écosystème de Filecoin.
Qu‘y a-t-il Après l’Informatique Parallèle Avec Les Technologies Cloud ?
Les six projets blockchain ci-dessus ont théoriquement dépassé les limites de performances inhérentes aux blockchains traditionnelles en utilisant l’informatique parallèle. Alors, quel est la prochaine étape dans leur développement ?
À mon amis, la prochaine étape est de trouver la façon mettre ces caractéristiques à disposition des développeurs à travers des outils de développeurs. Après tout, le but le plus important du réseau blockchain est de développer des DAPPs et généraliser les services décentralisés.
L’infrastructure est inutile s’il n’y a pas de développeurs pour créer des application dessus, cela même si les performances de l’infrastructure sont suffisamment élevées. Les développeurs déterminent le nombre d’applications sur la chaine. Le nombre d’applications sur la chaine déterminent la valeur créée est portée par la chaine.
Les développeurs d’internet traditionnels qui entrent dans l’ère du cloud informatique font face à des difficultés dans le développement natif, mais finalement les plateformes de cloud informatique ont fourni des outils d’une très grande qualité aux développeurs. Résultant de leur dur labeur, les plus jeunes développeurs sont libérés de l’inquiétude concernant la scalabilité qui a tant tourmenté les développeurs plus anciens.
Est ce que les réseaux blockchain d’aujourd’hui sont capables de prendre “l’architecture orientée services” des plateformes de cloud informatique comme un objectif d’innovation ? Avec la concurrence, nous voyons que les blockchains peuvent passer à travers le plafond de performance. Jusqu’où peuvent-elles aller ?