Plateforme privée et indépendante.Plateforme privée et indépendante : gratuite pour les clients, financée par une commission des prestataires.Financement
Audit et développement de smart contracts sur ZKsync
Développer et auditer sur ZKsync, rollup à preuve de validité : compilateurs et VM propres, abstraction de compte native, écarts avec l'EVM.
ZKsync est un rollup à preuves à divulgation nulle de connaissance sur Ethereum : il exécute les transactions hors d'Ethereum et prouve leur validité par des preuves cryptographiques vérifiées sur Ethereum. Il accepte Solidity et Vyper, mais les exécute sur sa propre machine virtuelle, qui n'est pas une copie exacte de l'EVM. Pour un projet, cela signifie des langages familiers avec des différences de comportement à tester et à faire relire explicitement.
Développer sur ZKsync
Les sources Solidity et Vyper sont compilées avec des compilateurs dédiés vers la machine virtuelle du réseau. La plupart du code applicatif fonctionne tel quel, mais certains comportements de bas niveau diffèrent d'Ethereum. ZKsync intègre l'abstraction de compte : tout compte peut être un smart contract doté de sa propre logique de validation, ce qui permet par exemple la prise en charge des frais par un tiers, mais modifie les hypothèses sur l'initiateur d'une transaction.
Langages : Solidity, Vyper
Outils : extensions ZKsync pour Hardhat et version de Foundry adaptée à ZKsync
Différences à vérifier : déploiement et calcul des adresses de contrats, certains opcodes et précompilés, coûts de gas et de données
Ce que regardent les auditeurs
Les écarts avec l'EVM : code qui prédit des adresses CREATE ou CREATE2, assembleur en ligne, opcodes au comportement différent
L'abstraction de compte : hypothèse d'un appelant simple, validation des signatures, logique des paymasters
La messagerie depuis Ethereum et les actifs pontés, dont l'authentification des messages entrants
Les hypothèses de coût de gas et de données reprises d'Ethereum