#dusk $DUSK
Je pensais que Piecrust, la machine virtuelle (VM) virtuelle de Dusk, servait juste à exécuter des smart contracts. Un travail comme n’importe quelle VM : exécuter du code, conserver l’état, et c’est tout. En réalité, elle fait peut-être la moitié seulement de ce à quoi elle sert.
En fouillant dans la documentation, on voit que Piecrust expose un ensemble de fonctions hôtes.
des opérations que la VM confie au code natif plutôt que de les exécuter dans l’environnement WASM cloisonné (sandbox).
Hachage, via Blake2b et Poseidon.
Vérification des preuves à connaissance nulle PlonK et Groth16.
Validation des signatures Schnorr et BLS.
Rien de tout cela ne tourne sous forme d’octets de contrat « classiques ».
Pourquoi une VM irait-elle jusqu’à contourner certaines opérations en les acheminant en dehors d’elle-même, au lieu de tout exécuter simplement comme d’habitude ?
Il s’avère que l’exécution WASM peut être 45-255 % plus lente que le code natif pour les opérations gourmandes en calcul ; la surcharge vient de la gestion de mémoire virtualisée et du traitement supplémentaire des instructions qu’ajoute un environnement sandboxé.
Sur une chaîne où la vérification des preuves ZK n’est pas occasionnelle, mais se produit quasiment à chaque transaction, faire ces calculs dans WASM plutôt qu’en natif n’est pas un petit tribut.
Et cela s’accumule, bloc après bloc.
Ce même principe s’applique directement à DuskEVM : la couche compatible EVM qui fait venir les développeurs Solidity sur Dusk.
Hedger, son module d’exécution confidentielle, s’appuie sur le chiffrement homomorphe plus des preuves ZK pour garder les transactions privées ; or rien de tout cela n’est assez rapide pour compter sans, en dessous, les fonctions hôtes natives qui font le gros du travail en premier.
Ainsi, Piecrust n’est pas seulement l’endroit où les contrats s’exécutent. C’est aussi une voie rapide pour les opérations cryptographiques exactes @Dusk dépendent de la plupart, délibérément maintenues hors de la voie lente, et cette même voie rapide rend la couche de confidentialité de DuskEVM viable—pas uniquement pour les contrats natifs de Dusk.
Ça me fait me demander : combien d’autres VMs « à usage général » sont en train de prélever discrètement une taxe de vérification des preuves que personne ne s’est donné la peine de mesurer ?
Je pensais que Piecrust, la machine virtuelle (VM) virtuelle de Dusk, servait juste à exécuter des smart contracts. Un travail comme n’importe quelle VM : exécuter du code, conserver l’état, et c’est tout. En réalité, elle fait peut-être la moitié seulement de ce à quoi elle sert.
En fouillant dans la documentation, on voit que Piecrust expose un ensemble de fonctions hôtes.
des opérations que la VM confie au code natif plutôt que de les exécuter dans l’environnement WASM cloisonné (sandbox).
Hachage, via Blake2b et Poseidon.
Vérification des preuves à connaissance nulle PlonK et Groth16.
Validation des signatures Schnorr et BLS.
Rien de tout cela ne tourne sous forme d’octets de contrat « classiques ».
Pourquoi une VM irait-elle jusqu’à contourner certaines opérations en les acheminant en dehors d’elle-même, au lieu de tout exécuter simplement comme d’habitude ?
Il s’avère que l’exécution WASM peut être 45-255 % plus lente que le code natif pour les opérations gourmandes en calcul ; la surcharge vient de la gestion de mémoire virtualisée et du traitement supplémentaire des instructions qu’ajoute un environnement sandboxé.
Sur une chaîne où la vérification des preuves ZK n’est pas occasionnelle, mais se produit quasiment à chaque transaction, faire ces calculs dans WASM plutôt qu’en natif n’est pas un petit tribut.
Et cela s’accumule, bloc après bloc.
Ce même principe s’applique directement à DuskEVM : la couche compatible EVM qui fait venir les développeurs Solidity sur Dusk.
Hedger, son module d’exécution confidentielle, s’appuie sur le chiffrement homomorphe plus des preuves ZK pour garder les transactions privées ; or rien de tout cela n’est assez rapide pour compter sans, en dessous, les fonctions hôtes natives qui font le gros du travail en premier.
Ainsi, Piecrust n’est pas seulement l’endroit où les contrats s’exécutent. C’est aussi une voie rapide pour les opérations cryptographiques exactes @Dusk dépendent de la plupart, délibérément maintenues hors de la voie lente, et cette même voie rapide rend la couche de confidentialité de DuskEVM viable—pas uniquement pour les contrats natifs de Dusk.
Ça me fait me demander : combien d’autres VMs « à usage général » sont en train de prélever discrètement une taxe de vérification des preuves que personne ne s’est donné la peine de mesurer ?

