#dusk $DUSK @Dusk
Je l’admets. La première fois que j’ai vu « nullifier » dans la documentation de Phoenix, je pensais sincèrement que c’était une sorte de mécanisme de pénalité. Je me souviens avoir ouvert le livre blanc en me disant que j’allais juste y jeter un coup d’œil rapidement, et m’être retrouvé bloqué sur cette page pendant presque une heure, relisant le même paragraphe comme s’il allait finir par faire sens à la quatrième lecture.
Voici la version simple à laquelle je suis finalement arrivé. Une note, c’est essentiellement un reçu privé. Elle dit que vous possédez quelque chose, mais elle ne crie pas votre nom ni votre solde à toute la chaîne. Imaginez-la comme une enveloppe scellée rangée dans un immense classeur. Personne ne peut l’ouvrir pour regarder à l’intérieur à moins que vous ne décidiez de le faire.
L’arbre de Merkle, c’est ce classeur. Chaque note est rangée dans une branche, et l’ensemble de la structure est compressé en une toute petite empreinte en haut. La chaîne n’a besoin de vérifier que cette empreinte. Elle n’a jamais besoin de voir chaque enveloppe une par une. Au début, cette idée m’a semblé étrange. Autant de données cachées, mais pourtant toujours prouvablement correct.
Les nullifiers sont toutefois la partie astucieuse. Quand vous dépensez une note, vous ne la supprimez pas, car supprimer laisserait fuiter de l’information. Au lieu de ça, vous publiez un nullifier, qui prouve que la note existait et qu’elle est désormais utilisée, sans révéler laquelle. C’est comme déchirer un coupon : d’une manière que personne ne peut remonter jusqu’à votre place.
Peut-être que je réfléchis trop, mais plus j’y pense, plus ça me donne l’impression que confidentialité et vérification cessent d’être des opposées ici. Je me demande encore comment ça tient à grande échelle en conditions réelles, avec une charge importante. J’aimerais savoir si d’autres l’ont testée au-delà du niveau des docs.
$SC
$POL
Qu’est-ce qui vous rend les nullifiers les plus intéressants ?
Je l’admets. La première fois que j’ai vu « nullifier » dans la documentation de Phoenix, je pensais sincèrement que c’était une sorte de mécanisme de pénalité. Je me souviens avoir ouvert le livre blanc en me disant que j’allais juste y jeter un coup d’œil rapidement, et m’être retrouvé bloqué sur cette page pendant presque une heure, relisant le même paragraphe comme s’il allait finir par faire sens à la quatrième lecture.
Voici la version simple à laquelle je suis finalement arrivé. Une note, c’est essentiellement un reçu privé. Elle dit que vous possédez quelque chose, mais elle ne crie pas votre nom ni votre solde à toute la chaîne. Imaginez-la comme une enveloppe scellée rangée dans un immense classeur. Personne ne peut l’ouvrir pour regarder à l’intérieur à moins que vous ne décidiez de le faire.
L’arbre de Merkle, c’est ce classeur. Chaque note est rangée dans une branche, et l’ensemble de la structure est compressé en une toute petite empreinte en haut. La chaîne n’a besoin de vérifier que cette empreinte. Elle n’a jamais besoin de voir chaque enveloppe une par une. Au début, cette idée m’a semblé étrange. Autant de données cachées, mais pourtant toujours prouvablement correct.
Les nullifiers sont toutefois la partie astucieuse. Quand vous dépensez une note, vous ne la supprimez pas, car supprimer laisserait fuiter de l’information. Au lieu de ça, vous publiez un nullifier, qui prouve que la note existait et qu’elle est désormais utilisée, sans révéler laquelle. C’est comme déchirer un coupon : d’une manière que personne ne peut remonter jusqu’à votre place.
Peut-être que je réfléchis trop, mais plus j’y pense, plus ça me donne l’impression que confidentialité et vérification cessent d’être des opposées ici. Je me demande encore comment ça tient à grande échelle en conditions réelles, avec une charge importante. J’aimerais savoir si d’autres l’ont testée au-delà du niveau des docs.
$SC
$POL
Qu’est-ce qui vous rend les nullifiers les plus intéressants ?
🔒 Privacy
50%
✅ Preventing double-spends
50%
🌳 Merkle verification
0%
🤔 Still learning
0%
2 Votes • Vote fermé