第3课

Sécurité de la blockchain

Dans cette leçon, nous donnerons un aperçu des mécanismes de sécurité de la technologie blockchain et examinerons les différences de sécurité entre les divers types de réseaux blockchain.

Aperçu des mécanismes de sécurité de la blockchain

La technologie Blockchain offre une structure sécurisée pour les données, basée sur les principes de la cryptographie, de la décentralisation et du consensus. Cette combinaison de caractéristiques permet de garantir la confiance dans les transactions et offre une protection contre la falsification des données. Dans cette leçon, nous donnerons un aperçu des mécanismes de sécurité de la technologie blockchain et examinerons les différences de sécurité entre les divers types de réseaux blockchain.

Lisez notre cours spécifique et détaillé sur la sécurité : Blockchain Security : Cryptography , Consensus , Hack

Si vous êtes nouveau et que vous voulez juste un aperçu du monde de la sécurité de la blockchain, continuez à lire ci-dessous !

Sécurité de base de la blockchain

  • Cryptographie : La technologie Blockchain utilise des techniques cryptographiques avancées pour sécuriser les données. Les transactions sont signées à l'aide de clés privées, ce qui garantit l'authenticité de l'expéditeur, tandis que les clés publiques permettent de vérifier la transaction sans révéler l'identité de l'expéditeur.
  • Décentralisation : Les réseaux blockchain distribuent les données à travers un vaste réseau de nœuds, éliminant ainsi tout point de défaillance unique. Cette décentralisation garantit qu'aucun utilisateur ne peut modifier l'enregistrement des transactions, ce qui accroît la sécurité globale du système.
  • Consensus : Un mécanisme de consensus valide et approuve les transactions au sein des blocs, garantissant que chaque transaction est vraie et correcte. Ces mécanismes peuvent varier d'un réseau blockchain à l'autre, mais leur objectif premier est d'établir la confiance dans le système.

Différences de sécurité entre les types de blockchain

Les réseaux de blockchain peuvent être classés en réseaux publics, privés, avec ou sans autorisation, en fonction de la participation et de l'accès :

  1. Blockchains publiques: Les blockchains publiques, telles que Bitcoin, permettent à quiconque de rejoindre le réseau et d'y participer. Les participants peuvent rester anonymes et le réseau s'appuie sur des ordinateurs connectés à l'internet pour valider les transactions et parvenir à un consensus grâce à un processus appelé "minage". Les blockchains publiques ont des contrôles d'identité et d'accès limités.

  2. Blockchains privées: En revanche, les blockchains privées limitent la participation à des organisations connues qui forment un réseau privé, réservé aux membres. Ces réseaux parviennent à un consensus par le biais d'un "endossement sélectif", où des utilisateurs connus valident les transactions. Les contrôles d'identité et d'accès sont plus stricts dans les blockchains privées.

  3. Blockchains sans permission: Ces réseaux n'imposent pas de restrictions aux processeurs, ce qui permet à tout participant de contribuer aux processus de validation et de consensus du réseau.

  4. Blockchains autorisées: Les réseaux autorisés n'accordent l'accès qu'à un groupe restreint d'utilisateurs auxquels sont délivrées des identités à l'aide de certificats. Ces réseaux disposent d'une identité plus solide et de contrôles d'accès en place.
    Lors du développement d'une application blockchain, il est essentiel de déterminer quel type de réseau correspond le mieux à vos objectifs commerciaux. Les réseaux privés et autorisés offrent davantage de contrôle et sont préférables pour des raisons de réglementation et de conformité. En revanche, les réseaux publics et sans autorisation permettent une plus grande décentralisation et une meilleure distribution. En comprenant les différents mécanismes de sécurité et types de réseaux, vous pouvez sélectionner le réseau blockchain le plus approprié pour votre application, en garantissant une sécurité solide et des performances efficaces.

Identification des techniques cryptographiques et des fonctions de hachage

Les fonctions de hachage cryptographique jouent un rôle essentiel pour garantir la sécurité au sein de la technologie blockchain. Dans cette leçon, nous allons explorer les fonctions de hachage cryptographique, leur fonctionnement et leurs applications dans divers contextes, notamment la blockchain, la sécurité des mots de passe et la sécurité des messages.

Qu'est-ce qu'une fonction de hachage cryptographique ?

Une fonction de hachage cryptographique est une fonction mathématique qui prend des données d'entrée de longueur variable et renvoie une sortie de longueur fixe, appelée "valeur de hachage". Ces fonctions combinent les capacités de passage de messages des fonctions de hachage ordinaires avec des propriétés de sécurité supplémentaires.

Principaux enseignements :

Les fonctions de hachage cryptographiques transforment un ensemble donné de données en une chaîne de bits de taille fixe. Ils sont utilisés dans diverses applications, telles que les crypto-monnaies, la sécurité des mots de passe et la sécurité des messages.

Les fonctions de hachage cryptographiques sont conçues pour être sûres et présentent les propriétés suivantes :

  • Sans collision : Deux hachages d'entrée ne doivent pas correspondre au même hachage de sortie, ce qui réduit les risques de manipulation ou de falsification des données.
  • Cachée : il doit être difficile de deviner la valeur d'entrée d'une fonction de hachage à partir de sa sortie, ce qui garantit la confidentialité des données.
  • Facilité de résolution des problèmes : il doit être difficile de sélectionner une entrée qui fournit une sortie prédéfinie, ce qui favorise une large distribution des valeurs d'entrée.
    Ces propriétés sont souhaitables mais ne sont pas toujours réalisables dans la pratique. Cependant, les fonctions de hachage cryptographique sont encore largement utilisées pour renforcer la sécurité des systèmes numériques.

Exemples de fonctions de hachage cryptographiques et d'applications :

  • Cryptocurrencies : Les fonctions de hachage cryptographique sont essentielles dans les crypto-monnaies pour sécuriser le traitement des transactions. Bitcoin, par exemple, utilise la fonction de hachage cryptographique SHA-256 dans son algorithme. Les arbres de Merkle, un type d'arbre de hachage, sont utilisés dans les crypto-monnaies pour vérifier efficacement la validité des transactions et des blocs en regroupant les transactions et en créant un hachage unique pour chaque groupe.
  • Vérification du mot de passe : Le stockage des mots de passe en texte brut n'est pas sûr, c'est pourquoi la plupart des sites web stockent des hachages de mots de passe. Lorsqu'un utilisateur saisit son mot de passe, le système l'analyse et le compare à la valeur de hachage stockée pour s'assurer qu'il y a bien correspondance.
  • Génération et vérification de signatures : Les signatures numériques vérifient l'authenticité des documents ou des messages numériques. Un système de signature numérique se compose généralement de trois algorithmes : un algorithme de génération de clé, un algorithme de signature et un algorithme de vérification de la signature.
  • Vérification de l'intégrité des fichiers et des messages : les fonctions de hachage peuvent être utilisées pour garantir l'intégrité des messages et des fichiers transmis entre l'expéditeur et le destinataire. En comparant la valeur de hachage calculée à une valeur publiée, les destinataires peuvent confirmer que les données n'ont pas été altérées pendant le transport.

Importance de la sécurisation des contrats intelligents et des clés privées

La sécurisation des clés privées est essentielle pour maintenir l'intégrité et la confiance dans les systèmes de blockchain. Les clés privées sont utilisées pour signer les transactions et sont donc essentielles pour contrôler l'accès aux actifs de la blockchain. Cependant, le stockage sécurisé des clés privées peut s'avérer difficile. En cas de perte ou de vol d'une clé privée, les actifs associés à cette clé peuvent être définitivement inaccessibles.

Calculs multipartites (MPC)

Une solution potentielle à ce problème de confiance est l'utilisation de calculs multipartites (MPC). Les MPC permettent de répartir une clé privée entre plusieurs participants, décentralisant ainsi son utilisation. Des protocoles tels que les générations de clés décentralisées (DKG) garantissent que la clé privée n'est jamais entièrement présente où que ce soit, et tant qu'un nombre suffisant de participants agissent honnêtement, le système reste sûr. Des projets comme Axelar mettent en œuvre cette approche pour permettre l'interopérabilité entre différentes blockchains.

Contrats intelligents à connaissance nulle

Les contrats intelligents à connaissance nulle, ou zkapps, offrent une approche différente. Dans ces systèmes, le détenteur d'une clé privée peut exécuter localement la logique associée à la clé privée, comme la signature d'une transaction Bitcoin. Grâce aux preuves à connaissance nulle (ZKP), d'autres personnes peuvent vérifier que la clé privée a été utilisée correctement, conformément au contrat, sans connaître la clé privée elle-même. Toutefois, cette approche nécessite de faire confiance au détenteur de la clé pour qu'il ne la divulgue pas ou ne l'utilise pas à des fins malveillantes.

Abstraction de compte

L'abstraction de compte est une autre technique qui peut être utilisée pour renforcer la sécurité des clés privées. L'abstraction de compte permet aux contrats intelligents de détenir des clés privées et d'effectuer des opérations de signature. Cette approche offre une plus grande flexibilité dans la conception des contrats intelligents et réduit le risque de perte ou de vol de clés.

Combinaison de MPC et de preuves à connaissance nulle :

Pour élargir la portée des opérations sécurisées des contrats intelligents, les chercheurs ont proposé de combiner le MPC avec des preuves à connaissance nulle. Cette approche permet l'exécution de n'importe quel programme de manière sûre et vérifiable (via ZKP), avec différentes parties du programme provenant de différents participants (via MPC).

Un article récent intitulé "Experimenting with Collaborative zk-SNARKs : Zero-Knowledge Proofs for Distributed Secrets" présente une solution pour combiner ces deux techniques. Bien qu'il n'y ait pas encore d'implémentation sur la chaîne, on s'attend à ce que cette innovation ouvre de nouvelles possibilités pour les blockchains programmables.

En explorant et en mettant en œuvre des solutions innovantes telles que les contrats intelligents à connaissance nulle, les calculs multipartites et la combinaison des MPC avec les ZKP, nous pouvons faire progresser le domaine de la sécurité de la blockchain et débloquer de nouvelles applications pour cette technologie transformatrice.

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。
目录
第3课

Sécurité de la blockchain

Dans cette leçon, nous donnerons un aperçu des mécanismes de sécurité de la technologie blockchain et examinerons les différences de sécurité entre les divers types de réseaux blockchain.

Aperçu des mécanismes de sécurité de la blockchain

La technologie Blockchain offre une structure sécurisée pour les données, basée sur les principes de la cryptographie, de la décentralisation et du consensus. Cette combinaison de caractéristiques permet de garantir la confiance dans les transactions et offre une protection contre la falsification des données. Dans cette leçon, nous donnerons un aperçu des mécanismes de sécurité de la technologie blockchain et examinerons les différences de sécurité entre les divers types de réseaux blockchain.

Lisez notre cours spécifique et détaillé sur la sécurité : Blockchain Security : Cryptography , Consensus , Hack

Si vous êtes nouveau et que vous voulez juste un aperçu du monde de la sécurité de la blockchain, continuez à lire ci-dessous !

Sécurité de base de la blockchain

  • Cryptographie : La technologie Blockchain utilise des techniques cryptographiques avancées pour sécuriser les données. Les transactions sont signées à l'aide de clés privées, ce qui garantit l'authenticité de l'expéditeur, tandis que les clés publiques permettent de vérifier la transaction sans révéler l'identité de l'expéditeur.
  • Décentralisation : Les réseaux blockchain distribuent les données à travers un vaste réseau de nœuds, éliminant ainsi tout point de défaillance unique. Cette décentralisation garantit qu'aucun utilisateur ne peut modifier l'enregistrement des transactions, ce qui accroît la sécurité globale du système.
  • Consensus : Un mécanisme de consensus valide et approuve les transactions au sein des blocs, garantissant que chaque transaction est vraie et correcte. Ces mécanismes peuvent varier d'un réseau blockchain à l'autre, mais leur objectif premier est d'établir la confiance dans le système.

Différences de sécurité entre les types de blockchain

Les réseaux de blockchain peuvent être classés en réseaux publics, privés, avec ou sans autorisation, en fonction de la participation et de l'accès :

  1. Blockchains publiques: Les blockchains publiques, telles que Bitcoin, permettent à quiconque de rejoindre le réseau et d'y participer. Les participants peuvent rester anonymes et le réseau s'appuie sur des ordinateurs connectés à l'internet pour valider les transactions et parvenir à un consensus grâce à un processus appelé "minage". Les blockchains publiques ont des contrôles d'identité et d'accès limités.

  2. Blockchains privées: En revanche, les blockchains privées limitent la participation à des organisations connues qui forment un réseau privé, réservé aux membres. Ces réseaux parviennent à un consensus par le biais d'un "endossement sélectif", où des utilisateurs connus valident les transactions. Les contrôles d'identité et d'accès sont plus stricts dans les blockchains privées.

  3. Blockchains sans permission: Ces réseaux n'imposent pas de restrictions aux processeurs, ce qui permet à tout participant de contribuer aux processus de validation et de consensus du réseau.

  4. Blockchains autorisées: Les réseaux autorisés n'accordent l'accès qu'à un groupe restreint d'utilisateurs auxquels sont délivrées des identités à l'aide de certificats. Ces réseaux disposent d'une identité plus solide et de contrôles d'accès en place.
    Lors du développement d'une application blockchain, il est essentiel de déterminer quel type de réseau correspond le mieux à vos objectifs commerciaux. Les réseaux privés et autorisés offrent davantage de contrôle et sont préférables pour des raisons de réglementation et de conformité. En revanche, les réseaux publics et sans autorisation permettent une plus grande décentralisation et une meilleure distribution. En comprenant les différents mécanismes de sécurité et types de réseaux, vous pouvez sélectionner le réseau blockchain le plus approprié pour votre application, en garantissant une sécurité solide et des performances efficaces.

Identification des techniques cryptographiques et des fonctions de hachage

Les fonctions de hachage cryptographique jouent un rôle essentiel pour garantir la sécurité au sein de la technologie blockchain. Dans cette leçon, nous allons explorer les fonctions de hachage cryptographique, leur fonctionnement et leurs applications dans divers contextes, notamment la blockchain, la sécurité des mots de passe et la sécurité des messages.

Qu'est-ce qu'une fonction de hachage cryptographique ?

Une fonction de hachage cryptographique est une fonction mathématique qui prend des données d'entrée de longueur variable et renvoie une sortie de longueur fixe, appelée "valeur de hachage". Ces fonctions combinent les capacités de passage de messages des fonctions de hachage ordinaires avec des propriétés de sécurité supplémentaires.

Principaux enseignements :

Les fonctions de hachage cryptographiques transforment un ensemble donné de données en une chaîne de bits de taille fixe. Ils sont utilisés dans diverses applications, telles que les crypto-monnaies, la sécurité des mots de passe et la sécurité des messages.

Les fonctions de hachage cryptographiques sont conçues pour être sûres et présentent les propriétés suivantes :

  • Sans collision : Deux hachages d'entrée ne doivent pas correspondre au même hachage de sortie, ce qui réduit les risques de manipulation ou de falsification des données.
  • Cachée : il doit être difficile de deviner la valeur d'entrée d'une fonction de hachage à partir de sa sortie, ce qui garantit la confidentialité des données.
  • Facilité de résolution des problèmes : il doit être difficile de sélectionner une entrée qui fournit une sortie prédéfinie, ce qui favorise une large distribution des valeurs d'entrée.
    Ces propriétés sont souhaitables mais ne sont pas toujours réalisables dans la pratique. Cependant, les fonctions de hachage cryptographique sont encore largement utilisées pour renforcer la sécurité des systèmes numériques.

Exemples de fonctions de hachage cryptographiques et d'applications :

  • Cryptocurrencies : Les fonctions de hachage cryptographique sont essentielles dans les crypto-monnaies pour sécuriser le traitement des transactions. Bitcoin, par exemple, utilise la fonction de hachage cryptographique SHA-256 dans son algorithme. Les arbres de Merkle, un type d'arbre de hachage, sont utilisés dans les crypto-monnaies pour vérifier efficacement la validité des transactions et des blocs en regroupant les transactions et en créant un hachage unique pour chaque groupe.
  • Vérification du mot de passe : Le stockage des mots de passe en texte brut n'est pas sûr, c'est pourquoi la plupart des sites web stockent des hachages de mots de passe. Lorsqu'un utilisateur saisit son mot de passe, le système l'analyse et le compare à la valeur de hachage stockée pour s'assurer qu'il y a bien correspondance.
  • Génération et vérification de signatures : Les signatures numériques vérifient l'authenticité des documents ou des messages numériques. Un système de signature numérique se compose généralement de trois algorithmes : un algorithme de génération de clé, un algorithme de signature et un algorithme de vérification de la signature.
  • Vérification de l'intégrité des fichiers et des messages : les fonctions de hachage peuvent être utilisées pour garantir l'intégrité des messages et des fichiers transmis entre l'expéditeur et le destinataire. En comparant la valeur de hachage calculée à une valeur publiée, les destinataires peuvent confirmer que les données n'ont pas été altérées pendant le transport.

Importance de la sécurisation des contrats intelligents et des clés privées

La sécurisation des clés privées est essentielle pour maintenir l'intégrité et la confiance dans les systèmes de blockchain. Les clés privées sont utilisées pour signer les transactions et sont donc essentielles pour contrôler l'accès aux actifs de la blockchain. Cependant, le stockage sécurisé des clés privées peut s'avérer difficile. En cas de perte ou de vol d'une clé privée, les actifs associés à cette clé peuvent être définitivement inaccessibles.

Calculs multipartites (MPC)

Une solution potentielle à ce problème de confiance est l'utilisation de calculs multipartites (MPC). Les MPC permettent de répartir une clé privée entre plusieurs participants, décentralisant ainsi son utilisation. Des protocoles tels que les générations de clés décentralisées (DKG) garantissent que la clé privée n'est jamais entièrement présente où que ce soit, et tant qu'un nombre suffisant de participants agissent honnêtement, le système reste sûr. Des projets comme Axelar mettent en œuvre cette approche pour permettre l'interopérabilité entre différentes blockchains.

Contrats intelligents à connaissance nulle

Les contrats intelligents à connaissance nulle, ou zkapps, offrent une approche différente. Dans ces systèmes, le détenteur d'une clé privée peut exécuter localement la logique associée à la clé privée, comme la signature d'une transaction Bitcoin. Grâce aux preuves à connaissance nulle (ZKP), d'autres personnes peuvent vérifier que la clé privée a été utilisée correctement, conformément au contrat, sans connaître la clé privée elle-même. Toutefois, cette approche nécessite de faire confiance au détenteur de la clé pour qu'il ne la divulgue pas ou ne l'utilise pas à des fins malveillantes.

Abstraction de compte

L'abstraction de compte est une autre technique qui peut être utilisée pour renforcer la sécurité des clés privées. L'abstraction de compte permet aux contrats intelligents de détenir des clés privées et d'effectuer des opérations de signature. Cette approche offre une plus grande flexibilité dans la conception des contrats intelligents et réduit le risque de perte ou de vol de clés.

Combinaison de MPC et de preuves à connaissance nulle :

Pour élargir la portée des opérations sécurisées des contrats intelligents, les chercheurs ont proposé de combiner le MPC avec des preuves à connaissance nulle. Cette approche permet l'exécution de n'importe quel programme de manière sûre et vérifiable (via ZKP), avec différentes parties du programme provenant de différents participants (via MPC).

Un article récent intitulé "Experimenting with Collaborative zk-SNARKs : Zero-Knowledge Proofs for Distributed Secrets" présente une solution pour combiner ces deux techniques. Bien qu'il n'y ait pas encore d'implémentation sur la chaîne, on s'attend à ce que cette innovation ouvre de nouvelles possibilités pour les blockchains programmables.

En explorant et en mettant en œuvre des solutions innovantes telles que les contrats intelligents à connaissance nulle, les calculs multipartites et la combinaison des MPC avec les ZKP, nous pouvons faire progresser le domaine de la sécurité de la blockchain et débloquer de nouvelles applications pour cette technologie transformatrice.

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。