Parlons d'un super-pouvoir de Starknet : Sierra. Lorsque vous construisez une blockchain basée sur ZK, avec une VM basée sur ZK pour le calcul général (comme Cairo l'est pour Starknet), vous serez confronté à un problème : comment rendre la VM à la fois sécurisée pour la blockchain *et* conviviale pour ZK ? Le problème est celui de la non-déterminisme. Je vais expliquer : les zkVM deviennent beaucoup plus efficaces si le séquenceur/preuveur peut "deviner" certaines entrées et les remplir magiquement. Le problème est que cela ouvre la porte à diverses attaques : un utilisateur malveillant peut envoyer une tx qui ne peut pas être facilement devinée, et un séquenceur/preuveur malveillant peut décider de ne pas deviner la bonne valeur, afin de nuire à un utilisateur. Quelle est la solution ? - Une option est de supprimer la non-déterminisme. Mais cela nuit à l'efficacité. - Une autre option est d'utiliser des méthodes théoriques de jeux pour permettre à d'autres séquenceurs de punir les attaquants tout en incitant certains séquenceurs à inclure de bonnes transactions. - Une troisième option est de construire une représentation intermédiaire sécurisée (nous l'appelons : Sierra). Sierra permet juste le bon type de non-déterminisme, de manière à ce que toutes les suppositions puissent être remplies. En cours de route, avoir cet outil permet de résoudre d'autres choses intéressantes, comme l'ajout de la mesure de gaz dans le processus de compilation. Résumé : Sous le capot de Cairo, le meilleur langage de contrat intelligent, il y a un bijou, un super-pouvoir, qui permet d'exécuter de manière sécurisée et efficace des ZK basés sur la blockchain. Uniquement sur Starknet, la technologie du futur aujourd'hui.