#dusk $DUSK @Dusk
Sur le marché, il y a une foule de projets qui annoncent d’emblée une compatibilité avec ZK. Mais si l’on prend le temps d’examiner les détails d’implémentation de la couche d’exécution, on constate que la plupart ne font que du “bricolage” en surface : ils transforment ZK en un simple patch additionnel, plutôt qu’en une capacité native de la plateforme. Beaucoup comparent le temps de génération des preuves ZK, mais remarquent rarement les surcoûts de gaz quand un contrat appelle la logique ZK, ainsi que la latence d’appel. Ces coûts implicites, enfouis dans l’environnement d’exécution, déterminent pourtant directement si les applications de finance privée pourront être déployées à grande échelle.
La plupart des chaînes publiques adoptent une approche “hors chaîne” pour la vérification ZK : soit elles s’appuient sur des contrats précompilés, soit elles transfèrent tous les calculs lourds de preuve hors de la chaîne. Ce type de chemin présente une faible barrière à l’entrée et permet un lancement rapide, mais les limites sont très marquées. À chaque validation ZK, le contrat doit initier un appel entre modules ; une interaction de plus signifie une nouvelle ronde de consommation de gaz. D’après des tests, le surcoût de gaz par appel atteint souvent des dizaines de milliers, voire plus, dès le départ. Et si le service hors chaîne est congestionné, la latence de retour des résultats de preuve peut directement bloquer les opérations on-chain. Les points de défaillance sont alors dispersés : plus la chaîne de traitement est longue, plus la probabilité d’erreurs augmente. Fondamentalement, ZK n’est qu’une fonctionnalité additionnelle “à la marge”, avec une priorité inférieure à la logique de base de la chaîne.
L’architecture de machine virtuelle de Dusk suit au contraire une démarche entièrement opposée : elle descend directement l’ensemble des capacités de vérification cryptographique au niveau du runtime. Toutes sortes de logiques de vérification de preuves de connaissance zéro, d’algorithmes de hachage et de composants de signatures agrégées sont encapsulés sous forme de fonctions hôtes natives de l’environnement. La couche de contrat peut alors les appeler directement, sans se battre avec les surcoûts liés aux sauts inter-précompilés et aux échanges de communications en aller-retour côté hors chaîne. À logique ZK identique, la consommation de gaz côté contrat peut être réduite d’environ 30 %. La latence d’appel descend alors au niveau de la milliseconde.
À la base, le système n’a pas repris le modèle de mémoire de l’EVM. Il a redessiné la disposition de la mémoire en s’appuyant sur le WASM. Le modèle natif de mémoire EVM est optimisé pour les smart contracts classiques ; lorsqu’on l’utilise pour des opérations ZK, les lectures/écritures fréquentes génèrent de nombreuses copies de mémoire redondantes. Dans certains scénarios de preuves complexes, l’occupation mémoire peut exploser jusqu’à plusieurs fois. Le WASM offre des granulations de mémoire plus flexibles, mieux adaptées aux caractéristiques des ZK massivement itératifs, aux hachages en boucle et aux calculs sur polynômes. L’occupation mémoire maximale peut ainsi chuter jusqu’à 40 %, et l’efficacité d’exécution s’améliore nettement.
Le plus important, cependant, est l’intégration globale : les capacités ZK ne sont pas des composants isolés. Les interfaces de contrat et les primitives de transactions privées on-chain sont unifiées. La vérification des preuves, le transfert d’actifs et la logique de confidentialité peuvent s’enchaîner dans le même flux de transaction, en boucle de bout en bout, sans avoir à assembler des systèmes multiples.
Sur le marché, il y a une foule de projets qui annoncent d’emblée une compatibilité avec ZK. Mais si l’on prend le temps d’examiner les détails d’implémentation de la couche d’exécution, on constate que la plupart ne font que du “bricolage” en surface : ils transforment ZK en un simple patch additionnel, plutôt qu’en une capacité native de la plateforme. Beaucoup comparent le temps de génération des preuves ZK, mais remarquent rarement les surcoûts de gaz quand un contrat appelle la logique ZK, ainsi que la latence d’appel. Ces coûts implicites, enfouis dans l’environnement d’exécution, déterminent pourtant directement si les applications de finance privée pourront être déployées à grande échelle.
La plupart des chaînes publiques adoptent une approche “hors chaîne” pour la vérification ZK : soit elles s’appuient sur des contrats précompilés, soit elles transfèrent tous les calculs lourds de preuve hors de la chaîne. Ce type de chemin présente une faible barrière à l’entrée et permet un lancement rapide, mais les limites sont très marquées. À chaque validation ZK, le contrat doit initier un appel entre modules ; une interaction de plus signifie une nouvelle ronde de consommation de gaz. D’après des tests, le surcoût de gaz par appel atteint souvent des dizaines de milliers, voire plus, dès le départ. Et si le service hors chaîne est congestionné, la latence de retour des résultats de preuve peut directement bloquer les opérations on-chain. Les points de défaillance sont alors dispersés : plus la chaîne de traitement est longue, plus la probabilité d’erreurs augmente. Fondamentalement, ZK n’est qu’une fonctionnalité additionnelle “à la marge”, avec une priorité inférieure à la logique de base de la chaîne.
L’architecture de machine virtuelle de Dusk suit au contraire une démarche entièrement opposée : elle descend directement l’ensemble des capacités de vérification cryptographique au niveau du runtime. Toutes sortes de logiques de vérification de preuves de connaissance zéro, d’algorithmes de hachage et de composants de signatures agrégées sont encapsulés sous forme de fonctions hôtes natives de l’environnement. La couche de contrat peut alors les appeler directement, sans se battre avec les surcoûts liés aux sauts inter-précompilés et aux échanges de communications en aller-retour côté hors chaîne. À logique ZK identique, la consommation de gaz côté contrat peut être réduite d’environ 30 %. La latence d’appel descend alors au niveau de la milliseconde.
À la base, le système n’a pas repris le modèle de mémoire de l’EVM. Il a redessiné la disposition de la mémoire en s’appuyant sur le WASM. Le modèle natif de mémoire EVM est optimisé pour les smart contracts classiques ; lorsqu’on l’utilise pour des opérations ZK, les lectures/écritures fréquentes génèrent de nombreuses copies de mémoire redondantes. Dans certains scénarios de preuves complexes, l’occupation mémoire peut exploser jusqu’à plusieurs fois. Le WASM offre des granulations de mémoire plus flexibles, mieux adaptées aux caractéristiques des ZK massivement itératifs, aux hachages en boucle et aux calculs sur polynômes. L’occupation mémoire maximale peut ainsi chuter jusqu’à 40 %, et l’efficacité d’exécution s’améliore nettement.
Le plus important, cependant, est l’intégration globale : les capacités ZK ne sont pas des composants isolés. Les interfaces de contrat et les primitives de transactions privées on-chain sont unifiées. La vérification des preuves, le transfert d’actifs et la logique de confidentialité peuvent s’enchaîner dans le même flux de transaction, en boucle de bout en bout, sans avoir à assembler des systèmes multiples.