Ethereum : Des chercheurs souhaitent intégrer des fonctionnalités zk à Solidity
Vers un réseau plus confidentiel ? Avec la transition vers une roadmap concentrée sur les rollups, le sujet des zero-knowledge proofs n’a jamais été aussi présent sur Ethereum. Si bien, que certains développeurs souhaitent intégrer ces fonctionnalités dans le cœur d’Ethereum.
Les zk-proofs au cœur de l’attention
Au cours des derniers mois, l’écosystème des rollups sur Ethereum a massivement évolué. Ainsi, l’essor de zk-rollups a également dynamisé les recherches sur les zero-knowledge proof en général.
Pour rappel, une preuve à connaissance nulle (Zero Knowledge Proof) est une méthode par laquelle une partie peut prouver à une autre qu’elle connaît une information spécifique, sans révéler d’autres détails sur cette information. C’est un peu comme si vous vouliez prouver à quelqu’un que vous connaissez un secret, mais sans dire le secret lui-même.
Ces zk proofs sont notamment utilisées dans les rollups pour agréger plusieurs transactions en une seule preuve. Cela permet une validation efficace et sécurisée des transactions, sans révéler les détails spécifiques de chaque transaction.
Bientôt des zk proofs dans Solidity ?
Évidemment, face à l’essor de ces solutions dans les layers 2 d’Ethereum, la couche principale du réseau pourrait avoir besoin d’évoluer elle aussi.
Ainsi, le 9 octobre dernier, les chercheurs Mirror Tang, Shixiang Tang, Shawn Chong et Yunbo Yang, ont publié une étude intitulée « L’application des ZK-SNARKs dans Solidity – Transformation de la vie privée, optimisation du calcul et résistance à la MEV ».
En pratique, le rapport aborde l’application des ZK-SNARKs dans Solidity pour améliorer la confidentialité, l’optimisation des calculs, et la résistance au MEV pour Ethereum.
Ce rapport détaille l’intégration de fonctionnalités zero knowledge au cœur du langage Solidity. Cela signifie qu’elle propose d’ajouter des op-codes (opérations spécifiques dans le langage machine) qui permettent une compatibilité native de Solidity avec les ZK-SNARKs.
Ce changement vise à faciliter l’implémentation de la preuve à connaissance nulle dans les smart contracts, permettant ainsi une meilleure confidentialité et optimisation computationnelle dans les applications déployées sur Ethereum.
Quels apports pour Ethereum ?
L’ajout de fonctionnalités zk à Solidity présenterait de nombreux avantages pour Ethereum :
- Amélioration de la confidentialité, en permettant des transactions privées sur Ethereum, anonymisant les montants ainsi que l’identité des participants ;
- L’optimisation des calculs permettrait de réduire la quantité de données nécessaires à la validation des transactions. Par conséquent, cela allègerait la charge sur Ethereum, améliorant ses performances ;
- Résistance à la MEV, du fait de la confidentialité des transactions, les acteurs externes ne pourraient plus utiliser les informations publiques pour leurs stratégies de MEV.
Les inconvénients et risques de la proposition
Toutefois, les chercheurs ont conscience que cette implémentation sera loin d’être triviale.
D’une part, cela pourrait augmenter la complexité de Solidity et diminuer les performances. En effet, les systèmes de zk proof sont complexes et nécessitent des opérations de calcul et de stockage supplémentaires. D’autant plus que la phase de vérification peut affecter les performances des smart contracts.
D’autre part, la sécurité de certains de ces systèmes repose sur une configuration de confiance (trusted setup), qui si elle est rendue publique, peut compromettre la sécurité du système.
Enfin, la création et la vérification de ces preuves sont complexes et nécessitent une large puissance de calculs. Par conséquent, cela pourrait impacter négativement la scalabilité du réseau.
En parallèle, certains observateurs ont identifié des limites dans la confidentialité, en expliquant qu’il serait potentiellement possible de recalculer les montants des transactions privées. De son côté, l’auteur de la publication reconnaît cette limite, mais indique que l’objectif principal du rapport était de montrer l’optimisation computationnelle, et non la confidentialité.
De son côté, le réseau Ethereum se prépare à sa prochaine mise à jour de taille : Cancun Deneb. Celle-ci introduira notamment l’EIP 4844, qui devrait améliorer les performances des L2 et réduire leur coût de fonctionnement.