paint-brush
Publication d'Opside Litepaper V2 : Présentation d'un mécanisme ZK-PoW multichaînepar@lumoz
257 lectures

Publication d'Opside Litepaper V2 : Présentation d'un mécanisme ZK-PoW multichaîne

par Lumoz (formerly Opside)12m2023/06/20
Read on Terminal Reader

Trop long; Pour lire

Opside est une plateforme ZK-RaaS décentralisée ainsi qu'un réseau PoW (Proof of Work) qui facilite le minage ZKP (Zero-Knowledge Proof). Il utilise un mécanisme de consensus hybride combinant PoS et PoW. Cette plateforme offre une fonctionnalité unique pour les développeurs Web3, à savoir la possibilité de générer des chaînes d'applications zkEVM.
featured image - Publication d'Opside Litepaper V2 : Présentation d'un mécanisme ZK-PoW multichaîne
Lumoz (formerly Opside) HackerNoon profile picture
0-item


Qu'est-ce qu'Opside ?

Opside est une plateforme décentralisée ZK-RaaS ( ZK-Rollup as a Service ) ainsi qu'un réseau PoW (Proof of Work) qui facilite le minage ZKP (Zero-Knowledge Proof). Il utilise un mécanisme de consensus hybride combinant PoS et PoW. Cette plateforme offre une fonctionnalité unique pour les développeurs Web3, à savoir la possibilité de générer des chaînes d'applications zkEVM en un seul clic. La multitude de ZK-Rollups entraîne un besoin substantiel de puissance de calcul, créant un environnement minier bénéfique pour les mineurs mondiaux.


La notion de L2 est largement reconnue dans les solutions de scalabilité. Cependant, L2 ne gère pas de manière adéquate divers types de ressources matérielles telles que la disponibilité des données, la puissance de calcul ZKP ou les nœuds d'empaquetage. De plus, l'exploitation d'un L2, en particulier d'un ZK-Rollup, nécessite des coûts de maintenance matériels considérables et un haut niveau de compétence technique, ce qui peut être rebutant pour de nombreux développeurs. Pour relever ces défis, Opside a introduit le concept ZK-RaaS. Ce service permet aux développeurs de lancer leurs chaînes zkEVM en une minute, sans avoir besoin de connaissances détaillées sur ZK ou les nœuds de chaîne. Opside a également introduit le concept ZK-PoW, invitant les mineurs à participer à la maintenance de zkEVM et au calcul des ZKP.


L'objectif d'Opside est de simplifier l'utilisation de ZK-Rollup et de promouvoir son adoption plus large, facilitant ainsi le déploiement à grande échelle de chaînes d'applications basées sur zkEVM. Les développeurs peuvent déployer leur ZK-Rollup (zkEVM) sur plusieurs chaînes en un seul clic. Pour les mineurs, Opside sert de protocole PoW multi-chaînes, prenant en charge l'exploitation minière ZK et générant des preuves à connaissance nulle pour ZK-Rollups sur diverses chaînes publiques.


ZK-RaaS

ZK-RaaS (ZK-Rollup as a Service) fournit un service de génération de ZK-Rollup en un clic à tous les utilisateurs. Opside propose une rampe de lancement générale ZK-Rollup, permettant aux développeurs de déployer sans effort différents types de ZK-Rollups sur différentes chaînes de base. Ces chaînes de base comprennent Ethereum, la chaîne Opside, la chaîne BNB, Polygon PoS et d'autres chaînes publiques. Les types de ZK-Rollup (zkEVM) englobent zkSync, Polygon zkEVM, Scroll, StarkNet et d'autres zkEVM, ainsi que d'autres variétés de ZK-Rollups.


Opside déploie un contrat de système de rollup (RSC) sur chaque chaîne de base pour gérer le cycle de vie des rollups sur cette chaîne, y compris l'enregistrement, la suspension et le retrait. En louant un emplacement Rollup avec un certain nombre d'IDE (jetons natifs Opside), les développeurs peuvent posséder un ZK-Rollup.


L'idée d'un emplacement Rollup est comparable à un emplacement dans Polkadot ou à une chaîne d'applications dans Cosmos. Cependant, la chaîne d'applications de Cosmos nécessite de maintenir sa propre couche de consensus et son propre pont inter-chaînes, ce qui présente des risques de sécurité substantiels. Inversement, ZK-Rollup applique la technologie ZK, assurant mathématiquement le consensus partagé et la couche de disponibilité des données entre Rollup et la chaîne de base. Cette méthode est plus sécurisée, plus décentralisée et entraîne des coûts de maintenance inférieurs.


En louant un emplacement Rollup, les développeurs bénéficient d'un environnement d'exécution indépendant, où ils peuvent posséder une chaîne ZK-Rollup unique. Les développeurs peuvent contrôler entièrement le ZK-Rollup et personnaliser son modèle économique, y compris la sélection de jetons de gaz. Ils peuvent ajuster librement les tarifs du gaz, même jusqu'à zéro, exonérant ainsi les utilisateurs de tout paiement.


Les développeurs ne supportent aucun coût matériel. Toutes les ressources matérielles, telles que la disponibilité des données, le séquenceur et la puissance de calcul ZKP, sont décentralisées et fournies par le cloud Opside ZK-PoW.


De plus, une communication cross-rollup native peut être mise en œuvre entre différents ZK-Rollups sur la même chaîne de base. Il s'agit d'un mécanisme de communication de messages permettant à une adresse sur un rollup d'interagir directement avec un contrat sur un autre rollup. Cette fonctionnalité résout de manière significative la fragmentation des ressources utilisateur et améliore l'interopérabilité entre les applications.


Opside ZK-PoW Cloud


Par rapport à OP-Rollup, ZK-Rollup présente plusieurs avantages, notamment une sécurité renforcée, des opérations sans confiance et des vitesses de retrait plus rapides. Une différence technologique clé est que ZK-Rollup nécessite une puissance de calcul ZKP robuste pour générer des preuves sans connaissance.\

Mécanisme ZK-PoW multi-chaînes d'Opside

Le mécanisme ZK-PoW multi-chaînes d'Opside ZK-PoW Cloud sera déployé sur plusieurs chaînes, y compris, mais sans s'y limiter, Ethereum, BNB Chain, Polygon PoS et Opside Chain lui-même. Avec la conception d'Opside, les développeurs peuvent déployer des ZK-Rollups sur ces différentes chaînes de base. Au fur et à mesure que la technologie de ZK-Rollup mûrit, nous pouvons voir des centaines voire des milliers de ZK-Rollups, entraînant une demande importante de puissance de calcul ZKP.


Après la transition d'Ethereum PoW à PoS, de nombreuses machines minières Ethereum ont perdu leurs scénarios d'application. La valeur de ces machines, en termes d'échelle de capital, est d'environ 12 milliards de dollars, dont beaucoup sont actuellement inutilisées. Avec la mise en œuvre à grande échelle de ZK-Rollup, la génération de ZKP nécessite beaucoup de matériel et de machines minières, telles que des processeurs, des GPU et des FPGA, pour fournir une capacité de calcul.


Opside utilise le mécanisme ZK-PoW pour inciter les mineurs à fournir la puissance de calcul ZKP, offrant ainsi une infrastructure matérielle complète pour ZK-Rollup. C'est l'une des idées fondamentales d'Opside. Tous les participants, y compris les utilisateurs, les développeurs et les mineurs, peuvent bénéficier de ce modèle économique Opside.


Mécanisme de soumission en deux étapes pour la vérification ZKP

Pour encourager davantage de mineurs à participer simultanément aux tâches de calcul ZKP, Opside a proposé un mécanisme de soumission en deux étapes pour la vérification ZKP. La part des récompenses PoW pour un ZKP sera distribuée au soumissionnaire effectif du ZKP, le mineur, selon certaines règles.


  1. Submit proofhash : Dans un délai spécifié pour une certaine séquence, plusieurs mineurs peuvent participer au calcul de la preuve à connaissance nulle. Une fois que chaque mineur a calculé la preuve, il ne soumet pas directement la preuve originale mais calcule le proofhash de (preuve/adresse) et soumet ce proofhash au contrat.


  2. Soumettre ZKP : Une fois le délai écoulé, le mineur soumet la preuve originale et la vérifie par rapport à la preuve de hachage précédemment soumise. Les mineurs qui réussissent cette vérification reçoivent des récompenses PoW, la quantité de récompense étant distribuée en fonction de la mise du mineur. Prière de se référer à Algorithme de soumission en deux étapes de ZKP pour plus de détails.


Algorithme de génération ZKP optimisé

Lorsque le contrat intelligent de Rollup vérifie le ZKP, si la preuve originale est soumise, cela pourrait potentiellement inciter à des attaques en chaîne. Pour éviter de telles attaques, ZK-Rollup effectue souvent des opérations supplémentaires pour masquer les données de preuve d'origine. L'algorithme de soumission innovant en deux étapes d'Opside pour ZKP s'appuie sur une approche "soumettre d'abord, vérifier plus tard", évitant les calculs agrégés inutiles pour la preuve et l'adresse.


De plus, dans certains zkEVM open source, le calcul et la soumission de ZKP se produisent de manière séquentielle. Cela peut devenir un goulot d'étranglement lorsque ZK-Rollup soumet un grand nombre de séquences, car les mineurs ne peuvent pas calculer plusieurs ZKP simultanément. L'algorithme de soumission en deux étapes d'Opside permet le calcul parallèle et la soumission séquentielle de ZKP, permettant aux mineurs d'effectuer simultanément plusieurs tâches de génération de ZKP et améliorant considérablement l'efficacité de la génération de ZKP.


L'équipe Opside a également amélioré l'algorithme d'agrégation récursive ZKP, améliorant considérablement l'utilisation des ressources machine dans le cluster et accélérant encore les calculs ZKP. Des tests de résistance dans des environnements pratiques ont montré que les mineurs utilisant un cluster de machines de 20 unités (chacune avec un processeur à 128 cœurs et 1 To de RAM) ont maintenu un taux de transaction de 27,8 TPS pendant environ 40 minutes. Dans des conditions similaires, Opside a réussi à réduire le temps moyen de confirmation des transactions d'environ 5-6 minutes à environ 3 minutes, améliorant ainsi l'efficacité de la génération ZKP d'environ 80 %.


Avec la participation de plus de ZK-Rollups et de mineurs, l'échelle de la demande et de l'offre du marché de la puissance de calcul ZKP continuera de se développer, rendant les améliorations d'efficacité offertes par l'algorithme PoW d'Opside de plus en plus perceptibles.


Chaîne opposée

La chaîne Opside, en tant que l'une des chaînes de base, prend non seulement en charge le nuage Opside ZK-PoW, mais offre également d'autres optimisations pour ZK-Rollup. Celles-ci incluent l'utilisation de contrats précompilés pour une vérification ZKP accélérée, la prise en charge du partage de données et l'adoption d'un consensus PoS basé sur ETH 2.0. La prise en charge future sera également étendue à EIP-4844, DankSharding et à d'autres solutions complètes, réduisant potentiellement les coûts de gaz Rollup à près de zéro.


Ethereum est actuellement le plus grand réseau décentralisé au monde, avec plus d'un demi-million de nœuds. Ces nœuds offrent une décentralisation importante et, à l'avenir, ils sont prêts à fournir une énorme disponibilité des données grâce à la technologie de partage des données. Inspiré d'Ethereum, Opside Chain a choisi d'enrichir le consensus PoS issu de l'ETH 2.0. Nous prévoyons qu'Opside Chain disposera d'un réseau impressionnant de plus de 100 000 nœuds.


Lors de l'examen de Rollup, la question se pose de savoir comment décentraliser davantage le séquenceur au lieu de s'appuyer sur un nœud unique pour l'empaquetage centralisé. Une approche pratique permet aux proposants de blocs d'Opside Chain de proposer également des blocs pour la couche de cumul, séparant efficacement les rôles de constructeur et de proposant. Le constructeur est pris en charge par un réseau P2P sans autorisation, tandis que le proposant s'appuie sur le proposant de bloc d'Opside Chain. Cette méthodologie élimine le risque de disponibilité d'un seul nœud tout en maintenant la résistance à la valeur extractible par les mineurs (MEV) et à la censure.


Par conséquent, Opside Chain présente un mécanisme de séquenceur décentralisé standardisé, ses proposants de blocs proposant également des blocs pour le Rollup. De cette manière, ZK-Rollup hérite non seulement de la sécurité de la couche supérieure, mais également de son degré de décentralisation.


Opside Chain introduit un modèle de consensus mixte impliquant PoS et PoW :


  • Dans la chaîne Opside :
    • PoS : Opside prévoit d'adopter et de modifier l'algorithme PoS d'Ethereum 2.0. Il permet à toute personne détenant des jetons Opside de devenir un validateur, qui peut ensuite recevoir des récompenses en bloc et des frais d'essence au sein de la chaîne Opside.


  • Dans la couche Rollup :
    • PoS (séquenceur) : les validateurs proposent des blocs à la fois dans la chaîne opposée et dans la couche de cumul (c'est-à-dire des lots de données). Par conséquent, ils servent également de séquenceurs dans la couche de cumul, où ils peuvent gagner des frais de gaz sur les transactions.
    • PoW (Prover): Toute personne disposant d'une puissance de calcul suffisante pour les calculs ZKP peut devenir un prouveur dans la couche de cumul. Selon les règles PoW, les prouveurs génèrent des épreuves zk à partir des blocs Rollup Layer soumis par le séquenceur.


En faisant une comparaison, un ZK-Rollup s'apparente à un ordinateur, avec le disque dur représenté par la disponibilité des données offerte par PoS et le CPU reflété par la puissance de calcul accordée par PoW. La tâche d'Opside Chain est de trouver un équilibre entre PoS et PoW, permettant à toutes les parties de maximiser leur contribution et leurs avantages, améliorant ainsi les performances et l'expérience utilisateur d'un réseau ZK-Rollups à grande échelle.


Offre et demande de jetons IDE

En ce qui concerne l'offre et la demande de jetons, les jetons Opside (IDE) seront émis en tant que récompenses PoS et PoW, s'adressant respectivement aux validateurs et aux mineurs. Pendant la phase de réseau de test pré-alpha, le rapport de récompense de bloc de PoS à PoW est temporairement fixé à 1: 2. À l'avenir, ce rapport s'ajustera dynamiquement en fonction de la relation alimentation-demande de puissance de calcul ZKP du réseau.

Récompenses PoS

Comme indiqué précédemment, Opside Chain utilise un consensus PoS amélioré basé sur ETH 2.0. Pour agir en tant que validateur, les utilisateurs doivent déposer une certaine quantité de jetons IDE dans un contrat de dépôt et utiliser trois modules logiciels distincts : un client d'exécution, un client de consensus et un validateur. Ces validateurs supervisent la validation des nouveaux blocs diffusés sur le réseau et génèrent et propagent occasionnellement eux-mêmes de nouveaux blocs. Si un validateur s'avère malhonnête ou inactif, son IDE jalonné sera perdu en guise de punition.


Dans le cadre du mécanisme PoS, Opside Chain maintient un taux fixe de production de blocs. La période est subdivisée en tranches, chacune d'une durée de 12 secondes, et en époques, composées de 32 tranches. Au sein de chaque slot, un validateur est tiré au sort pour proposer un nouveau bloc. Ce validateur est chargé de créer et de diffuser le nouveau bloc au reste du réseau. De même, un comité de validateurs est choisi au hasard lors de chaque créneau, dont les votes collectifs confirment la validité du bloc proposé. Pour une compréhension détaillée de ce mécanisme, veuillez vous référer au Modèle de consensus PoS d'Ethereum .


Pour la phase Alpha testnet, Opside Chain devrait intégrer EIP-4844 . Cela introduit l'échantillonnage de la disponibilité des données (DAS), un outil utilisé pour garantir que les données de transaction de ZK-Rollup sont disponibles après l'exécution, sans surcharger un seul nœud. En pratique, chaque validateur extrait aléatoirement les données de transaction du blob pour vérifier sa présence. La même méthode peut également garantir que toutes les données des producteurs de blocs sont accessibles aux clients légers sécurisés. En accord avec le principe de séparation proposant-constructeur (PBS) , seuls les constructeurs de blocs sont tenus de traiter l'intégralité du bloc, tandis que d'autres validateurs utiliseront l'échantillonnage de la disponibilité des données pour la validation.


Veuillez noter que Opside Chain peut varier en fonction de paramètres spécifiques ; les dernières valeurs sont accessibles dans le référentiel de code.


D'une manière générale, le jalonnement encourage la participation individuelle à la protection du réseau, favorisant ainsi la décentralisation. Les nœuds de validation peuvent être exécutés sur des ordinateurs portables ordinaires. Certains pools de jalonnement de délégation permettent même des activités de jalonnement pour les utilisateurs qui ne détiennent pas une quantité suffisante de jetons IDE.


Récompenses de PoW

Sur la base de la rampe de lancement ZK-Rollup fournie par Opside, les développeurs peuvent choisir d'avoir leur propre ZK-Rollup sur une chaîne de base. Pour prendre en charge les ressources matérielles massives requises par de nombreux ZK-Rollups, Opside propose un marché de calcul ZKP unifié, encourageant les mineurs (ou prouveurs) à générer des ZKP pour ces ZK-Rollups. C'est le mécanisme ZK-PoW d'Opside.


Allocation de récompense de séquence de cumul unique

ZK-PoW est un protocole multi-chaînes, ce qui signifie que les récompenses PoW seront distribuées sur diverses chaînes de base, notamment Ethereum, Opside Chain, BNB Chain et Polygon PoS. Le nombre de récompenses PoW pour chaque chaîne de base dépend du nombre d'emplacements Rollup enregistrés, de la charge de travail ZKP, etc.


Pour chaque chaîne de base, au sein d'un bloc, chaque Rollup ne peut soumettre qu'une seule séquence (qui peut inclure plusieurs blocs du Rollup). Chaque séquence partagera également les récompenses PoW du bloc actuel. Cela signifie, par exemple, que s'il y a quatre Rollups soumettant des séquences dans un bloc sur la chaîne de base, les récompenses PoW seront divisées en quatre parties, chaque séquence recevant un quart des récompenses PoW du bloc. Bien sûr, certains blocs peuvent ne pas avoir de Rollup soumettant une séquence, de sorte que l'inflation réelle du PoW peut être inférieure à celle prévue.


À l'avenir, chaque séquence aura des estimations de charge de travail basées sur le type ZK-Rollup correspondant, le nombre de transactions Rollup, l'utilisation de gaz, etc., pour tarifer différentes séquences différemment.


Jalonnement et pénalités du prouveur

Pour éviter les comportements malveillants liés aux prouveurs, les prouveurs doivent s'inscrire dans un contrat système spécifique et placer des jetons. Les Provers sont libres de participer au minage PoW d'un ou plusieurs Rollups. Les prouveurs doivent miser un certain montant d'IDE dans le contrat système pour chaque Rollup auquel ils souhaitent participer. Si la mise actuelle est inférieure au seuil, ils ne sont pas autorisés à soumettre des ZKP pour ce Rollup. Les récompenses gagnées par les prouveurs pour avoir soumis ZKP seront distribuées en fonction de la proportion des mises, empêchant ainsi les comportements malveillants des prouveurs soumettant ZKP plusieurs fois.


Les Provers seront pénalisés différemment pour les actions suivantes :

  • Si un prouveur soumet un hachage incorrect.
  • Si aucun ZKP ne passe la vérification, tous les prouveurs qui ont soumis un hachage seront pénalisés. Les jetons Opside confisqués seront brûlés.

Pour plus de détails et de considérations sur le mécanisme de soumission en deux étapes pour ZKP, veuillez vous référer à la documentation officielle. Les chiffres spécifiques pour les mises et les pénalités du prouveur peuvent changer à l'avenir.


Développeurs louant des emplacements cumulatifs

Sur chaque chaîne de base, Opside déploiera le protocole ZK-PoW. Les développeurs peuvent enregistrer un emplacement Rollup en un seul clic via le tableau de bord ZK-Rollup, créant ainsi leur propre ZK-Rollup. Toutes les ressources matérielles pour ce ZK-Rollup sont fournies par le réseau Opside décentralisé. Les développeurs doivent payer la location du créneau Rollup, et cette partie du loyer sera directement brûlée.


En plus d'un montant fixe de loyer, les développeurs peuvent également fournir des subventions ZKP supplémentaires pour leur ZK-Rollup afin d'encourager les mineurs à fournir une puissance de calcul.

Les règles et paramètres spécifiques pour le loyer et les subventions peuvent être trouvés dans la documentation officielle ou le référentiel de codes.


Gouvernance et développement

Les fonctions et les performances du réseau Opside continueront d'évoluer au fil du temps. Voici quelques exemples de priorités plus élevées :


  • Ajustez dynamiquement le ratio de distribution des récompenses du PoS et du PoW en fonction de la relation entre l'offre et la demande de la puissance de calcul ZKP dans l'ensemble du réseau.
  • Le partage des données de Validator et l'échantillonnage de la disponibilité des données fourniront un espace de stockage plus abondant pour l'ensemble de la couche de cumul, pouvant accueillir un écosystème plus ZK-Rollup.
  • La séparation du proposant Rollup et du constructeur permet à la couche Rollup d'utiliser le validateur de la chaîne Opside comme proposant de bloc, héritant de la décentralisation de la couche précédente.
  • L'optimisation des mécanismes de jalonnement et de réduction des mineurs encourage les mineurs à fournir une puissance de calcul ZKP continue et stable.
  • Les développeurs d'applications subventionnent la génération ZKP de leurs Rollups pour inciter les mineurs à fournir une puissance de calcul.
  • Estimations de la charge de travail basées sur le type de ZK-Rollup, le nombre de transactions Rollup, la consommation de gaz, etc., pour établir un mécanisme de tarification personnalisé pour les lots Rollup. Ces améliorations amélioreront considérablement l'utilité du réseau Opside, favorisant ainsi le développement et la prospérité à long terme de ZK-Rollup en tant que service.


Après le lancement du réseau principal Opside, un Opside DAO sera établi, qui comprend un processus et un mécanisme raisonnables pour déterminer conjointement l'avenir du réseau. Toutes les mises à jour des paramètres et des mécanismes du réseau principal d'Opside seront déterminées par le DAO d'Opside. Il est important de souligner qu'Opside est une économie co-construite et qui évolue dans le temps.


Les améliorations futures seront détaillées dans les propositions du DAO, expliquant comment ces plans profitent aux intérêts à long terme de l'économie d'Opside et de chaque catégorie de participants. Au fur et à mesure que le réseau se développe, il est crucial de construire une économie capable de fonctionner de manière indépendante et robuste sans avoir besoin d'un grand nombre d'outils et de subventions.