Un image qui montre la nature diverse des crypto et comment les utiliser.

Les algorithmes cryptographiques et consensus

La technologie de la blockchain et les crypto-monnaies sont la mise en œuvre d’aujourd’hui qui est au centre de l’attention technique donc elles attirent beaucoup d’attention. Cette attention suscite toutefois de nombreux crypto termes: décentralisation, peer to peer, exploitation minière, algorithmes, grands livres distribués, cryptographie et bien d’autres encore. Dans cet article, nous essayerons de faire la lumière sur l’un de ces mots – les algorithmes.  

Qu’est-ce qu’un algorithme cryptographique ?

Les algorithmes cryptographiques sont ceux qui ont mène le crypto aux crypto-monnaies. Ces algorithmes sont utilisés pour chiffrer et déchiffrer votre adresse privée en une adresse publique. Un aspect important c’est sa non-réversibilité. En ayant votre adresse privée en entrée en appliquant l’algorithme cryptographique, vous pouvez facilement obtenir votre adresse publique en sortie, mais effectuer le calcul dans l’ordre inverse, disposer de l’adresse publique et appliquer l’algorithme pour obtenir l’adresse privée est une tâche impossible qui prendre de nombreuses années pour calculer. Les algorithmes cryptographiques contrôlent également la difficulté de la blockchain en rendant plus difficile parvenir à un consensus sur le réseau. Les algorithmes cryptographiques sont constitués d’une, de deux ou plusieurs fonctions de hachage.

Algorithmes cryptographiques ou bien consensus ?

En termes simples, un algorithme est un ensemble de règles ou d’étapes à suivre pour aborder une tâche de résolution de problème. Il est important de clarifier dès le début qu’il existe deux types d’algorithmes – tous deux simplement appelés algorithmes d’où la confusion provient – des algorithmes cryptographiques et des algorithmes de consensus. Les deux types remplissent une fonction cruciale dans la blockchain, mais ce sont deux choses très différentes.

Deux infographiques qui montrent la possibilité d'utiliser les clés d'inscription pour fermer l'information.

Qu’est-ce qu’un algorithme de consensus ?

Les algorithmes de consensus sont au cœur des crypto-monnaies et permettent au réseau de rester décentralisé tout en restant équitable. Il existe plusieurs algorithmes de consensus, tous ayant des objectifs différents et, surtout, ayant différents critères permettant de décider comment parvenir à un consensus. Les deux méthodes les plus courantes et les plus utilisées en crypto sont la preuve de travail (l’algorithme utilisé dans le réseau bitcoin où tout a commencé) qui aboutit à un accord sur le choix du qui a effectué le plus de «travail » – ce qui signifie résoudre le problème mathématique le plus rapidement; et la preuve de la participation qui aboutit à un accord en fonction de qui a le plus en jeu dans la blockchain. Vous vous demandez peut-être maintenant, mais pourquoi avons-nous besoin d’algorithmes ? Les deux paragraphes suivants répondront à cette question.

Comparaison des algorithmes de consensus ?

Ironiquement, il n’existe toujours pas de consensus sur le meilleur algorithme pour parvenir à un consensus dans une blockchain. Avec autant de façons de procéder : PoW, DPoS, Preuve de poids, Preuve d’autorité, Graphes acycliques dirigés, il semble y avoir tant d’algorithmes pour parvenir à un accord dans un réseau décentralisé. Il semble que, selon l’objectif, les parties prenantes et la charte de développement d’un réseau, les termes bon ou mauvais sont interchangeables et que ce qui n’était pas assez bon il y a 6 mois est désormais la meilleure option pour cette blockchain est cette situation.

Algorithme Développé par Mécanisme de consensus Monnaies de PoW ASIC AMD GPU NVIDIA GPU INTEL CPU AMD CPU
Sha – 256 National Security Agency POW BTC, BCH ASIC miner 8 Nano Pro  N/A N/A N/A N/A
Ethash Vitalik Buterin PoA, PoSpac, PoS, PoW ETH,ETC Innosilicon A10 ETHMaster RX VEGA 64 RTX 2080 Ti Can’t load DAG Can’t load DAG
Scrypt Colin Percival POW LTC,NLG Innosilicon A6 LTCMaster N/A N/A N/A N/A
CryotoNight v8 Monero team POW XMR Asic – resistant RX VEGA 64 RTX 2080 Ti Xeon E7-8870 v3 Threadripper 2990WX
x11 Evan Duffield POW DASH Spondoolies SPx36 N/A N/A N/A N/A
Equihash Alex Biryukov & Dmitry Khovratovic POW Zcash Spondoolies SPx36 RX VEGA 64 (515 Sol/s) RTX 2080 Ti N/A N/A
Blacke256 R14 J-P Aumasson & Luca Henzen & Willi Meier POW Decred MicroBT Whatsminer D1 N/A N/A N/A N/A
Blake2b NebulousINC POW SIA StrongU STU-U2 N/A N/A N/A N/A

FAQs

  • Qu’est-ce qu’une fonction de hachage ?

    Une infographique qui explique comment une fonction de hachage fonctionne.

    Les fonctions de hachage sont des fonctions mathématiques qui prennent n’importe quel type de données comme valeur d’entrée, peu importe sa nature. Des lettres, des nombres, des fichiers et à partir de cette entrée dérivent et renvoient une sortie spécifique. Par exemple, la fonction de hachage md5 renverra une sortie à 32 caractères, quelle que soit l’entrée. Si vous écrivez md5 (“hello user”), la fonction renvoie une sortie à 32 caractères. Dans la crypto-monnaie, les fonctions de hachage sont combinées dans un algorithme cryptographique. Les algorithmes cryptographiques SHA-256 de Bitcoin en constituent un bon exemple. Ils ne comprennent qu’une fonction de hachage, SHA-256, qui donne le nom de l’algorithme, ainsi que l’algorithme cryptographique X11 de DASH, composé de 11 fonctions de hachage cryptographique, avec Blake, BMW, Groestl, Keccak.

  • Qu’est-ce que c’est la tolérance de Byzantine et quels sont des problèmes généralement ?

    Un problème courant dans les réseaux des blockchains qui sont décentralisés c’est ce que les gens appellent le problème des généraux byzantins. Imaginez une situation dans laquelle un groupe de généraux byzantins se tient devant une ville, décidant de l’attaquer ou non. Chaque général commande un bataillon de l’armée et les généraux doivent parvenir à un consensus sur le futur plan d’action – tous attaquent ou battent en retraite en communiquant par l’intermédiaire de messagers. Les choses sont encore plus compliquées lorsque nous introduisons la notion que certains généraux sont traîtres et veulent saboter le consensus et que certains messagers – intentionnellement ou non – peuvent également saboter le consensus. Pour résoudre ce problème et obtenir un consensus, au moins les deux tiers + un des généraux doivent être loyaux afin de maintenir le consensus parmi tous. Retour au monde blockchain – dire qu’un système possède La tolérance aux pannes byzantine signifie qu’un système peut fonctionner correctement en cas d’échec ou de disparité d’informations et rester consensuel.

  • Qu’est-ce qu’un dépense double ?

    Si nous regardons les temps où l’or était utilisé comme monnaie, si vous vouliez plus d’or, vous deviez aller le chercher à la montagne, et même si vous le vouliez, cela pourrait ne pas aboutir à la recherche de l’or – un bon produit naturel moyen de contrôler la circulation de la monnaie et sa valeur dans l’économie. Plusieurs centaines d’années dans le monde numérique, où même les devises sont numériques. Le problème ici est qu’il n’existe aucun mécanisme permettant de contrôler la circulation des devises, ce qui signifie que, contrairement à l’or où vous ne pouvez pas aller copier votre or chez un ami, vous pouvez absolument copier un fichier, un dossier ou tout autre élément numérique dans un fichier. Quelques secondes, entraînant ainsi un problème de double utilisation. C’est là que les algorithmes décrits dans la section précédente viennent à la rescousse pour nous aider à contrôler artificiellement la circulation de la monnaie et nous permettent d’avoir un moyen unifié de parvenir à un accord. Sur la preuve de réseaux de travail, par exemple, la complexité du problème mathématique est ajustée tous les X blocs, afin de s’assurer qu’il existe un contrôle artificiel sur la masse monétaire et que les participants du réseau ne copient pas simplement de nouveaux fonds et les mettent en circulation.

.