Introduction :
Cet article fournit une introduction prospective à un paradigme de conception d'infrastructure Web3 quelque peu non conventionnel : le paradigme de consensus basé sur le stockage (SCP). Ce modèle de conception diverge significativement des solutions de blockchain modulaire mainstream comme les Rollups Ethereum en théorie. Cependant, il démontre une grande faisabilité en termes de simplicité dans la mise en œuvre et l'intégration avec les plateformes Web2. SCP n'a pas l'intention de se limiter à un chemin étroit de réalisation comme les Rollups. Au lieu de cela, il vise à adopter un cadre plus large et plus ouvert pour fusionner les plateformes Web2 avec l'infrastructure Web3. Cette approche peut être considérée comme hautement imaginative et innovante.

Envisageons une solution de mise à l'échelle de la blockchain publique avec les caractéristiques suivantes :
Il a des vitesses comparables aux applications ou échanges Web2 traditionnels, dépassant largement toute blockchain publique, Layer 2 (L2), rollups, sidechains, etc.
Il n'y a pas de frais de gaz, et le coût d'utilisation est presque nul.
Une sécurité financière élevée, dépassant les installations centralisées telles que les échanges, inférieure aux Rollups mais supérieure ou égale aux sidechains.
Une expérience utilisateur identique à Web2, sans nécessiter de connaissance des clés publiques et privées de la blockchain, des portefeuilles, de l'infrastructure, etc.
Une telle solution est en effet très excitante : d'une part, elle a essentiellement atteint le sommet en termes de mise à l'échelle ; d'autre part, elle pose des bases solides pour l'adoption de masse de Web3, comblant essentiellement le fossé entre les expériences utilisateur de Web2 et Web3. Cependant, il semble que nous ayons peu de solutions complètes comme celle-ci, car les discussions et pratiques dominantes sont effectivement trop rares.
Nous utilisons le sujet bien connu de l'escalabilité comme introduction ci-dessus, mais SCP n'est pas limité aux cas d'utilisation de l'escalabilité. Son inspiration de conception provient en effet des solutions d'escalabilité et des discussions communautaires des blockchains publiques telles que Bitcoin et Ethereum. Sa vision et son application pratique consistent à construire une nouvelle génération d'infrastructure sans confiance, voire des plateformes computationnelles non basées sur des structures de blockchain.
Couche de disponibilité des données: Gérée par une blockchain publique largement reconnue et bien testée, ou par des installations de stockage servant de couche de disponibilité des données, comme Ethereum, Arweave, Celestia, etc.
Couche d'exécution: Un serveur, utilisé pour recevoir les transactions des utilisateurs et les exécuter, tout en soumettant également en lot les données de transaction signées à la couche DA, similaire aux séquenceurs dans les Rollups. Cependant, la couche d'exécution n'a pas nécessairement besoin d'une structure de chaîne de type blockchain; elle peut être entièrement un système de base de données Web2 + de calcul, mais l'ensemble du système de calcul doit être open source, avec transparence.
Couche de consensus : Composée d'un groupe de nœuds qui récupèrent les données soumises à la couche DA par la couche d'exécution et utilisent le même algorithme que la couche d'exécution pour traiter ces données, confirmant si la sortie de la couche d'exécution est correcte et peut servir de redondance de récupération après sinistre pour la couche d'exécution. Les utilisateurs peuvent également lire les données renvoyées par les nœuds de la couche de consensus pour s'assurer qu'il n'y a pas de comportement frauduleux dans la couche d'exécution.
Couche de règlement : Composée d'un groupe de nœuds et de contrats ou d'adresses sur d'autres chaînes, chargée de gérer les dépôts des utilisateurs dans SCP, ou les retraits de SCP, quelque peu similaire au fonctionnement des ponts inter-chaînes. Les nœuds de la couche de règlement contrôlent la fonction de retrait de l'adresse de dépôt via des contrats multisig ou des adresses basées sur la TSS. Pour les dépôts, les utilisateurs transfèrent des actifs à une adresse désignée sur leur chaîne ; pour les retraits, ils envoient une demande, et après que les nœuds de la couche de règlement aient lu les données, ils libèrent les actifs via des contrats multisig ou la TSS. Le niveau de sécurité de la couche de règlement dépend du mécanisme inter-chaînes utilisé.


Nous pouvons crier ce slogan : “La prochaine génération d'infrastructure sans confiance ne doit pas nécessairement reposer sur des protocoles de consensus, mais elle doit être un système open-source avec un réseau de nœuds Peer-to-Peer (P2P). L'intention initiale d'inventer et d'utiliser la blockchain était d'atteindre la décentralisation, la cohérence du grand livre, l'immutabilité et la traçabilité, comme explicitement indiqué dans le livre blanc de Bitcoin. Cependant, post-Éthereum, que ce soit les solutions d'expansion des anciennes chaînes publiques, les Rollups ou les blockchains modulaires, il y a eu un état d'esprit fixe : ce que nous créons doit soit être une blockchain (composée de protocoles de consensus des nœuds) soit quelque chose comme Rollup (qui semble être une chaîne avec des structures de données de blockchain, mais sans échanges de messages de consensus directs entre les nœuds). Maintenant, dans le cadre basé sur SCP (Stellar Consensus Protocol), il est évident que même sans être une blockchain, il est possible d'atteindre la décentralisation, la cohérence du grand livre, l'immutabilité et la traçabilité, à condition qu'il y ait plus de détails d'implémentation explicites.
Échanges. En utilisant SCP, on peut construire un échange public et transparent avec des taux élevés de transactions par seconde (TPS), combinant les caractéristiques rapides et sans frais d'un échange centralisé (CEX) et la décentralisation d'un échange décentralisé (DEX). Ici, la distinction entre CEX et DEX devient floue.
Réseaux de paiement. Similaire à Alipay, PayPal, etc.
Machines virtuelles/Blockchains supportant des programmes/contrats chargeables. Tout développeur peut déployer n'importe quelle application dessus, partageant toutes les données utilisateur avec d'autres programmes et fonctionnant selon les instructions de l'utilisateur.
Le motif de conception de SCP, qui prend en charge n'importe quel environnement d'exécution, présente des avantages uniques : il n'est pas nécessaire de se fier à des composants avec des bagages historiques, en particulier des concepts comme l'abstraction de compte unique à la communauté Ethereum. Pour SCP, le concept d'abstraction de compte est intrinsèquement inutile. Dans l'architecture de SCP, il n'y a pas de concept d'abstraction de compte - vous pouvez librement adopter des comptes standard Web2 et des comptes de blockchain, etc. De ce point de vue, de nombreux cas d'utilisation Web2 matures n'ont pas besoin d'être repensés et reconstruits pour être directement applicables à SCP. Cet aspect pourrait être là où SCP a un avantage sur les Rollups.

Inscription au compte : Les utilisateurs saisissent un nom d'utilisateur et un mot de passe sur la page d'inscription de l'application. Pour protéger le mot de passe de l'utilisateur, le serveur le traite à travers une fonction de hachage lors de sa réception. Pour augmenter la complexité du hachage et se défendre contre les attaques de tables arc-en-ciel, une chaîne générée de manière aléatoire (appelée "sel") est généralement ajoutée à chaque mot de passe de l'utilisateur avant le hachage. Le nom d'utilisateur, le sel et le hachage sont stockés en texte clair dans la base de données du fournisseur de services et ne sont pas rendus publics. Cependant, même ainsi, le salage et le traitement sécurisé sont nécessaires pour prévenir les menaces internes et les attaques.
Connexion de l'utilisateur : Les utilisateurs saisissent leur nom d'utilisateur et leur mot de passe dans le formulaire de connexion. Le système compare le hachage du mot de passe traité avec le hachage stocké dans la base de données. Si les deux hachages correspondent, cela indique que l'utilisateur a fourni le bon mot de passe et le processus de connexion se poursuit.
Authentification de l'opération : Après une vérification de connexion réussie, le système crée une session pour l'utilisateur. En général, les informations de session sont stockées sur le serveur, et le serveur envoie un identifiant (tel qu'un cookie ou un jeton) au navigateur ou à l'application de l'utilisateur. Lors des opérations ultérieures, les utilisateurs n'ont plus besoin de saisir à plusieurs reprises leur nom d'utilisateur et leur mot de passe : le navigateur ou l'application enregistre l'identifiant du cookie et l'inclut dans chaque requête, indiquant qu'ils ont l'autorisation du serveur associée au cookie.
Connexion de l'utilisateur : Utiliser la blockchain ne nécessite pas de se connecter. La plupart des dApps n'ont pas de processus de connexion mais se connectent plutôt à un portefeuille. Certaines dApps, après s'être connectées à un portefeuille, peuvent exiger que les utilisateurs signent une vérification pour s'assurer qu'ils détiennent effectivement la clé privée, plutôt que d'avoir simplement soumis une adresse de portefeuille à l'interface utilisateur.
Authentification de l'opération : Les utilisateurs soumettent directement des données signées aux nœuds. Après validation, les nœuds diffusent la transaction à l'ensemble du réseau blockchain. Une fois que l'opération est confirmée par le consensus du réseau blockchain, elle est finalisée.
La différence entre ces deux modes est causée par des facteurs symétriques et asymétriques. Dans une architecture serveur-utilisateur, les deux parties détiennent le même secret. Dans une architecture blockchain-utilisateur, seul l'utilisateur détient le secret. Bien que la couche d'exécution de la SCP (Plateforme de Contrat Intelligent) puisse ne pas être une blockchain, toutes les données doivent être synchronisées vers une couche DA (Disponibilité des Données) publiquement visible. Par conséquent, les méthodes de connexion et de vérification des opérations de la SCP doivent être asymétriques. Cependant, pour éviter des actions complexes telles que la gestion des clés privées et l'utilisation de portefeuilles, qui pourraient entraver l'adoption généralisée en raison d'une mauvaise expérience utilisateur, il existe une forte demande pour des connexions d'authentification tierces traditionnelles ID-mot de passe ou OAuth dans les applications construites sur la SCP. Alors, comment combinons-nous les deux? En raison de la nature asymétrique de la cryptographie et des preuves à divulgation nulle, j'envisage deux solutions possibles :

Peu importe la méthode utilisée, les deux sont plus coûteux en termes de développement et d'exploitation que les méthodes traditionnelles, mais c'est un prix nécessaire à payer pour la décentralisation. Bien sûr, si le projet ne considère pas l'extrême décentralisation comme nécessaire, ou s'il a des jalons différents à différentes étapes de développement, il est possible de procéder sans ces conceptions, car la décentralisation n'est pas une question de noir ou blanc mais existe dans une zone grise.
Rendre le pont témoin aussi décentralisé que possible est un sujet de recherche pour de nombreux ponts inter-chaînes. En raison de limitations d'espace, cela ne sera pas élaboré ici. Une plateforme SCP bien conçue en pratique doit également avoir des partenaires réputés de signatures multiples de pont décentralisé. Certains pourraient demander pourquoi SCP n'utilise pas une chaîne avec des contrats intelligents comme couche DA ? Cela permettrait des couches de règlement sans confiance basées sur des contrats. À long terme, en surmontant certaines difficultés techniques, si la couche DA est placée sur Ethereum ou d'autres couches DA activées par des contrats et que des contrats de vérification correspondants peuvent être construits, SCP peut également atteindre la même sécurité de règlement que Rollup, sans avoir besoin de signatures multiples.### En pratique, ce n'est peut-être pas le meilleur choix :- Ethereum n'est pas spécifiquement conçu pour le stockage de données, et par rapport aux blockchains dédiées uniquement au stockage de données, il est assez cher. Pour le paradigme SCP, un coût de stockage suffisamment faible ou fixe est crucial. Seulement ainsi peut-il soutenir un débit de niveau Web2.
Par conséquent, la solution Rollup n'est pratiquement viable que dans des circonstances spécifiques. Si vous prévoyez de mettre en œuvre un système plus large et plus ouvert, en vous éloignant du cadre EVM pour intégrer davantage de fonctionnalités Web2, alors l'approche d'Ethereum Rollup n'est pas adaptée. SCP n'est pas seulement un plan d'expansion pour une certaine blockchain publique, mais une architecture de plateforme informatique Web3 plus large. Par conséquent, il n'a clairement pas besoin de suivre l'approche de la couche 2 d'Ethereum.






