Scannez pour télécharger l’application Gate
qrCode
Autres options de téléchargement
Ne pas rappeler aujourd’hui

Comment résoudre le problème des nombres aléatoires on-chain ? Oasis a apporté une réponse

robot
Création du résumé en cours

Quel est le talon d’Achille de la blockchain ? La transparence. Tous les nœuds peuvent voir toutes les données, ce qui rend la génération de véritables nombres aléatoires quasiment impossible.

Mais les développeurs Web3 en ont un besoin urgent — les jeux ont besoin de loot aléatoire, les loteries d’un tirage équitable, les smart contracts d’entrées imprévisibles. Sans nombre aléatoire sécurisé on-chain, des clés peuvent être devinées, des résultats de jeu peuvent être manipulés.

Comment Oasis résout ce problème ?

Avec deux techniques :

Étape 1 : Génération d’un RNG au niveau du bloc

  • Sapphire (l’environnement d’exécution confidentiel EVM d’Oasis) récupère une clé secrète depuis le gestionnaire de clés
  • Utilise une clé à court terme (renouvelée à chaque epoch) pour chiffrer le RNG, garantissant que les anciennes clés ne peuvent pas être retrouvées
  • Ces clés n’existent que dans l’ETE (Environnement d’Exécution de Confiance), impossible pour un observateur externe de voir l’état du RNG
  • Utilisation d’algorithmes dérivés SHA-3 (TupleHash, KMAC256) pour traiter cette entropie et générer un RNG racine unique pour chaque bloc

Étape 2 : Séparation du RNG au niveau des transactions

  • Chaque transaction a besoin de son propre nombre aléatoire
  • Utilisation de Merlin transcripts pour dériver un RNG de transaction à partir du RNG racine
  • Personnalisation de l’aléa avec des données spécifiques à la transaction, garantissant confidentialité, équité et imprévisibilité

Comment les développeurs l’utilisent-ils ?

Une seule ligne de code suffit :

bytes memory randomPad = Sapphire.randomBytes(32, “”);

Ou pour générer une paire de clés de signature aléatoire :

bytes memory pk; bytes memory sk; (pk, sk) = Sapphire.generateSigningKeyPair( Sapphire.SigningAlg.Ed25519Pure, Sapphire.randomBytes(32, “”) );

Avantages clés

✓ Abstraction de la complexité — les développeurs n’ont pas besoin de comprendre les détails techniques du RNG sur blockchain ✓ Rotation des clés — génération d’une nouvelle clé à chaque epoch, destruction automatique des anciennes clés ✓ Protection de la vie privée — l’état du RNG n’est visible que dans l’ETE ✓ Vérifiable — basé sur VRF et des primitives cryptographiques auditées

Cette approche rend le nombre aléatoire on-chain “quasi impossible” à “prêt à l’emploi”. C’est crucial pour les jeux NFT, les loteries on-chain, les tirages décentralisés et bien d’autres cas d’usage.

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)