iExec (RLC) fait appel à ChainSecurity pour auditer ses smart contracts
iExec est une société française souhaitant décentraliser le cloud computing grâce à la blockchain. À l’occasion de la sortie de la V3 de son protocole, iExec vient de passer haut la main un audit de ses smart contracts par ChainSecurity.
iExec V3
Le 15 mai dernier, les smart contracts composant la version 3 du protocole iExec ont été publiés. Cette mise à jour appelée « Enterprise Edition » apporte son lot de nouvelles fonctionnalités, principalement tournée vers le service aux entreprises.
Parmi ces fonctionnalités, nous retrouvons la monétisation de données via le Data Store d’iExec, la mise en place d’environnement d’exécutions sécurisé TEE – Trusted Execution Environment – qui permet de sécuriser les programmes s’exécutant sur des machines distantes. Nous citerons également l’intéressant Data Wallet, qui permet aux particuliers comme aux entreprises de louer leurs données de façon sécurisées.
ChainSecurity à l’audit
L’audit des smart contracts de cette nouvelle version a été réalisé par la compagnie ChainSecurity.
Cette société a su faire ses preuves au fur et à mesure des années, pour devenir une référence en termes d’audit de smart contracts. C’est par exemple elle qui a décelé la faille de sécurité sur l’EIP 1283, débouchant sur un report du hard fork Constatinople du réseau Ethereum.
Dans son rapport sur les smart contracts de iExec V3, ChainSecurity fait état de l’analyse de 18 smart contracts. L’entreprise a réalisé une vérification manuelle des différents mécanismes implémentés dans les contrats.
Résultat : RAS
Les résultats sont probants comme le démontre la conclusion du rapport :
« Dans l’ensemble, ChainSecurity a constaté que iExec emploie de bonnes pratiques de programmation et possède un code propre et bien documenté. ChainSecurity a soulevé des problèmes mineurs de sécurité et de conception, qui ont tous été corrigés dans la dernière version du code. » Rapport de ChainSecurity.
Parmi les problèmes mineurs révélés, puis corrigés ont été soulevés un souci de sécurité et un de design. Ces problèmes concernent respectivement, l’utilisation d’une ancienne version du compilateur solidity et une déclaration dupliquée de variable.
Le premier problème a été corrigé en passant de la version 0.5.7 à la 0.5.8 du compilateur Solidity. Le second quant à lui, a été justifié par iExec comme étant une solution de contournement pour utiliser la librairie Java Web3j.
L’ensemble des smart contracts ont ainsi obtenu la validation de ChainSecurity, permettant à iExec de lancer sereinement sa version 3 le 31 mai comme l’indique sa roadmap.