Interprétation de SCP : sortir du paradigme de l'infrastructure sans confiance basée sur le rollup

ForesightNews

Comment sortir de l’esprit Rollup et intégrer la plateforme Web2 avec Web3 avec un framework plus large et plus ouvert ?

Écrit par Wuyue, Geek Web3

**Introduction : **Cet article présentera de manière prospective un paradigme de conception d’infrastructure Web3 apparemment unique - Paradigme de consensus basé sur le stockage (SCP). Bien que ce modèle de conception de produit soit en théorie assez différent des solutions de blockchain modulaires traditionnelles telles que comme Ethereum Rollup, mais il est tout à fait réalisable en termes de facilité de mise en œuvre et de facilité de connexion avec la plateforme Web2, car il a Dès le début, je n’avais pas l’intention de me limiter à un chemin d’implémentation étroit comme Rollup. un cadre plus large et plus ouvert pour intégrer la plateforme Web2 et les fonctionnalités Web3, qui peut être considéré comme un cerveau. Une approche grande ouverte et imaginative.

Texte : Imaginons une solution d’expansion de chaîne publique avec les caractéristiques suivantes :

  • Il a une vitesse comparable aux applications ou échanges Web2 traditionnels, dépassant de loin n’importe quelle chaîne publique, L2, rollup, side chain, etc.
  • Il n’y a pas de frais de gaz et le coût d’utilisation est presque nul.
  • La sécurité des fonds est élevée, dépassant de loin celle des installations centralisées telles que les bourses, inférieure au Rollup mais supérieure ou égale aux chaînes latérales.
  • La même expérience utilisateur que Web2, sans aucune connaissance des clés publiques et privées, des portefeuilles, de l’infrastructure, etc. de la blockchain.

Une telle solution est en effet très intéressante : d’une part, elle a permis d’atteindre le summum en matière d’expansion de capacité ; d’autre part, elle a également jeté une base très solide pour l’adoption massive du Web3, éliminant fondamentalement l’écart entre Web2 et Web3. expérience d’utilisation.

Cependant, nous ne parvenons pas à imaginer combien de solutions peuvent être aussi complètes, car il y a en effet trop peu de débats et de pratiques dominantes.

Nous avons utilisé l’expansion, un sujet très familier, comme introduction ci-dessus. En fait, SCP ne se limite pas à l’expansion. Sa conception s’inspire des plans d’expansion et des discussions communautaires de chaînes publiques telles que Bitcoin et Ethereum. Sa vision et son application pratique sont de construire une nouvelle génération d’infrastructures sans confiance, voire une plateforme informatique sans blockchain. **

Composants de base et principes de fonctionnement de SCP

De manière générale, **SCP ressemble également à ce que les communautés Ethereum et Celestia appellent une « blockchain modulaire ».**Il comporte des divisions de modules telles que la couche de disponibilité des données, la couche d’exécution, la couche de consensus et la couche de règlement.

  • Couche de disponibilité des données : Elle est assumée par une chaîne publique ou des installations de stockage largement reconnues et éprouvées comme 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, et en même temps soumettre les données de transaction signées par l’utilisateur à la couche DA par lots, similaire au séquenceur de Rollup. Mais la couche d’exécution n’a pas nécessairement une structure de liste chaînée de type blockchain. Elle peut être entièrement une base de données Web2 + un système informatique, mais l’ensemble du système informatique doit être open source et transparent.
  • Couche de consensus : Elle est composée d’un groupe de nœuds. Ils extraient les données soumises par la couche d’exécution à la couche DA et utilisent le même algorithme que la couche d’exécution pour opérer sur ces données afin de confirmer si le résultat la sortie de la couche d’exécution est correcte et peut être utilisée comme redondance de prévention des catastrophes pour la couche d’exécution. Les utilisateurs peuvent également lire les données renvoyées par chaque nœud dans la couche consensus pour s’assurer qu’il n’y a pas de fraude dans la couche d’exécution.
  • Couche de règlement : Elle est composée d’un groupe de nœuds et de contrats ou d’adresses sur d’autres chaînes. Elle est utilisée pour gérer le comportement des utilisateurs qui rechargent sur SCP ou retirent de l’argent de SCP. Elle est quelque peu similaire au mode de fonctionnement. d’un pont à chaînes croisées. Le nœud de la couche de règlement contrôle la fonction de retrait de l’adresse de recharge via des contrats multi-signatures ou des adresses basées sur TSS. Lors de la recharge, l’utilisateur dépose les actifs à l’adresse indiquée sur la chaîne et lors du retrait, une demande est envoyée. Une fois que le nœud de la couche de règlement a lu les données, il libère les actifs via multi-signature ou TSS. Le niveau de sécurité de la couche de règlement dépend du mécanisme inter-chaînes adopté.

Cadre de pratique de SCP

Nous pouvons comprendre le paradigme SCP à travers le cadre suivant. Un produit qui répond au cadre SCP peut avoir des fonctions principales telles que la recharge, le transfert, le retrait, l’échange, etc., et peut être étendu sur cette base. L’image ci-dessous est un diagramme schématique d’un tel produit :

  • La couche DA du projet utilise l’installation de stockage permanente Arweave, le grand cercle sur l’image.
  • **Coordinateur, la couche d’exécution. ** L’utilisateur soumet la transaction au coordinateur, le coordinateur effectue l’opération et affiche les résultats de l’opération, puis soumet les données d’entrée originales de l’utilisateur à la couche DA par lots.
  • Detector extrait les données de transaction originales soumises par le coordinateur d’Arweave et utilise l’algorithme cohérent avec le coordinateur pour vérifier les données et les résultats. Le client du détecteur est également open source et peut être exécuté par n’importe qui.
  • **Watchmen, un groupe de testeurs en charge de la multi-signature du système de retrait. ** Les demandes de retrait seront vérifiées et publiées en fonction des données de transaction. De plus, le gardien est également chargé de signer la proposition.

Nous pouvons voir l’ensemble du système, et le consensus auquel ils sont parvenus est entièrement situé hors chaîne. C’est le cœur du paradigme du consensus de stockage : il abandonne le système de consensus de nœuds de style blockchain et libère la couche d’exécution d’un consensus lourd. Le processus de confirmation ne nécessite que le travail d’un seul serveur, permettant ainsi d’obtenir un TPS et une économie presque illimités. Ceci est très similaire à Rollup, mais SCP a emprunté un chemin différent de Rollup, le faisant passer d’un cas d’utilisation dédié à l’expansion de capacité à un nouveau modèle de transition du Web2 au Web3. **

Le coordinateur mentionné ci-dessus est un serveur, mais cela ne veut pas dire qu’il peut faire ce qu’il veut. Semblable au trieur de Rollup, une fois les données originales soumises par les utilisateurs soumises par lots sur Arweave, n’importe qui peut exécuter le programme de détection pour les vérifier et les comparer avec l’état renvoyé par le coordinateur. **Dans une certaine mesure, c’est exactement la même chose que l’idée des demandes d’inscription. **

Dans cette architecture, un serveur et une base de données centralisés ne posent pas de problème fondamental. C’est également un autre point du paradigme SCP, qui lie et découple les deux concepts de « centralisation » et d’« entité unique » - **Dans un système sans confiance, il peut y avoir des composants centralisés, **il peut même s’agir de composants centraux, mais cela n’affecte pas le manque de confiance général.

Nous pouvons crier un tel slogan : “La prochaine génération d’infrastructures sans confiance ne doit pas nécessairement s’appuyer sur des protocoles de consensus, mais devrait être des systèmes open source et des réseaux de nœuds P2P”.

L’intention initiale des personnes qui inventent et utilisent la blockchain est de se méfier des registres cohérents, des principes fondamentaux infalsifiables, traçables et autres, qui sont clairement énoncés dans le livre blanc Bitcoin. **Mais après Ethereum, **qu’il s’agisse du plan d’expansion de l’ancienne chaîne publique, ou du Rollup ou de la blockchain modulaire, tout le monde a formé un état d’esprit : ce que nous faisons doit être une blockchain ( Il s’agit du protocole de consensus des nœuds), ou une solution comme Rollup qui ressemble à une chaîne (elle a juste la structure de données de la blockchain, mais les nœuds n’échangent pas directement de messages de consensus).

Mais maintenant, dans le cadre basé sur SCP, même s’il ne s’agit pas d’une blockchain, une série d’exigences telles que le manque de confiance, la cohérence du registre, la non-contrefaçon, la traçabilité, etc. être des détails de mise en œuvre plus clairs.

Couche d’exécution

La couche d’exécution est cruciale dans l’ensemble du système. Elle entreprend le processus informatique de l’ensemble du système et détermine quelles applications peuvent être exécutées sur le système.

Environnements d’exécution possibles sans fin

Théoriquement, l’environnement d’exécution dans la couche d’exécution peut prendre n’importe quelle forme, et les possibilités sont infinies, en fonction de la manière dont la partie prenante du projet positionne son projet :

*Échange. Sur la base de SCP, un échange ouvert, transparent et à TPS élevé peut être construit. Cet échange peut non seulement avoir les caractéristiques de vitesse et de coût nul de CEX, mais également maintenir la décentralisation de DEX. La distinction entre CEX et DEX devient ici floue.

  • Réseau de paiement. Similaire à Alipay, PayPal, etc.
  • Prise en charge de la machine virtuelle/blockchain pour le chargement de programmes/contrats. N’importe quel développeur peut y déployer n’importe quelle application, partager toutes les données utilisateur avec d’autres programmes et fonctionner selon les instructions de l’utilisateur.

**SCP, un modèle de conception qui prend en charge les environnements d’exécution arbitraires, présente des avantages uniques : **Vous n’avez plus besoin de vous fier à certains composants avec un bagage historique, en particulier le concept “d’abstraction de compte” propre à la communauté Ethereum, qui est très important. à SCP. On dit que ce n’est pas nécessaire par nature.

Dans l’architecture SCP, il n’y a pas de concept d’abstraction de compte - vous pouvez utiliser à volonté les comptes standard Web2 et les comptes blockchain. De ce point de vue, de nombreux cas d’utilisation Web2 matures peuvent être directement utilisés sur SCP sans repenser ni construire. Cela peut être l’avantage de SCP par rapport à Rollup. **

Transparence et asymétrie

Le système de compte a été mentionné ci-dessus. Les lecteurs sensibles auraient dû découvrir que même si SCP peut utiliser le système de compte Web2, il semble y avoir des problèmes pour l’utiliser tel quel.

Parce que tout ce système est totalement transparent ! L’utilisation directe du modèle d’interaction utilisateur-serveur entraînera de sérieux problèmes, n’entraînant aucune sécurité pour l’ensemble du système. Voyons d’abord comment fonctionne le modèle serveur-utilisateur traditionnel :

1. Enregistrement du compte : L’utilisateur saisit le nom d’utilisateur et le mot de passe sur la page d’enregistrement de l’application. Pour protéger le mot de passe de l’utilisateur, le serveur traite le mot de passe via une fonction de hachage après l’avoir reçu. Pour augmenter la complexité du hachage et se protéger contre les attaques de table arc-en-ciel, le mot de passe de chaque utilisateur est souvent concaténé avec une chaîne générée aléatoirement (appelée « sel ») et haché ensemble. **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 divulgués au public. **Mais malgré cela, le salage et le traitement de sécurité sont toujours nécessaires pour empêcher les attaques internes et les attaques.

2. Connexion utilisateur : Les utilisateurs saisissent leur nom d’utilisateur et leur mot de passe sur le formulaire de connexion. Le système compare la valeur de hachage du mot de passe traitée avec la valeur de hachage stockée dans la base de données. Si les deux hachages correspondent, l’utilisateur a fourni le mot de passe correct et le processus de connexion continue.

3. Authentification de l’opération : Une fois l’authentification de connexion réussie, le système créera une session pour l’utilisateur. En règle générale, les informations de session sont stockées sur le serveur et le serveur envoie une identification (telle qu’un jeton) au navigateur ou à l’application de l’utilisateur. Les utilisateurs n’auront plus besoin de ressaisir leur nom d’utilisateur et leur mot de passe lors des opérations ultérieures : le navigateur ou l’application enregistrera l’identifiant et l’inclura à chaque demande pour indiquer qu’ils ont l’autorisation du serveur associé.

** Passons en revue le système typique d’interaction utilisateur-blockchain Web3 :**

1. Enregistrement du compte : Il n’y a en fait aucun processus d’enregistrement de compte et il n’y a pas de système de nom d’utilisateur et de mot de passe. Les comptes (adresses) n’ont pas besoin d’être enregistrés, ils existent naturellement et celui qui possède la clé privée contrôle le compte. La clé privée est générée localement de manière aléatoire par le portefeuille et n’implique pas le processus de mise en réseau.

2. Connexion utilisateur : L’utilisation de la blockchain ne nécessite pas de connexion. La plupart des dApps n’ont pas de processus de connexion, mais se connectent au portefeuille. Certaines dApps exigeront que les utilisateurs effectuent une vérification de signature après s’être connectés au portefeuille pour s’assurer que l’utilisateur détient réellement la clé privée, plutôt que de simplement transmettre une adresse de portefeuille au front-end.

**3. Authentification de l’opération : ** L’utilisateur soumet directement les données signées au nœud. Après vérification, le nœud diffusera la transaction à l’ensemble du réseau blockchain. Après avoir rencontré le consensus du réseau blockchain, l’opération de l’utilisateur sera confirmée .

La différence entre les deux modes est due à la symétrie et à l’asymétrie. Dans une architecture serveur-utilisateur, les deux parties détiennent les mêmes secrets. Dans une architecture blockchain-utilisateur, seul l’utilisateur détient le secret.

Bien que la couche d’exécution de SCP ne soit pas une blockchain, toutes les données doivent être synchronisées avec la couche DA visible publiquement. ** Par conséquent, les méthodes de connexion et de vérification des opérations utilisées par SCP doivent être asymétriques. **Mais comme nous ne voulons pas que les utilisateurs conservent des clés privées, utilisent des portefeuilles et d’autres actions fastidieuses et une mauvaise expérience qui affectent l’adoption à grande échelle, il existe également une forte demande pour que les applications construites sur SCP utilisent des mots de passe d’identification traditionnels ou OAuth. authentification à trois pour se connecter. Alors comment combiner les deux ?

En raison de la nature asymétrique de la cryptographie asymétrique et des preuves sans connaissance, J’ai envisagé deux solutions possibles :

  • Si vous souhaitez utiliser le système ID-mot de passe, vous ne pouvez pas inclure ce module de sauvegarde de mot de passe dans le SCP, afin qu’il ne soit pas visible par les autres. La couche d’exécution SCP utilise toujours les comptes de clés publiques et privées et la logique de fonctionnement de la blockchain, et il n’y a pas d’enregistrement, pas de connexion, etc. **L’identifiant de l’utilisateur correspond en réalité à une clé privée. **Bien sûr, cette clé privée ne peut pas être enregistrée côté projet. Une solution plus réalisable consiste à utiliser 2-3 MPC pour résoudre le problème du stockage centralisé sans laisser aux utilisateurs la charge d’utiliser des clés privées.
  • **Lorsque vous utilisez OAuth pour vous connecter, JWT (Json Web Token) peut être utilisé comme méthode d’authentification. **Cette méthode sera légèrement plus centralisée que la précédente, car elle s’appuie essentiellement sur le service de connexion tiers fourni par le grand fabricant Web2 pour l’authentification de l’identité.

  • Lorsque vous utilisez un tiers pour vous connecter pour la première fois, enregistrez les champs dans le JWT qui représentent l’identité de l’utilisateur et l’identité du fournisseur de services dans le système. Dans les opérations ultérieures de l’utilisateur, les instructions d’opération sont utilisées comme entrée publique et le JWT dans son ensemble est utilisé comme témoin secret pour vérifier la transaction de chaque utilisateur avec ZKP.
  • Chaque JWT a un délai d’expiration et l’utilisateur demandera également un nouveau JWT lors de sa prochaine connexion, il n’est donc pas nécessaire de le conserver de manière permanente. De plus, ce système doit également s’appuyer sur JWK, qui peut être compris comme la clé publique fournie par le fabricant pour vérifier JWK. Ainsi, comment introduire JWK dans le système de manière décentralisée et comment gérer la rotation des clés privées à l’avenir méritent également d’être explorés.

**Quelle que soit la méthode utilisée, les coûts de développement et de calcul sont plus élevés que la méthode traditionnelle, mais c’est aussi le prix nécessaire à payer pour la décentralisation. **Bien sûr, si la partie au projet ne pense pas qu’une décentralisation extrême est nécessaire, ou s’il y a différentes étapes à différents stades de développement, ce n’est pas grave sans ces conceptions, car la décentralisation n’est pas noire et blanche, mais il y a une zone grise. entre.

Confidentialité

Les problèmes de transparence mentionnés ci-dessus affectent non seulement le paradigme d’interaction de l’utilisateur, mais également les données de l’utilisateur. Les données utilisateur sont directement exposées. Bien que ce ne soit pas un problème dans la blockchain, cela n’est pas acceptable dans certaines applications, les développeurs peuvent donc également créer des systèmes de transactions privées.

SONNER

La façon dont la couche exécutive facture est un autre point digne d’attention. Car soumettre des données à la couche DA nécessite également des coûts, notamment le fonctionnement de son propre serveur. Le premier objectif principal de la blockchain traditionnelle facturant aux utilisateurs des frais de gaz est d’empêcher les utilisateurs d’endommager le réseau de transactions en effectuant un grand nombre de transactions répétées, et le second est de trier les transactions en fonction du gaz. Web2 n’a pas de préoccupations similaires, il n’y a donc que des concepts de base tels que l’inondation et le DDoS.

**La couche d’exécution peut personnaliser diverses stratégies de facturation, comme totalement gratuite ou partiellement chargée. **Elle peut également bénéficier d’autres comportements tels que MEV (très mature dans le séquenceur), les activités de marché, etc.

Résistance à la censure

La couche d’exécution n’est pas résistante à la censure et peut théoriquement refuser les transactions des utilisateurs sans limite. Dans Rollup, la résistance à la censure peut être garantie par la fonction de collecte forcée du contrat L1, tandis que la chaîne latérale ou chaîne publique est un réseau blockchain distribué complet et est difficile à censurer.

**Il n’existe actuellement aucune solution claire au problème de la résistance à la censure, qui est un problème du paradigme SCP. **

Couche de consensus

Cette couche est composée de nœuds lâches.Ces nœuds ne forment pas activement un réseau, il ne s’agit donc pas d’une couche de consensus au sens strict, mais est uniquement utilisée pour confirmer l’état actuel de la couche d’exécution au monde extérieur (comme les utilisateurs).

Par exemple, si vous avez des doutes sur la santé de ces nœuds, vous pouvez télécharger leur client détecteur, qui exécutera le même code de programme que le coordinateur. **

Cependant, cela est similaire au Rollup : étant donné que les données sont soumises par lots, le statut renvoyé à l’utilisateur par la couche d’exécution est toujours plus récent que celui de la couche DA. Cela implique un problème de pré-confirmation :

**La couche d’exécution donne aux utilisateurs des résultats finaux pré-confirmés, **car ils n’ont pas encore été soumis à la couche DA ;

**La couche de consensus offre aux utilisateurs une finalité ferme. ** Les utilisateurs ne s’en soucient peut-être pas particulièrement, mais pour les applications telles que les ponts entre chaînes, une finalité stricte doit être suivie. Par exemple, le système de dépôt et de retrait de la bourse ne croira pas les données diffusées hors chaîne par le séquenceur Rollup et devra attendre que les données soient téléchargées sur Ethereum avant d’être reconnues.

En plus d’être utilisée pour confirmer les résultats, la couche consensus joue également un rôle très important, à savoir celui de redondance de prévention des catastrophes pour la couche d’exécution. **Si la couche d’exécution se met en grève en permanence et commet des crimes graves, en théorie, n’importe quelle couche de consensus peut reprendre le travail de la couche d’exécution et recevoir les demandes des utilisateurs. Si une situation aussi grave se produit, la communauté doit choisir un nœud stable et fiable comme serveur de couche d’exécution.

Couche de règlement

Étant donné que SCP n’est pas un Rollup, il ne peut pas réaliser de retraits sans confiance qui ne nécessitent pas d’intervention manuelle et sont entièrement basés sur la cryptographie et le code de contrat intelligent comme la couche de règlement des retraits de Rollup. **Le niveau de sécurité du pont inter-chaînes SCP est le même que celui de la chaîne latérale ou du pont inter-chaînes témoin tiers. **Il doit s’appuyer sur des gestionnaires multi-signatures autorisés pour libérer les actifs. Nous l’appelons mode témoin .

Rendre le pont témoin aussi décentralisé que possible est un sujet de nombreuses études de ponts inter-chaînes. Faute de place, nous n’entrerons pas dans les détails ici. Une plate-forme SCP bien conçue doit également disposer d’un partenaire multi-signature réputé d’un pont décentralisé dans la pratique.

**Quelqu’un peut se demander pourquoi SCP n’utilise pas une chaîne avec des contrats intelligents comme couche DA ? **Cela permet une couche de règlement basée sur un contrat et totalement sans confiance.

À long terme, tant que certaines difficultés techniques sont surmontées, si la couche DA est placée sur la couche DA avec des contrats tels que Ethereum et que les contrats de vérification correspondants peuvent être construits, SCP peut également obtenir la même sécurité de règlement que Rollup. Pas besoin d’utiliser plusieurs signatures.

Mais en pratique, ce n’est peut-être pas le meilleur choix :

  1. Ethereum n’est pas spécifiquement utilisé pour le stockage de données et son prix est trop élevé par rapport à une chaîne publique de stockage de données pur. **Pour le paradigme SCP, des coûts de stockage suffisamment faibles ou fixes sont cruciaux. **Ce n’est qu’ainsi qu’il sera possible de prendre en charge le débit de niveau Web2.

2.** Cela prouve que le système est très difficile à développer, car SCP peut non seulement simuler l’EVM, mais également implémenter n’importe quelle logique. **Et quand on regarde des équipes comme Optimism, dont la preuve de fraude n’est toujours pas en ligne, et à quel point il est difficile de développer zkEVM, on peut imaginer qu’il est extrêmement difficile de mettre en œuvre la preuve de divers systèmes sur Ethereum.

Par conséquent,**Rollup est une solution qui n’a une meilleure faisabilité pratique que dans des circonstances spécifiques.**Si vous envisagez de mettre en œuvre une solution plus large et plus ouverte, de vous débarrasser du système EVM et d’intégrer davantage de fonctionnalités Web2, alorsEthernetL’idée de​ ​Fang Rollup ne convient pas.

**SCP n’est pas un certain plan d’expansion de la chaîne publique, mais une architecture de plate-forme informatique Web3 plus large, il n’est donc évidemment pas nécessaire de suivre l’idée d’Ethereum Layer 2. **

Une image comparant SCP et d’autres paradigmes

Voir l'original
Avertissement : Les informations contenues dans cette page peuvent provenir de tiers et ne représentent pas les points de vue ou les opinions de Gate. Le contenu de cette page est fourni à titre de référence uniquement et ne constitue pas un conseil financier, d'investissement ou juridique. Gate ne garantit pas l'exactitude ou l'exhaustivité des informations et n'est pas responsable des pertes résultant de l'utilisation de ces informations. Les investissements en actifs virtuels comportent des risques élevés et sont soumis à une forte volatilité des prix. Vous pouvez perdre la totalité du capital investi. Veuillez comprendre pleinement les risques pertinents et prendre des décisions prudentes en fonction de votre propre situation financière et de votre tolérance au risque. Pour plus de détails, veuillez consulter l'avertissement.
Commentaire
0/400
Aucun commentaire