L’abstraction humaine pourrait rendre les contrats intelligents plus intelligents, rapportent des chercheurs

Crédit : domaine public Unsplash/CC0

Les contrats intelligents, ou programmes informatiques qui exécutent automatiquement certaines movements convenues lorsque les stipulations convenues sont remplies, sont considérés comme plus sécurisés pour les transactions en ligne que les contrats traditionnels, mais ils ne sont pas à l’épreuve des erreurs. Des chercheurs du School of Knowledge Science and Generation (IST) de Penn State, dans le cadre d’un effort multi-institutionnel, ont développé un cadre complet basé sur un modèle au lieu du code de programmation traditionnel pour rendre le développement de contrats intelligents plus facile, plus facile à vérifier et, à terme. , plus sûr à utiliser.

Ils ont publié leur proposition dans Transactions IEEE sur une informatique fiable et sécurisée.

“Comme c’est le cas avec los angeles plupart des logiciels, le code utilisé pour programmer les contrats intelligents est sujet à des insects et des vulnérabilités”, a déclaré Aaron Lazka, professeur adjoint à l’IST et chercheur fundamental du projet. “Notre projet s’est concentré sur les défis tactics importants liés à los angeles vérification si ce code fait ce qu’il est censé faire, en particulier lors de l’interplay avec d’autres contrats intelligents.”

Les contrats intelligents sont stockés sur des plateformes blockchain, similaires à celles utilisées pour stocker los angeles monnaie virtuelle telle que Bitcoin. Selon Laszka, los angeles plate-forme blockchain vise à rendre les contrats intelligents – qui gèrent souvent des actifs de valeur importante – plus sécurisés contre los angeles manipulation. Mais si los angeles plateforme s’guarantee que le contrat clever est correctement exécuté, elle ne vérifie pas los angeles validité du code du contrat.

Lorsque les stipulations prédéfinies du contrat clever sont remplies, une motion spécifique est effectuée sur los angeles blockchain et mise à jour afin que los angeles transaction ne puisse pas être modifiée. Mais lorsqu’un contrat clever ne se comporte pas comme prévu, identifier le problème peut être difficile, selon les chercheurs.

“Les contrats intelligents rédigés à los angeles major à l’aide d’un langage de programmation sont difficiles à vérifier”, a-t-il déclaré. “Les insects ne peuvent être découverts qu’après le déploiement du contrat clever, auquel cas il peut être exploité.”

Laszka a montré l’exemple d’une vente aux enchères en ligne. Les exigences inscrites dans le code des enchères sont telles qu’une fois l’enchère terminée, aucune autre offre ne peut être placée. Toutefois, une fois publiée, l’enchère permet de remplacer le plus offrant après los angeles clôture. Les outils de vérification post-déploiement peuvent déterminer que les directions (le langage de programmation) sont erronées, mais ils n’indiquent pas précisément où se situe le problème ni ce que les programmeurs doivent faire pour le résoudre.

Laska a souligné les failles de sécurité survenues ces dernières années – où des attaquants extraient de manière malveillante des actifs de contrats intelligents ou détruisent entièrement des contrats – comme preuve que les développeurs ont besoin d’outils de vérification plus efficaces pour garantir qu’un contrat clever répondra à ses exigences.

“Dans le monde universitaire et industriel, il existe de nombreux outils de vérification du langage de programmation et du code device, et certaines entreprises peuvent être engagées pour effectuer des audits contractuels”, a déclaré Laszka. “Mais les retours fournis par ces outils et products and services peuvent être de faible niveau et pas nécessairement utiles.”

Selon Laszka, des incidents tels que des failles de sécurité exploitent souvent l’interplay entre plusieurs contrats intelligents, mais les recherches antérieures sur los angeles vérification des contrats intelligents, los angeles détection des vulnérabilités et le développement sécurisé ne considèrent généralement que les contrats individuels de manière isolée.

“Pour combler cette lacune, nous avons introduit un cadre, que nous appelons VeriSolid, pour los angeles vérification formelle des contrats à l’aide d’un modèle abstrait basé sur une device à états qui exécute le contrat exactement comme spécifié”, a déclaré Laszka. “Cette approche permet aux développeurs de réfléchir et d’étudier le comportement d’un ensemble de contrats en interplay à un niveau d’abstraction élevé.”

Selon les chercheurs, ce changement begin dès los angeles segment de développement. Un modèle abstrait de haut niveau permettrait aux développeurs d’exprimer de manière easy et conviviale le fonctionnement des nœuds.

“Nous pensons qu’il est plus facile pour les humains de travailler avec des ideas abstraits qu’avec des lignes de code de langage de programmation”, a déclaré Laszka. “Si les validateurs du modèle constatent que quelque selected ne va pas, nous pouvons fournir des commentaires à ce niveau d’abstraction plus élevé pour identifier le problème.”

Dans le cas d’une vente aux enchères en ligne, les commentaires de vérification du formulaire mèneront directement les développeurs au problème : le plus offrant a changé automotive los angeles fonction d’enchère est toujours disponible après los angeles clôture de l’enchère.

“Avec notre modèle proposé, le contrat clever peut être vérifié avant le déploiement”, a déclaré Laska. “De plus, les outils peuvent réellement générer du code supply à partir du modèle qui sera publié sur los angeles blockchain comme si le développeur l’avait écrit manuellement dans le langage de programmation.”

Les chercheurs ont utilisé VeriSolid pour créer du code Solidity, un langage de programmation permettant d’exécuter des contrats intelligents sur des plateformes blockchain.

“Ce code est fonctionnellement et comportementalement équivalent aux modèles vérifiés, permettant los angeles création de contrats intelligents corrects de par leur conception”, a déclaré Laszka. « De plus, nous avons fourni une notation graphique, appelée diagrammes de déploiement, pour identifier les interactions potentielles entre les sorts de contrats. »

Cela a permis aux chercheurs de fournir un cadre pour los angeles vérification, los angeles génération et los angeles e-newsletter automatisées de contrats conformes au système de e-newsletter.

“Le modèle de haut niveau permet aux développeurs de spécifier les propriétés souhaitées – pour les contrats intelligents indépendants et interactifs – d’une manière qu’ils ne peuvent pas faire avec un langage de programmation de bas niveau”, a déclaré Laszka. “De plus, nous synchronisons los angeles vérification et le déploiement en tant que cadre commun, permettant aux nœuds d’être publiés sur le réseau blockchain dès qu’ils sont vérifiés.”

Plus d’knowledge:
Keerthi Nilaturu et al., Proper through Design Interactive Sensible Contracts et une approche systématique pour vérifier les contrats ERC20 et ERC721 avec VeriSolid, Transactions IEEE sur une informatique fiable et sécurisée (2022). est ce que je: 10.1109/TDSC.2022.3200840

Fourni par l’Université d’État de Pennsylvanie

los angeles quotation: L’abstraction humaine peut rendre les contrats intelligents plus intelligents, rapport des chercheurs (14 septembre 2023) Récupéré le 1er novembre 2023 sur

Ce record est soumis au droit d’auteur. Nonobstant toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans autorisation écrite. Le contenu est fourni à titre informatif uniquement.