Aujourd'hui, nous passons en revue ce que sont les fonctions aléatoires vérifiables et quelles sont leurs principales caractéristiques. Suivez-nous pour connaître toutes les informations liées au VRF qui pourraient vous intéresser. Una Verifiable Random Function o Función Aleatoria Verificable, mejor conocida por sus siglas VRF, no es una más que una función criptográfica especial que nos permite generar números pseudoaletorios que pueden ser verificados de forma formal, mediante el uso de técnicas criptográficas, por cualquier persona, à tout moment. La conception de ces fonctions a été possible grâce au travail de Silvio Micali, Michael Rabin et Salil Vadhan, qui en 1999 ont présenté leur travail «Fonctions aléatoires vérifiables«. Le nom de Silvio Micali vous sera sûrement familier, puisque c'est lui qui a créé la blockchain Algorand, qui utilise un système VRF dans son mécanisme de consensus Proof of Stake (PoS).
Avec cela, nous pouvons essentiellement définir un VRF comme un générateur pseudo-aléatoire dont la sortie peut être vérifiée à tout moment, ce qui permet d'auditer et de croire que les données sont vraiment fiables et n'ont été falsifiées d'aucune façon. Ceci est d'une extrême importance dans le monde de l'informatique et de la blockchain, car cela garantit que les numéros fournis sont sûrs et que, par conséquent, leur utilisation correcte se traduira par un résultat sûr.
L'utilité des nombres pseudo-aléatoires en informatique est particulièrement pertinente, et encore plus lorsque l'on parle de cryptographie, où toute la sécurité du système repose sur la prémisse que les générateurs pseudo-aléatoires, qu'ils soient matériels ou logiciels, sont sûrs à tout moment. En fait, un PRNG (Pseudorandom Random Number Generator) ou aussi comme on les appelle habituellement (RNG ou Random Number Generator) qui a été manipulé de quelque manière que ce soit peut être facilement cassé, entraînant de graves failles de sécurité dans les appareils qui en dépendent. Par exemple, la PlayStation 3 de Sony aurait pu être piratée en raison d'une faille dans son système de génération de nombres pseudo-aléatoires, puisque ces nombres étaient prévisibles.
Dans la blockchain, où la cryptographie est la base de la sécurité du réseau, la génération et l'utilisation d'algorithmes sécurisés pour les PRNG sont vitales, et à ce stade, les VRF viennent compléter un besoin qui n'est pas seulement dans la blockchain, mais aussi dans les contrats intelligents et autres des fonctions non blockchain qui peuvent tirer parti de cette technologie.
Caractéristiques d'un VRF
Comme son nom l'indique, une fonction aléatoire vérifiable est définie par deux caractéristiques principales :
- C'est vérifiable. Cela signifie que n'importe qui peut vérifier que le nombre aléatoire généré par un VRF est valide. Tout ce qu'ils ont à faire est d'inspecter la preuve cryptographique générée à côté du numéro donné et avec cela, ils pourront vérifier l'exactitude de la sortie de hachage. D'autre part, seul le détenteur de la clé secrète du VRF peut calculer le hachage, toute personne disposant de la clé publique peut vérifier l'exactitude du hachage.
- Aléatoire. La sortie d'un VRF est un nombre imprévisible (statistiquement uniformément réparti dans l'univers des possibilités du système). Ledit caractère aléatoire est généré en combinant la graine et la clé privée d'une manière unique, bien que d'autres sources qui alimentent l'entropie du système puissent également être utilisées et seront ajoutées au test pour une vérification ultérieure.
Ainsi, les VRF tentent de faire produire par les algorithmes PRNG des preuves cryptographiques pouvant générer formellement la preuve de leur véracité, et que ces preuves permettent leur vérification ultérieure par ceux qui consomment lesdits numéros.
Cas d'utilisation VRF
Les VRF ont un grand nombre d'utilisations, parmi lesquelles nous pouvons souligner :
- Améliorations des systèmes de sécurité Internet. Par exemple, un générateur de certificats TLS, d'infrastructures PKI ou de certificats pour le chiffrement DNS peut utiliser VRF pour générer des moyens de communication sécurisés entre les parties, puisque lesdits certificats peuvent être vérifiés tout au long du processus par toutes les parties impliquées.
- La génération d'appareils connectés (par exemple IoT) capables de maintenir des connexions sécurisées grâce à des communications cryptées dont l'entropie est basée sur les fonctions VRF.
- Génération sécurisée de nouveaux schémas cryptographiques. C'est le cas des Zero Knowledge Proofs (ZKP) qui peuvent utiliser les VRF pour générer les jeux de données dont ils ont besoin et qui peuvent ensuite être vérifiés par les parties. Ce cas d'utilisation est expliqué en détail dans l'article de 1999 de Silvio Micali, Michael Rabin et Salil Vadhan.
- Génération de schémas de sécurité blockchain. Par exemple, les VRF peuvent être utilisés pour générer des chaînes de contrôle de transactions sécurisées et vérifiables. De même, ils peuvent également être utilisés dans des oracles blockchain pour vérifier des opérations (comme dans Chainlink) ou même dans des protocoles de consensus (comme dans Algorand).