Comment générer des nombres vraiment aléatoires dans Solidity et Blockchain
Passons aux bonnes choses.
Une question StackExchange intéressante a été publiée il y a quelques années: «Comment puis-je générer en toute sécurité un nombre aléatoire dans mon contrat intelligent?», La réponse la plus courante expliquant ce qui semble être le meilleur système.
Une demande de nombre aléatoire est envoyée à plusieurs nœuds, et chacun envoie une réponse au hasard prouvée (à l’aide d’une clé publique, d’une clé privée et d’une graine). Chaque nœud a sa réponse au niveau du bit XOR
‘D ensemble pour générer le nombre aléatoire résultant.
Vous pouvez en lire les mathématiques plus tard, mais deux parties principales sont expliquées:
- Le nombre aléatoire est généré de manière vérifiable au hasard, en utilisant une clé publique et privée pour prouver cryptographiquement que le nombre était aléatoire.
- Cette génération de nombres aléatoires est effectuée sur plusieurs nœuds pour garantir qu’il n’y a pas de source unique de défaillance, puis
XOR
’D (un moyen de combiner les réponses) pour obtenir le résultat final.
Vous verrez que ce sont des thèmes courants dans la blockchain, la décentralisation et la cryptographie (la cryptographie peut être légèrement plus évidente).
Construire une application blockchain avec des sources de données centralisées et des oracles, c’est comme acheter un vélo pour que vous n’ayez plus à marcher pour travailler, puis continuer à marcher pour travailler avec votre vélo attaché à votre dos.
Ces concepts constituent l’épine dorsale du Chainlink VRF.
À l’heure actuelle, Chainlink a une interprétation fonctionnelle du concept n ° 1 en direct sur testnet (nombres aléatoires prouvables cryptographiquement) et est en développement du concept n ° 2, le crescendo des nombres prouvés aléatoires, la décentralisation des nombres prouvés aléatoires. Vous pouvez créer une application au hasard prouvée sur Kovan, Ropsten et Rinkeby dès maintenant.
Chainlink est actuellement «dans les dernières étapes de l’examen de la sécurité de Chainlink VRF et souhaite s’engager avec nos utilisateurs à la fois dans la communauté des développeurs et dans la communauté universitaire», vous pouvez donc être l’un des premiers des applications pour exécuter un contrat intelligent avec des nombres aléatoires vérifiables et obtenir un accès anticipé lorsque la cerise sur le gâteau de la décentralisation est terminée. Si vous souhaitez en savoir plus sur la formulation technique, assurez-vous de consultez leur article de blog.
Autre que consulter leur documentation, voici comment commencer.