Récemment, un grave problème a été révélé dans le micrologiciel v4.0.1 de certains portefeuilles matériels : au lieu d’une génération de nombres aléatoires matériels basée sur l’entropie physique, elle a été rétrogradée vers un pseudo-aléatoire prévisible côté logiciel. Résultat : les hackers n’ont même pas besoin de toucher aux clés privées. Ils effectuent directement une collision par force brute pour retrouver la phrase mnémonique, et en quelques instants, 1778 BTC (environ 112 millions de dollars) ont été vidés.
J’ai écrit du code système pendant dix ans ; je connais trop bien cette maladie. Ce type de « boîte noire » aléatoire invisible, impossible à vérifier sur la chaîne, plane comme l’épée de Damoclès au-dessus du pool de fonds Web3.
Cette histoire m’a immédiatement fait penser à la « loterie déterministe » que @Dusk est en train de mettre en place. Le tirage devrait être aléatoire : ajouter un caractère « déterministe » paraît tordu, mais c’est précisément ce qui cible le point douloureux du secteur — le résultat aléatoire doit être public et recalculable.
Dusk a transformé la loterie de consensus en jeu à ciel ouvert. Tous les nœuds du réseau, via l’algorithme de hachage SHA-3, broient ensemble la graine du bloc précédent, le tour en cours et l’identifiant des places pour obtenir un score. La « graine » centrale correspond à la signature numérique du signataire qui a produit le bloc précédent sur la valeur de la graine antérieure : chaque bloc la met donc obligatoirement à jour. Cela signifie que qui est tiré au sort, qui entre au comité, peut être vérifié par n’importe quel développeur qui exécute un nœud — et le coût de la triche est extrêmement élevé : même modifier un seul octet, la valeur de hachage déclenche une réaction en chaîne, révélant la fraude sur tout le réseau.
Dans ce schéma, $DUSK correspond à la « carte numérotée » du tirage. Plus on mise, plus la probabilité de gagner augmente ; mais le raffinement réside dans le « décroissement de poids » : à chaque place tirée pour les gros acteurs, le poids du tirage est automatiquement réduit, ce qui empêche, grâce à une logique de base, les whales d’occuper massivement la salle.
Mais je ne crois jamais à un protocole absolument parfait : comme d’habitude, je vais chercher des failles. Le design est certes sans interaction et assez intelligent, mais il présente tout aussi clairement une faiblesse fatale : le déterminisme implique souvent la prédictibilité. Comparé au mécanisme RANDAO d’Ethereum ou au VRF d’Algorand, Dusk revient à donner la clé du tirage du prochain tour à la signature du tour précédent. Dès qu’on obtient la graine du bloc courant, on peut calculer à l’avance qui gagnera au tour suivant. Une fois l’identité des nœuds exposée en amont, les attaques DDoS ciblées ou les tentatives de collusion entre nœuds offrent beaucoup plus d’espace d’action. Après vérification, on transforme finalement le hasard en « spoiler ».
#dusk $DUSK $BTC
J’ai écrit du code système pendant dix ans ; je connais trop bien cette maladie. Ce type de « boîte noire » aléatoire invisible, impossible à vérifier sur la chaîne, plane comme l’épée de Damoclès au-dessus du pool de fonds Web3.
Cette histoire m’a immédiatement fait penser à la « loterie déterministe » que @Dusk est en train de mettre en place. Le tirage devrait être aléatoire : ajouter un caractère « déterministe » paraît tordu, mais c’est précisément ce qui cible le point douloureux du secteur — le résultat aléatoire doit être public et recalculable.
Dusk a transformé la loterie de consensus en jeu à ciel ouvert. Tous les nœuds du réseau, via l’algorithme de hachage SHA-3, broient ensemble la graine du bloc précédent, le tour en cours et l’identifiant des places pour obtenir un score. La « graine » centrale correspond à la signature numérique du signataire qui a produit le bloc précédent sur la valeur de la graine antérieure : chaque bloc la met donc obligatoirement à jour. Cela signifie que qui est tiré au sort, qui entre au comité, peut être vérifié par n’importe quel développeur qui exécute un nœud — et le coût de la triche est extrêmement élevé : même modifier un seul octet, la valeur de hachage déclenche une réaction en chaîne, révélant la fraude sur tout le réseau.
Dans ce schéma, $DUSK correspond à la « carte numérotée » du tirage. Plus on mise, plus la probabilité de gagner augmente ; mais le raffinement réside dans le « décroissement de poids » : à chaque place tirée pour les gros acteurs, le poids du tirage est automatiquement réduit, ce qui empêche, grâce à une logique de base, les whales d’occuper massivement la salle.
Mais je ne crois jamais à un protocole absolument parfait : comme d’habitude, je vais chercher des failles. Le design est certes sans interaction et assez intelligent, mais il présente tout aussi clairement une faiblesse fatale : le déterminisme implique souvent la prédictibilité. Comparé au mécanisme RANDAO d’Ethereum ou au VRF d’Algorand, Dusk revient à donner la clé du tirage du prochain tour à la signature du tour précédent. Dès qu’on obtient la graine du bloc courant, on peut calculer à l’avance qui gagnera au tour suivant. Une fois l’identité des nœuds exposée en amont, les attaques DDoS ciblées ou les tentatives de collusion entre nœuds offrent beaucoup plus d’espace d’action. Après vérification, on transforme finalement le hasard en « spoiler ».
#dusk $DUSK $BTC
🔹 可复算优先,确定性抽签利大于弊
100%
🔹 风险致命,可预测会引来定向攻击
0%
🔹 需要折中,参考VRF/RANDAO做改良
0%
1 Votes • Vote fermé