Byte Jun présentera d'abord à tout le monde ce qu'est la cryptographie. Bref, la cryptographie est la science qui étudie comment crypter et déchiffrer.。
Le cryptage et le déchiffrement existent depuis l'Antiquité, comme le célèbre « chiffre César ». César est le fondateur de l'Empire romain. Certains historiens le considèrent comme l'empereur sans couronne de l'Empire romain et il est surnommé « César le Grand ». En fait, César lui-même aimait beaucoup écrire des textes secrets.
Pendant la guerre en Gaule (aujourd'hui le sud de la France), César a non seulement vaincu ses ennemis, mais il a également créé un réseau de renseignement étendu et approfondi. Dans les archives de la guerre des Gaules, il est indiqué que son ami, le général romain Cicéron, s'est fait transmettre des messages chiffrés alors qu'il était encerclé. César a utilisé la forme de texte chiffré pour éviter que « lorsque le message est intercepté par l'ennemi, nos contre-mesures ne soient pas découvertes par l'ennemi ».
Ce texte chiffré classique est « VIMRJSVGIQIRXW SRXLI AEC », qui est crypté par décalage de quatre bits, comme la lettre initiale R+4=V. Après avoir déchiffré le texte chiffré, le texte en clair obtenu est « DES RENFORTS EN ROUTE », ce qui signifie « des renforts sont en route ».
Par conséquent, le code César chiffre les lettres en déplaçant les lettres du texte en clair vers l'arrière selon un chiffre fixe.
Avec l'évolution de l'époque, le chiffrement et le déchiffrement sont progressivement devenus une science, la cryptographie. Avant l'émergence de la blockchain, la cryptographie avait de nombreuses applications sur Internet, comme le plus célèbre algorithme de cryptage asymétrique, le RSA. Ici, Byte Jun présentera d'abord à tout le monde ce qu'est le cryptage symétrique et ce qu'est le cryptage asymétrique.
Le cryptage symétrique signifie que la même clé est utilisée pour le cryptage et le déchiffrement. Pour faire une analogie et aider tout le monde à comprendre, nous comparons le cryptage au verrouillage et le déchiffrement au déverrouillage. Le cryptage symétrique signifie que la même clé est utilisée pour le verrouillage et le déverrouillage. L'inconvénient est donc que les deux parties à la transaction utilisent la même clé et que la sécurité ne peut être garantie.
Le chiffrement asymétrique comporte deux clés, l'une publique (clé publique) et l'autre une clé privée (clé privée). C'est comme une serrure avec deux clés A et B. La clé A est requise pour verrouiller la serrure et la clé B pour l'ouvrir.
L'algorithme de cryptage RSA est un algorithme de cryptage asymétrique. De nombreux protocoles Internet utilisaient le RSA auparavant, et aujourd'hui, le RSA est également l'algorithme de cryptage asymétrique le plus utilisé et le plus compatible dans les différents navigateurs et protocoles de messagerie.
La raison pour laquelle Internet a atteint son ampleur actuelle, du point de vue de la sécurité et de la commodité, est indissociable de l'utilisation intensive des mots de passe. Par exemple, SubtleCrypto, un algorithme que l'on trouve presque dans les navigateurs, peut même être utilisé dans de petits environnements de programmes ; et l'algorithme WebAuthn, devenu une norme recommandée par le W3C en 2019, rend la cryptographie des navigateurs aussi puissante qu'un portefeuille matériel, et son utilisation est très pratique à utiliser (peut être déverrouillée par empreinte digitale, scan du visage, etc.).
Pour en revenir à la blockchain, si ces infrastructures cryptographiques Internet peuvent être utilisées directement, au lieu d'obliger les utilisateurs à télécharger des plug-ins et des applications de portefeuille, et à suivre le processus de stockage des phrases mnémotechniques eux-mêmes, le seuil utilisateur pour les DApps pourrait être considérablement abaissé.
Cependant, la cryptographie des blockchains classiques est généralement codée en dur au niveau inférieur. Par exemple :
Les algorithmes de signature de ces blockchains sont incompatibles avec les systèmes de cryptographie utilisés sur Internet classique et ne peuvent pas être utilisés directement. Ils ne peuvent compter que sur des installations réinstallées.
La différence entre la chaîne publique Nervos CKB, c'est que vous pouvez utiliser un chiffrement personnalisé, et celui-ci n'est pas codé en dur en bas de page. Cela signifie que lorsque vous développez des applications sur Nervos, vous pouvez utiliser le système de cryptographie utilisé sur Internet traditionnel, ou même appeler directement l'infrastructure Internet existante.
Plus précisément, la machine virtuelle Nervos CKB peut déployer la cryptographie directement dans la couche applicative (contrat intelligent), afin que nous puissions déployer les algorithmes de cryptage asymétrique RSA, SHA-256, etc. mentionnés plus haut. Cela jette les bases de l'utilisation de l'infrastructure existante. Cependant, cela ne suffit pas à lui seul. Nervos a également besoin des fonctionnalités suivantes : abstraction des comptes.
Le mot « abstrait » en lui-même est très abstrait.
L'abstraction en elle-même est un mot relativement technique. Il y a deux explications. Il suffit de prêter attention à la première : ce que l'on appelle l'abstraction est un processus. Nous supprimons la particularité d'un système, puis nous lui donnons la généralité et l'universalité. Il s'agit d'un processus de généralisation. En supprimant les modèles spéciaux et en trouvant des points communs, le système peut devenir plus général et applicable à un plus grand nombre de scénarios.
Cette explication est peut-être encore très abstraite, mais les mots clés que tout le monde doit retenir sont les suivants : supprimer la « particularité », supprimer la « particularité » du système, trouver d'autres points communs dans le système, intégrer des points communs dans le design et créer une « généralité ».
Expliquons avec un exemple qui n'est pas une blockchain. Vous avez peut-être joué aux grandes bornes d'arcade de la salle de jeux. Si vous connaissez ce type de machine, vous saurez que chaque machine correspond en fait à un jeu. Pour les bornes d'arcade, la conception du système est une conception intégrée, du logiciel au matériel. Tous les designs ont un seul objectif, à savoir ce jeu. Quand nous devons créer un nouveau jeu, je dois concevoir une autre machine. Il y a donc dix ou vingt machines dans la salle d'arcade, chacune proposant un jeu différent.
Au fur et à mesure que l'industrie du jeu vidéo s'est développée aujourd'hui, les machines les plus populaires ne sont plus les bornes d'arcade, mais les plateformes de jeu plus générales, comme la XBox. La XBox est un design général. Vous pouvez créer une variété de jeux pour XBox, puis vous ne pouvez acheter que des jeux différents pour cette console.
Passer de l'arcade à la XBOX est donc un processus de généralisation. D'un autre point de vue, XBox est un design plus abstrait qui peut être appliqué à un plus grand nombre de scénarios. Il y a très peu, voire aucun, de choses spéciales conçues pour chaque jeu en particulier. C'est précisément parce qu'elle ne contient pas ces informations spéciales que les développeurs de cette plateforme peuvent les renseigner afin que la plateforme puisse s'adapter à une variété de besoins.
Revenons à Nervos CKB. Le deuxième avantage technique de la chaîne publique CKB est l'abstraction des comptes. Ce que l'on appelle l'abstraction des comptes fait référence à la possibilité de généraliser la logique de déverrouillage des comptes blockchain (adresses).
Actuellement, la logique de déverrouillage des blockchains classiques est relativement simple, directe et codée en dur au niveau du protocole. Par exemple, pour le BTC et l'ETH, la clé publique est restaurée en fonction du corps et de la signature de la transaction, puis elle est convertie en adresse conformément aux règles établies. Enfin, il correspond à l'adresse à déverrouiller. S'ils sont réguliers, le déverrouillage est réussi, sinon il échoue.
Ce type de logique codée en dur ne peut pas s'adapter à certaines situations plus générales, telles que les données relatives au client intégrées à la signature, ou même la signature n'est pas spécifique à la transaction elle-même. Pour faciliter la compréhension, faisons une analogie : la logique de déverrouillage des blockchains classiques est la même que celle des serrures mécaniques, qui ne peuvent ouvrir la porte du compte que d'une seule façon.
Nervos, qui met en œuvre des fonctionnalités d'abstraction de comptes au niveau inférieur, équivaut à un verrou électronique. Sa logique de déverrouillage peut se faire par le biais de mots de passe, d'empreintes digitales, de Bluetooth, de NFC, etc. Par exemple, nous pouvons utiliser la cryptographie du courrier électronique pour le déverrouiller, puis exécuter le contrat conformément aux instructions figurant dans l'e-mail. L'exemple le plus simple est d'envoyer CKB directement à l'adresse spécifiée (ou à une autre boîte aux lettres) en envoyant un e-mail, et l'ensemble du processus ne nécessite aucune étape. Nécessite la participation de n'importe quel « portefeuille ».
C'est l'avantage de l'abstraction des comptes.
Пригласить больше голосов
Byte Jun présentera d'abord à tout le monde ce qu'est la cryptographie. Bref, la cryptographie est la science qui étudie comment crypter et déchiffrer.。
Le cryptage et le déchiffrement existent depuis l'Antiquité, comme le célèbre « chiffre César ». César est le fondateur de l'Empire romain. Certains historiens le considèrent comme l'empereur sans couronne de l'Empire romain et il est surnommé « César le Grand ». En fait, César lui-même aimait beaucoup écrire des textes secrets.
Pendant la guerre en Gaule (aujourd'hui le sud de la France), César a non seulement vaincu ses ennemis, mais il a également créé un réseau de renseignement étendu et approfondi. Dans les archives de la guerre des Gaules, il est indiqué que son ami, le général romain Cicéron, s'est fait transmettre des messages chiffrés alors qu'il était encerclé. César a utilisé la forme de texte chiffré pour éviter que « lorsque le message est intercepté par l'ennemi, nos contre-mesures ne soient pas découvertes par l'ennemi ».
Ce texte chiffré classique est « VIMRJSVGIQIRXW SRXLI AEC », qui est crypté par décalage de quatre bits, comme la lettre initiale R+4=V. Après avoir déchiffré le texte chiffré, le texte en clair obtenu est « DES RENFORTS EN ROUTE », ce qui signifie « des renforts sont en route ».
Par conséquent, le code César chiffre les lettres en déplaçant les lettres du texte en clair vers l'arrière selon un chiffre fixe.
Avec l'évolution de l'époque, le chiffrement et le déchiffrement sont progressivement devenus une science, la cryptographie. Avant l'émergence de la blockchain, la cryptographie avait de nombreuses applications sur Internet, comme le plus célèbre algorithme de cryptage asymétrique, le RSA. Ici, Byte Jun présentera d'abord à tout le monde ce qu'est le cryptage symétrique et ce qu'est le cryptage asymétrique.
Le cryptage symétrique signifie que la même clé est utilisée pour le cryptage et le déchiffrement. Pour faire une analogie et aider tout le monde à comprendre, nous comparons le cryptage au verrouillage et le déchiffrement au déverrouillage. Le cryptage symétrique signifie que la même clé est utilisée pour le verrouillage et le déverrouillage. L'inconvénient est donc que les deux parties à la transaction utilisent la même clé et que la sécurité ne peut être garantie.
Le chiffrement asymétrique comporte deux clés, l'une publique (clé publique) et l'autre une clé privée (clé privée). C'est comme une serrure avec deux clés A et B. La clé A est requise pour verrouiller la serrure et la clé B pour l'ouvrir.
L'algorithme de cryptage RSA est un algorithme de cryptage asymétrique. De nombreux protocoles Internet utilisaient le RSA auparavant, et aujourd'hui, le RSA est également l'algorithme de cryptage asymétrique le plus utilisé et le plus compatible dans les différents navigateurs et protocoles de messagerie.
La raison pour laquelle Internet a atteint son ampleur actuelle, du point de vue de la sécurité et de la commodité, est indissociable de l'utilisation intensive des mots de passe. Par exemple, SubtleCrypto, un algorithme que l'on trouve presque dans les navigateurs, peut même être utilisé dans de petits environnements de programmes ; et l'algorithme WebAuthn, devenu une norme recommandée par le W3C en 2019, rend la cryptographie des navigateurs aussi puissante qu'un portefeuille matériel, et son utilisation est très pratique à utiliser (peut être déverrouillée par empreinte digitale, scan du visage, etc.).
Pour en revenir à la blockchain, si ces infrastructures cryptographiques Internet peuvent être utilisées directement, au lieu d'obliger les utilisateurs à télécharger des plug-ins et des applications de portefeuille, et à suivre le processus de stockage des phrases mnémotechniques eux-mêmes, le seuil utilisateur pour les DApps pourrait être considérablement abaissé.
Cependant, la cryptographie des blockchains classiques est généralement codée en dur au niveau inférieur. Par exemple :
Les algorithmes de signature de ces blockchains sont incompatibles avec les systèmes de cryptographie utilisés sur Internet classique et ne peuvent pas être utilisés directement. Ils ne peuvent compter que sur des installations réinstallées.
La différence entre la chaîne publique Nervos CKB, c'est que vous pouvez utiliser un chiffrement personnalisé, et celui-ci n'est pas codé en dur en bas de page. Cela signifie que lorsque vous développez des applications sur Nervos, vous pouvez utiliser le système de cryptographie utilisé sur Internet traditionnel, ou même appeler directement l'infrastructure Internet existante.
Plus précisément, la machine virtuelle Nervos CKB peut déployer la cryptographie directement dans la couche applicative (contrat intelligent), afin que nous puissions déployer les algorithmes de cryptage asymétrique RSA, SHA-256, etc. mentionnés plus haut. Cela jette les bases de l'utilisation de l'infrastructure existante. Cependant, cela ne suffit pas à lui seul. Nervos a également besoin des fonctionnalités suivantes : abstraction des comptes.
Le mot « abstrait » en lui-même est très abstrait.
L'abstraction en elle-même est un mot relativement technique. Il y a deux explications. Il suffit de prêter attention à la première : ce que l'on appelle l'abstraction est un processus. Nous supprimons la particularité d'un système, puis nous lui donnons la généralité et l'universalité. Il s'agit d'un processus de généralisation. En supprimant les modèles spéciaux et en trouvant des points communs, le système peut devenir plus général et applicable à un plus grand nombre de scénarios.
Cette explication est peut-être encore très abstraite, mais les mots clés que tout le monde doit retenir sont les suivants : supprimer la « particularité », supprimer la « particularité » du système, trouver d'autres points communs dans le système, intégrer des points communs dans le design et créer une « généralité ».
Expliquons avec un exemple qui n'est pas une blockchain. Vous avez peut-être joué aux grandes bornes d'arcade de la salle de jeux. Si vous connaissez ce type de machine, vous saurez que chaque machine correspond en fait à un jeu. Pour les bornes d'arcade, la conception du système est une conception intégrée, du logiciel au matériel. Tous les designs ont un seul objectif, à savoir ce jeu. Quand nous devons créer un nouveau jeu, je dois concevoir une autre machine. Il y a donc dix ou vingt machines dans la salle d'arcade, chacune proposant un jeu différent.
Au fur et à mesure que l'industrie du jeu vidéo s'est développée aujourd'hui, les machines les plus populaires ne sont plus les bornes d'arcade, mais les plateformes de jeu plus générales, comme la XBox. La XBox est un design général. Vous pouvez créer une variété de jeux pour XBox, puis vous ne pouvez acheter que des jeux différents pour cette console.
Passer de l'arcade à la XBOX est donc un processus de généralisation. D'un autre point de vue, XBox est un design plus abstrait qui peut être appliqué à un plus grand nombre de scénarios. Il y a très peu, voire aucun, de choses spéciales conçues pour chaque jeu en particulier. C'est précisément parce qu'elle ne contient pas ces informations spéciales que les développeurs de cette plateforme peuvent les renseigner afin que la plateforme puisse s'adapter à une variété de besoins.
Revenons à Nervos CKB. Le deuxième avantage technique de la chaîne publique CKB est l'abstraction des comptes. Ce que l'on appelle l'abstraction des comptes fait référence à la possibilité de généraliser la logique de déverrouillage des comptes blockchain (adresses).
Actuellement, la logique de déverrouillage des blockchains classiques est relativement simple, directe et codée en dur au niveau du protocole. Par exemple, pour le BTC et l'ETH, la clé publique est restaurée en fonction du corps et de la signature de la transaction, puis elle est convertie en adresse conformément aux règles établies. Enfin, il correspond à l'adresse à déverrouiller. S'ils sont réguliers, le déverrouillage est réussi, sinon il échoue.
Ce type de logique codée en dur ne peut pas s'adapter à certaines situations plus générales, telles que les données relatives au client intégrées à la signature, ou même la signature n'est pas spécifique à la transaction elle-même. Pour faciliter la compréhension, faisons une analogie : la logique de déverrouillage des blockchains classiques est la même que celle des serrures mécaniques, qui ne peuvent ouvrir la porte du compte que d'une seule façon.
Nervos, qui met en œuvre des fonctionnalités d'abstraction de comptes au niveau inférieur, équivaut à un verrou électronique. Sa logique de déverrouillage peut se faire par le biais de mots de passe, d'empreintes digitales, de Bluetooth, de NFC, etc. Par exemple, nous pouvons utiliser la cryptographie du courrier électronique pour le déverrouiller, puis exécuter le contrat conformément aux instructions figurant dans l'e-mail. L'exemple le plus simple est d'envoyer CKB directement à l'adresse spécifiée (ou à une autre boîte aux lettres) en envoyant un e-mail, et l'ensemble du processus ne nécessite aucune étape. Nécessite la participation de n'importe quel « portefeuille ».
C'est l'avantage de l'abstraction des comptes.