Preuve de brûlage ( PoB ) protocole : nouvelle solution de l'écosystème Cardano
Récemment, une solution a émergé pour relever le défi proposé par Charles Hoskinson. Cette solution introduit le protocole de preuve de brûlage (PoB) dans l'écosystème Cardano. Cet article présentera cette solution nouvellement développée, incluant :
Aperçu du mécanisme de preuve de brûlure et de ses applications
La mise en œuvre et le mécanisme de fonctionnement des contrats intelligents de cette solution PoB sur le réseau Cardano
Déploiement et test de contrat intelligent ( sur le réseau de test )
Exécuter le protocole PoB en envoyant des jetons à l'adresse "trou noir"
1. Preuve de brûlage et ses applications
La combustion des tokens ( et la destruction ) sont des pratiques courantes, consistant essentiellement à envoyer des tokens à une adresse "trou noir" inaccessible. Cette adresse n'a aucune clé privée pour récupérer les tokens détruits. Le public peut vérifier que la destruction a bien eu lieu, mais ne connaît qu'une valeur d'engagement "secrète". Ce mécanisme est conçu pour garantir que les fonds détruits ne soient pas examinés par des intermédiaires.
Le mécanisme de combustion a plusieurs usages, pouvant augmenter la valeur des tokens restants, ou servir de preuve d'engagement pour le protocole de blockchain. La combustion massive de tokens peut entraîner une pression déflationniste, car elle réduit le total des tokens en circulation. Bien que les transactions de combustion soient courantes, elles nécessitent l'acceptation des mineurs. Malgré les avantages de ces mécanismes, certains s'opposent à la combustion des tokens. En conséquence, certaines équipes s'efforcent d'introduire un protocole de combustion de tokens qui ne peut pas être censuré. Cette opération particulière a attiré l'attention de Charles Hoskinson.
La sécurité de la preuve de brûlage et la sécurité des transactions de transfert de jetons reposent sur le même mécanisme - la fonction de hachage cryptographique. Ces fonctions sont faciles à calculer, mais difficiles à inverser. En essence, la raison pour laquelle il est difficile de les inverser est qu'un seul changement de bit dans l'entrée entraîne un changement aléatoire de chaque bit dans la sortie. Cela signifie que remonter à partir de la sortie d'une fonction de hachage cryptographique prend énormément de temps. En résumé, inverser le bit le moins significatif d'une fonction de hachage cryptographique peut créer une adresse de trou noir. Tout ce qui est envoyé à cette adresse deviendra difficile ou impossible à récupérer.
La sécurité des transactions cryptographiques repose entièrement sur la cryptographie à clé publique et les fonctions de hachage cryptographique : "Chaque fois que des fonds sont envoyés, une nouvelle sortie de transaction non dépensée (UTxO) est créée." Ce UTxO enregistre le montant des fonds et le hachage cryptographique de la clé publique du destinataire. Si le destinataire souhaite utiliser ces fonds, il doit signer une nouvelle transaction de dépense avec la même clé publique.
Pourquoi inverser le bit de poids faible de la sortie de la fonction de hachage au lieu d'utiliser directement le hachage 0x0 ? La raison est qu'utiliser une valeur connue rend la combustion immédiatement visible. Cependant, le protocole envisage de d'abord brûler des fonds, puis de prouver qu'ils ont été brûlés dans une étape séparée avec (. Pour cela, il faut d'abord commencer par le hachage de la valeur d'engagement créée. Par la suite, la valeur d'engagement indique qu'une adresse de trou noir a été créée.
2. Preuve de brûlage sur le réseau Cardano ) PoB ( contrat intelligent
Cette section expliquera le mécanisme de preuve de brûlage dans les contrats intelligents Cardano. Les contrats intelligents Cardano sont des programmes qui s'exécutent sur le réseau Cardano, permettant aux développeurs de contrats d'exécuter des transactions financières ) selon des règles spécifiques. Les contrats intelligents visent à établir des transactions transparentes et vérifiables entre différentes parties. Récemment, l'essor des services financiers décentralisés et des organisations décentralisées a propulsé la croissance exponentielle des applications de contrats intelligents.
Les contrats intelligents de type Ethereum traditionnels sont composés d'un état enregistré sur le grand livre et de programmes qui appellent cet état de manière asynchrone. Étant donné que l'état sur le grand livre appartient au contrat intelligent, il ne peut être modifié que par des programmes, toutes les opérations d'état autorisées peuvent être déduites du code du programme et enregistrées sur la blockchain.
L'écosystème Cardano adopte une structure différente, permettant aux utilisateurs de simuler chaque transaction dans leur propre portefeuille, rendant ainsi les attaques sur le réseau ( plus difficiles. Les changements résultants sont validés par des nœuds de blockchain, puis enregistrés. Pour cela, les contrats intelligents Cardano ont trois composants :
Script de rachat : autoriser ou interdire la dépense des eUTxOs
Script de portefeuille : représente l'exécution par l'utilisateur, pour récupérer des fonds et créer de nouveaux eUTxOs
eUTxOs : chaque eUTxO détient des fonds et un point de données )datum(, que le racheteur utilise pour déterminer dans quelles conditions ces fonds peuvent être à nouveau utilisés.
Cela signifie que les contrats intelligents Cardano n'ont pas d'état centralisé sur le registre. Chaque eUTxO a un état indépendant )datum(, qui est indivisible de ses fonds. Cela conduit aux quatre types d'opérations suivants :
Brûlage : envoyer des fonds à une adresse de trou noir avec une valeur d'engagement de hachage secret
Détruit : la combustion pour vérifier la valeur d'engagement spécifique a effectivement eu lieu.
Verrouiller : envoyer des fonds à une adresse avec une clé
Rachat : racheter des fonds bloqués auparavant
Il est important de noter que le point de terminaison fonctionne dans le portefeuille de l'utilisateur. Une fois que le script du point de terminaison a fini de s'exécuter dans le portefeuille, la transaction générée sera transférée sur la blockchain. Dans notre cas, cette transaction déplacera des fonds vers le script du bénéficiaire. Ce script vérifie que les fonds ne peuvent être accessibles que par l'adresse cible possédant la valeur de hachage.
Lors de l'opération de verrouillage, la valeur de hachage peut être notre propre adresse. Dans la combustion, la valeur de hachage pointe vers une adresse de trou noir. Nous réalisons cela en donnant à la valeur de hachage un engagement secret, puis en l'inversant. Étant donné que nous utilisons une fonction de hachage cryptographique, il est presque impossible de trouver une valeur de hachage correspondante correspondant au résultat.
Attention : flipCommitment ne retourne que le bit le moins significatif du hachage )LSB(.
Les intermédiaires acceptant les transactions ne peuvent pas savoir s'il s'agit d'une transaction de brûlage ou de verrouillage. En utilisant ce script, les intermédiaires ne peuvent pas examiner sélectivement les transactions de brûlage. Le brûlage et le verrouillage utilisent le même format de racheteur, seuls les initiateurs de la transaction savent s'il s'agit d'un brûlage ou d'un verrouillage. La valeur de brûlage peut être vérifiée en utilisant le point final détruit avec la valeur d'engagement donnée. Avant que la valeur d'engagement ne soit publiée, personne ne sait combien de fonds ont été détruits. Si vous êtes intéressé par le code, la bibliothèque de code sera détaillée dans la section suivante.
3. Déploiement des contrats intelligents ) sur le réseau de test (
Pour démarrer un nœud de testnet avec un portefeuille, vous aurez besoin d'une phrase de récupération et d'un mot de passe aléatoire. Vous pouvez déployer un contrat intelligent en exécutant les étapes suivantes :
) 1. Installer la chaîne d'outils Haskell
( 2. Construire un protocole Plutus
) 3. Démarrer le conteneur de connexion au nœud Cardano et au portefeuille Cardano
4. Restaurer le portefeuille et afficher l'ID du portefeuille### Les étapes suivantes nécessitent###, exécutez le code suivant### pour générer une phrase mnémotechnique aléatoire pour les tests(
) 5. Exécution de tokens de brûlage
( 6. Exécuter, valider la combustion
En exécutant les étapes ci-dessus, il est impossible pour des tiers de savoir s'il s'agit d'une transaction de brûlage ou de verrouillage. Cependant, après la publication de ce script, des personnes pourraient essayer de compiler un refus de rachat, correspondant au hachage du script de rachat proposé. Cela nécessite un effort considérable, mais pourrait entraîner un certain nombre de brûlages soumis à un examen. Pour éviter cette situation et rendre les violations plus difficiles, la section suivante discutera de la façon de rendre cette solution plus sûre.
4. Des contrats intelligents aux scripts de portefeuille
En utilisant le fait que la majorité des opérations de contrats intelligents se déroulent dans le portefeuille de l'utilisateur, la création de solutions n'utilisant que le portefeuille pourrait rendre les contrats intelligents inutiles. Cependant, cette approche pourrait avoir un avantage pratique, à savoir qu'il est impossible de bloquer sélectivement les transactions des contrats intelligents correspondants à la combustion. Cependant, ceux qui souhaitent bloquer tous les brûleurs peuvent atteindre leur objectif en bloquant tous les scripts. En n'utilisant que le portefeuille, la seule manière de contrôler la combustion est de contrôler toutes les transactions Cardano. Cela représente une résistance ultime à la censure.
Pour réaliser cela, nous devons remplacer le hachage de la clé publique par le hachage de la valeur d'engagement et inverser le bit de poids faible de la valeur d'engagement. Mais ce n'est pas suffisant. Cardano empêche les erreurs d'entrée dans les adresses en vérifiant la structure et le code CRC. Ainsi, la méthode la plus simple pour générer une adresse à partir d'un engagement est d'utiliser le script suivant et la bibliothèque API Cardano.
Pour voir comment cela fonctionne, vous pouvez utiliser le code suivant pour générer une adresse de combustion :
Ensuite, vous pouvez utiliser le code suivant pour soumettre la transaction au protocole Cardano :
Pour vérifier la combustion, vous devez utiliser le code suivant pour voir les transactions envoyées à l'adresse de combustion:
Cet article divise la mise en œuvre du protocole de preuve de brûlure en deux méthodes : les contrats intelligents ou les transactions de portefeuille. Cependant, les contrats intelligents Alonzo manquent actuellement d'infrastructures nécessaires, comme la bibliothèque PAB. Par conséquent, nous suggérons d'utiliser des scripts de portefeuille. Quoi qu'il en soit, la bibliothèque PAB sera mise en œuvre dans un avenir proche pour le développement d'applications basées sur Cardano, combinée avec des scripts de portefeuille, une solution de contrat intelligent complexe pourrait être plus viable pour créer un environnement capable de résister à une éventuelle censure. Si vous souhaitez en savoir plus sur cette solution, vous pouvez consulter toutes les informations pertinentes sur GitHub.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
8 J'aime
Récompense
8
4
Partager
Commentaire
0/400
MetaMisery
· Il y a 10h
ada peut être en hausse maintenant.
Voir l'originalRépondre0
MetamaskMechanic
· Il y a 10h
Wow, c'est trop brûlant !
Voir l'originalRépondre0
OldLeekMaster
· Il y a 10h
Alors brûle-le, ça peut chuter à quelques centimes.
Voir l'originalRépondre0
FalseProfitProphet
· Il y a 11h
Avec une telle intensité de combustion, quel effet cela peut-il avoir ?
Cardano introduit le protocole de preuve de brûlage : explication de la solution PoB
Preuve de brûlage ( PoB ) protocole : nouvelle solution de l'écosystème Cardano
Récemment, une solution a émergé pour relever le défi proposé par Charles Hoskinson. Cette solution introduit le protocole de preuve de brûlage (PoB) dans l'écosystème Cardano. Cet article présentera cette solution nouvellement développée, incluant :
1. Preuve de brûlage et ses applications
La combustion des tokens ( et la destruction ) sont des pratiques courantes, consistant essentiellement à envoyer des tokens à une adresse "trou noir" inaccessible. Cette adresse n'a aucune clé privée pour récupérer les tokens détruits. Le public peut vérifier que la destruction a bien eu lieu, mais ne connaît qu'une valeur d'engagement "secrète". Ce mécanisme est conçu pour garantir que les fonds détruits ne soient pas examinés par des intermédiaires.
Le mécanisme de combustion a plusieurs usages, pouvant augmenter la valeur des tokens restants, ou servir de preuve d'engagement pour le protocole de blockchain. La combustion massive de tokens peut entraîner une pression déflationniste, car elle réduit le total des tokens en circulation. Bien que les transactions de combustion soient courantes, elles nécessitent l'acceptation des mineurs. Malgré les avantages de ces mécanismes, certains s'opposent à la combustion des tokens. En conséquence, certaines équipes s'efforcent d'introduire un protocole de combustion de tokens qui ne peut pas être censuré. Cette opération particulière a attiré l'attention de Charles Hoskinson.
La sécurité de la preuve de brûlage et la sécurité des transactions de transfert de jetons reposent sur le même mécanisme - la fonction de hachage cryptographique. Ces fonctions sont faciles à calculer, mais difficiles à inverser. En essence, la raison pour laquelle il est difficile de les inverser est qu'un seul changement de bit dans l'entrée entraîne un changement aléatoire de chaque bit dans la sortie. Cela signifie que remonter à partir de la sortie d'une fonction de hachage cryptographique prend énormément de temps. En résumé, inverser le bit le moins significatif d'une fonction de hachage cryptographique peut créer une adresse de trou noir. Tout ce qui est envoyé à cette adresse deviendra difficile ou impossible à récupérer.
La sécurité des transactions cryptographiques repose entièrement sur la cryptographie à clé publique et les fonctions de hachage cryptographique : "Chaque fois que des fonds sont envoyés, une nouvelle sortie de transaction non dépensée (UTxO) est créée." Ce UTxO enregistre le montant des fonds et le hachage cryptographique de la clé publique du destinataire. Si le destinataire souhaite utiliser ces fonds, il doit signer une nouvelle transaction de dépense avec la même clé publique.
Pourquoi inverser le bit de poids faible de la sortie de la fonction de hachage au lieu d'utiliser directement le hachage 0x0 ? La raison est qu'utiliser une valeur connue rend la combustion immédiatement visible. Cependant, le protocole envisage de d'abord brûler des fonds, puis de prouver qu'ils ont été brûlés dans une étape séparée avec (. Pour cela, il faut d'abord commencer par le hachage de la valeur d'engagement créée. Par la suite, la valeur d'engagement indique qu'une adresse de trou noir a été créée.
![])https://img-cdn.gateio.im/webp-social/moments-e942fc679d8ef7e55f3db32648b24d99.webp(
2. Preuve de brûlage sur le réseau Cardano ) PoB ( contrat intelligent
Cette section expliquera le mécanisme de preuve de brûlage dans les contrats intelligents Cardano. Les contrats intelligents Cardano sont des programmes qui s'exécutent sur le réseau Cardano, permettant aux développeurs de contrats d'exécuter des transactions financières ) selon des règles spécifiques. Les contrats intelligents visent à établir des transactions transparentes et vérifiables entre différentes parties. Récemment, l'essor des services financiers décentralisés et des organisations décentralisées a propulsé la croissance exponentielle des applications de contrats intelligents.
Les contrats intelligents de type Ethereum traditionnels sont composés d'un état enregistré sur le grand livre et de programmes qui appellent cet état de manière asynchrone. Étant donné que l'état sur le grand livre appartient au contrat intelligent, il ne peut être modifié que par des programmes, toutes les opérations d'état autorisées peuvent être déduites du code du programme et enregistrées sur la blockchain.
L'écosystème Cardano adopte une structure différente, permettant aux utilisateurs de simuler chaque transaction dans leur propre portefeuille, rendant ainsi les attaques sur le réseau ( plus difficiles. Les changements résultants sont validés par des nœuds de blockchain, puis enregistrés. Pour cela, les contrats intelligents Cardano ont trois composants :
Cela signifie que les contrats intelligents Cardano n'ont pas d'état centralisé sur le registre. Chaque eUTxO a un état indépendant )datum(, qui est indivisible de ses fonds. Cela conduit aux quatre types d'opérations suivants :
Il est important de noter que le point de terminaison fonctionne dans le portefeuille de l'utilisateur. Une fois que le script du point de terminaison a fini de s'exécuter dans le portefeuille, la transaction générée sera transférée sur la blockchain. Dans notre cas, cette transaction déplacera des fonds vers le script du bénéficiaire. Ce script vérifie que les fonds ne peuvent être accessibles que par l'adresse cible possédant la valeur de hachage.
Lors de l'opération de verrouillage, la valeur de hachage peut être notre propre adresse. Dans la combustion, la valeur de hachage pointe vers une adresse de trou noir. Nous réalisons cela en donnant à la valeur de hachage un engagement secret, puis en l'inversant. Étant donné que nous utilisons une fonction de hachage cryptographique, il est presque impossible de trouver une valeur de hachage correspondante correspondant au résultat.
Attention : flipCommitment ne retourne que le bit le moins significatif du hachage )LSB(.
Les intermédiaires acceptant les transactions ne peuvent pas savoir s'il s'agit d'une transaction de brûlage ou de verrouillage. En utilisant ce script, les intermédiaires ne peuvent pas examiner sélectivement les transactions de brûlage. Le brûlage et le verrouillage utilisent le même format de racheteur, seuls les initiateurs de la transaction savent s'il s'agit d'un brûlage ou d'un verrouillage. La valeur de brûlage peut être vérifiée en utilisant le point final détruit avec la valeur d'engagement donnée. Avant que la valeur d'engagement ne soit publiée, personne ne sait combien de fonds ont été détruits. Si vous êtes intéressé par le code, la bibliothèque de code sera détaillée dans la section suivante.
![])https://img-cdn.gateio.im/webp-social/moments-f7f162dc2a412b8d5ff903636b2e631b.webp(
3. Déploiement des contrats intelligents ) sur le réseau de test (
Pour démarrer un nœud de testnet avec un portefeuille, vous aurez besoin d'une phrase de récupération et d'un mot de passe aléatoire. Vous pouvez déployer un contrat intelligent en exécutant les étapes suivantes :
) 1. Installer la chaîne d'outils Haskell
( 2. Construire un protocole Plutus
) 3. Démarrer le conteneur de connexion au nœud Cardano et au portefeuille Cardano
4. Restaurer le portefeuille et afficher l'ID du portefeuille### Les étapes suivantes nécessitent###, exécutez le code suivant### pour générer une phrase mnémotechnique aléatoire pour les tests(
) 5. Exécution de tokens de brûlage
( 6. Exécuter, valider la combustion
En exécutant les étapes ci-dessus, il est impossible pour des tiers de savoir s'il s'agit d'une transaction de brûlage ou de verrouillage. Cependant, après la publication de ce script, des personnes pourraient essayer de compiler un refus de rachat, correspondant au hachage du script de rachat proposé. Cela nécessite un effort considérable, mais pourrait entraîner un certain nombre de brûlages soumis à un examen. Pour éviter cette situation et rendre les violations plus difficiles, la section suivante discutera de la façon de rendre cette solution plus sûre.
![])https://img-cdn.gateio.im/webp-social/moments-7777b1db89195a287d84464f2b80b5e9.webp###
4. Des contrats intelligents aux scripts de portefeuille
En utilisant le fait que la majorité des opérations de contrats intelligents se déroulent dans le portefeuille de l'utilisateur, la création de solutions n'utilisant que le portefeuille pourrait rendre les contrats intelligents inutiles. Cependant, cette approche pourrait avoir un avantage pratique, à savoir qu'il est impossible de bloquer sélectivement les transactions des contrats intelligents correspondants à la combustion. Cependant, ceux qui souhaitent bloquer tous les brûleurs peuvent atteindre leur objectif en bloquant tous les scripts. En n'utilisant que le portefeuille, la seule manière de contrôler la combustion est de contrôler toutes les transactions Cardano. Cela représente une résistance ultime à la censure.
Pour réaliser cela, nous devons remplacer le hachage de la clé publique par le hachage de la valeur d'engagement et inverser le bit de poids faible de la valeur d'engagement. Mais ce n'est pas suffisant. Cardano empêche les erreurs d'entrée dans les adresses en vérifiant la structure et le code CRC. Ainsi, la méthode la plus simple pour générer une adresse à partir d'un engagement est d'utiliser le script suivant et la bibliothèque API Cardano.
Pour voir comment cela fonctionne, vous pouvez utiliser le code suivant pour générer une adresse de combustion :
Ensuite, vous pouvez utiliser le code suivant pour soumettre la transaction au protocole Cardano :
Pour vérifier la combustion, vous devez utiliser le code suivant pour voir les transactions envoyées à l'adresse de combustion:
![]###https://img-cdn.gateio.im/webp-social/moments-fed84a6717b012408df1b428b2d80586.webp(
Conclusion
Cet article divise la mise en œuvre du protocole de preuve de brûlure en deux méthodes : les contrats intelligents ou les transactions de portefeuille. Cependant, les contrats intelligents Alonzo manquent actuellement d'infrastructures nécessaires, comme la bibliothèque PAB. Par conséquent, nous suggérons d'utiliser des scripts de portefeuille. Quoi qu'il en soit, la bibliothèque PAB sera mise en œuvre dans un avenir proche pour le développement d'applications basées sur Cardano, combinée avec des scripts de portefeuille, une solution de contrat intelligent complexe pourrait être plus viable pour créer un environnement capable de résister à une éventuelle censure. Si vous souhaitez en savoir plus sur cette solution, vous pouvez consulter toutes les informations pertinentes sur GitHub.
![])https://img-cdn.gateio.im/webp-social/moments-3d2bf883bd43da42085612065d17c6ef.webp(