L'une des fonctions les plus élémentaires de la technologie blockchain est liée au caractère aléatoire ou simplement "aléatoire" comme on l'appelle techniquement.
LLa raison de son importance est assez simple : sans le hasard, la cryptographie asymétrique qui rend possible le schéma de sécurité des crypto-monnaies n'existerait pas. En fait, sans le hasard, les ordinateurs, Internet et même votre mobile seraient très différents de ce qu'ils sont aujourd'hui, et très probablement, ils seraient également des appareils non sécurisés.
Mais comment est-ce possible ? Pourquoi le caractère aléatoire est-il si important dans le monde numérique et des crypto-monnaies ? Cela et plus encore, vous pouvez le découvrir ci-dessous.
Les débuts de l'aléatoire dans le monde numérique
Le hasard est utilisé par l'humanité depuis longtemps. Du lancer de dés, d'os ou de lecture de cartes pour connaître votre avenir à d'autres usages rituels. Cependant, ce n'est qu'au Moyen Âge (XVIe siècle), que le hasard a été formellement étudié.
En fait, l'une des principales utilisations du hasard était liée à l'étude du nombre pi et de la forme aléatoire et infinie de ses nombres décimaux. Les mathématiciens intéressés par ce fait ont commencé à voir comment ce phénomène se répétait dans d'autres espaces.
Mais, au début du XXe siècle, avec l'avènement des fondements mathématiques des probabilités et des fondements algorithmiques, l'utilité du hasard a augmenté de façon exponentielle. Par exemple, le hasard est élémentaire pour les études en physique, en particulier en physique quantique. En informatique, l'utilisation de l'aléatoire est élémentaire pour la construction des algorithmes, des puces et, bien sûr, de la cryptographie, l'une des technologies de base dans la création du monde numérique et sa sécurisation.
Le hasard et son importance
Maintenant, pourquoi est-il si important de générer des nombres aléatoires ? Quelle est l'utilité de tout cela dans la technologie blockchain ? Eh bien, la vérité est que générer un nombre aléatoire est quelque chose de très courant et nécessaire en matière de sécurité informatique.
Par exemple, chaque fois que vous vous connectez à un Web sur Internet en utilisant une connexion HTTPS (Secure HTTP Connection), ce qui se passe est que votre ordinateur/mobile se connecte au serveur Web et ils échangent des messages pour créer une connexion sécurisée entre ces deux ordinateurs. Ce processus est possible grâce à l'utilisation de nombres aléatoires et à leur mise en œuvre dans la cryptographie qui protège nos communications numériques.
Bien sûr, ce n'est qu'un exemple de l'importance du hasard dans notre monde numérique. L'aléatoire est présent dans des choses aussi simples que votre carte de crédit/débit (création des jetons d'authentification qui autorisent les dépenses que vous effectuez), la connexion sans fil de votre mobile (les connexions 2G, 3G et 5G utilisent la cryptographie asymétrique).
Aléatoire dans Blockchain
Désormais, la blockchain étant une technologie numérique conçue pour assurer la sécurité de ses utilisateurs, le caractère aléatoire est présent. Nous pouvons voir l'utilisation de l'aléatoire dans la blockchain dans l'un des points fondamentaux de cette technologie : la cryptographie, etcar la cryptographie asymétrique utilisée par les crypto-monnaies est construite grâce à l'utilisation de nombres aléatoires. Par exemple, lors de la création d'une clé Bitcoin à l'aide du schéma ECDSA et de la courbe secp256k1, un portefeuille Bitcoin choisit un nombre aléatoire (un très grand nombre) et utilise ce nombre dans cette formulation mathématique :
y^2 = x^3 + hache + b
S'assurer que le caractère aléatoire est suffisamment "chaotique et unique" est quelque chose que les ordinateurs peuvent très bien faire. Et en même temps, ils peuvent effectuer le calcul nécessaire pour résoudre cette formulation en très peu de temps, nous donnant accès à l'une des formes de cryptographie les plus sécurisées connues à ce jour.
Tout cela dans un seul but : créer deux clés (publique et privée) pour gérer nos BTC en toute sécurité dans un réseau sans confiance et avec la certitude que nos BTC sont protégés par des principes informatiques et mathématiques largement éprouvés.
L'évolution du caractère aléatoire de la blockchain
Bien sûr, la technologie blockchain évolue également, tout comme son utilisation du hasard. Sachant que les ordinateurs ne peuvent pas représenter un véritable générateur aléatoire (le chaos et l'ordre ne peuvent pas coexister dans le même algorithme), une de ces évolutions de l'aléatoire de la blockchain est d'utiliser la même blockchain pour assurer la génération de "nombres aléatoires" afin qu'ils puissent être utilisés dans différents espaces.
Expliquons un peu cela :
Pour les ordinateurs, il est presque impossible de représenter de vrais nombres aléatoires. Un développeur peut créer un algorithme de génération de nombres aléatoires. Mais ce générateur suivra un ensemble de "paramètres" (un algorithme), qui pourront finalement être étudiés par des moyens mathématiques et probabilistes. Cela signifie que ces algorithmes de génération de nombres aléatoires (ou pseudo-aléatoires) peuvent être analysés et brisés, donnant lieu aux attaques bien connues du générateur de nombres aléatoires.
Dans cet esprit, de nombreux développeurs de chaînes de blocs cherchent à transformer les données de ces réseaux en générateurs aléatoires, qui peuvent être utilisés dans d'autres applications.
Mais comment est-ce possible ? Eh bien, certains de ces modèles sont :
bloquer le hachage
L'un des moyens d'y parvenir est le hachage de blocs, dans lequel des hachages de blocs, de transactions ou de combinaisons de ceux-ci sont utilisés comme source de caractère aléatoire. Comme le hachage est déterministe, tout le monde obtiendra le même résultat. Un bloc, une fois ajouté à la blockchain, y restera pour toujours, donc tout le monde peut vérifier l'exactitude des numéros générés.
Cependant, cette méthode présente un sérieux problème de sécurité : les hachages peuvent être manipulés par les mineurs. Bien que ce problème soit petit et détectable, dans un générateur de nombres aléatoires sécurisé, il est intolérable. Pour cette raison, ce système est très peu utilisé.
Oracles
Une autre façon possible de générer de l'aléatoire dans la blockchain pour les applications tierces consiste à utiliser des oracles. Des projets comme Provable, Uniswap TWAP ou Chainlink VRF ne sont que quelques exemples de ce système.
L'opération est simple. Ces systèmes collectent des données à partir de sources externes, les traitent au sein de leur réseau et génèrent un énorme pool de données aléatoires. Ces données peuvent ensuite être utilisées par les utilisateurs du système. La meilleure chose est que ce système n'est pas seulement décentralisé, mais utilise un grand nombre de sources aléatoires en parallèle. De plus, tout ce travail est accompagné d'un test cryptographique pour vérifier les données aléatoires générées.
Sans aucun doute, le hasard joue un rôle fondamental dans notre monde numérique et dans la blockchain. Grâce à cela, nous pouvons avoir des moyens de communiquer en toute sécurité sur Internet. Et, en même temps, cela nous permet de créer une technologie qui nous aide à améliorer cette capacité. Ainsi, la blockchain devient un exemple de ce que le hasard nous permet de réaliser, et nous offre des outils pour continuer à améliorer ces systèmes dont dépendent notre vie privée et notre sécurité dans le monde numérique.