Français
L’implémentation de primitives cryptographiques sur o1js améliore les capacités disponibles pour les utilisateurs pour construire des circuits complexes sur Mina.
Défis surmontés
Le développement de fonctionnalités cryptographiques a posé plusieurs défis qui ont été efficacement résolus au cours du processus de développement :
BLS :
Initialement, l’intégration de la courbe elliptique BLS12-381 s’est avérée difficile en raison des limitations de l’API de courbe elliptique d’o1js, qui prenait en charge une taille de champ principal maximale de 256 bits. Après des recherches approfondies et les conseils précieux des mentors de ZKHack, l’équipe a réussi à migrer vers la courbe elliptique AltBN128, compatible avec o1js, garantissant une intégration transparente pour le schéma de signature BLS.
De plus, l’extension de la courbe elliptique sur les extensions de champ, non initialement prises en charge par o1js, a incité l’équipe à se lancer dans des implémentations personnalisées. Même si les contraintes de temps ont empêché une mise en œuvre complète, l’expérience a fourni un aperçu approfondi des mathématiques abstraites et de leur traduction pratique en code, contribuant ainsi de manière significative à l’expertise de l’équipe en matière d’o1js.
Partage secret de Shamir :
La mise en œuvre de Shamir Secret Sharing a présenté des défis liés au respect des contraintes de la bibliothèque et à la détermination du stockage optimal des valeurs en chaîne par rapport à hors chaîne. Générer des preuves valides pour chaque processus de génération de partage, tout en garantissant une vérification facile, nécessitait une prise de décision et une mise en œuvre méticuleuses.
Dans l’ensemble, ces défis constituaient des opportunités d’apprentissage cruciales, renforçant la maîtrise d’o1js et affinant les stratégies permettant de traduire des concepts cryptographiques complexes en code fonctionnel.
