Tezos Blockchain : analyse approfondie du point de vue de l'audit PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Blockchain Tezos : analyse approfondie du point de vue de l'audit 

Temps de lecture: 5 minutes

Le projet de blockchain de Tezos a connu un début splendide en levant 232 millions de dollars avec l'offre initiale de pièces de monnaie, obtenant la deuxième place pour recevoir les plus gros fonds parmi les 20 plus grands ICO.

Parmi les réseaux blockchain les plus populaires, comme Ethereum ou Bitcoin, comment Tezos a-t-il pu gagner tout le battage médiatique ? Pour trouver la réponse, examinons de plus près les attributs distinctifs de Tezos qui ont attiré des hordes de supporters. 

Alors que la blockchain qui a émergé à son époque fonctionnait sur le consensus de la preuve de travail (PoW), la blockchain de Tezos était innovante dans l'utilisation Preuve de pieu(PoS) basé sur un consensus avec un mécanisme d'auto-amendement et une gouvernance en chaîne. 

En conséquence, Tezos est devenu l'alternative parfaite pour créer des applications DeFi respectueuses de l'environnement qui nécessitent beaucoup moins d'énergie et de faibles coûts. Alors, comment l'infrastructure Tezos équivaut-elle à la flexibilité dans la mise en œuvre des mises à niveau beaucoup plus facilement ?

Cela nous amène à en apprendre davantage sur la configuration architecturale, qui ajoute de la valeur aux Tezos.

Contrats intelligents sur Tezos

Les contrats intelligents sont des contrats exécutables programmés pour traiter l'échange de jetons entre deux parties sans obliger l'une des parties à faire confiance à l'autre. 

En ce qui concerne Tezos, il est écrit de manière unique en utilisant le langage de programmation Michelson. De plus, Tezos utilise une vérification formelle pour garantir l'exactitude du code, ce qui le rend plus sûr et fiable. 

Énumérer les spécificités de la blockchain Tezos

Les faits saillants des Tezos sont donnés ici pour une meilleure compréhension de sa configuration et de son unicité. 

Auto-modifiant

Tezos, qui valide les blocs fonctionnant sur l'algorithme de consensus, est intégré avec un mécanisme auto-modifiable. Toute modification du protocole, telle que le passage à un consensus différent, la modification du système de récompense, l'ajout de transactions, etc., est mise en œuvre sur la base du système de vote en chaîne. 

Tout changement mineur à majeur dans le protocole économique de Tezos est déclenché par la procédure de vote en chaîne. Ce protocole auto-modifiable a le dessus pour éviter les bifurcations ou les scissions dans la communauté.

Gouvernance en chaîne

Tezos s'oppose à Bitcoin et Ethereum, qui ont suivi les systèmes de gouvernance non formalisés qui ont conduit aux scissions de la blockchain (Bitcoin Cash et Ethereum classic). 

La gouvernance en chaîne de Tezos permet aux « Bakers », alias Miners, de proposer et de voter sur les mises à niveau du protocole. La méthodologie en chaîne de Tezos est conçue pour implémenter automatiquement les mises à niveau dans le code du protocole sous-jacent sans passer par un directeur centralisé. 

Consensus de preuve de participation : le PoS 

Le consensus PoS dans Tezos permet à quiconque de participer. Pour être un boulanger Tezos qui valide le bloc et permet la construction d'un consensus, le boulanger doit posséder un minimum de jetons XTZ (natifs). 

Il adopte également une méthode où si l'utilisateur n'a pas assez de réserve pour la cuisson, il peut déléguer des jetons XTZ à un boulanger avec une grosse bankroll Tez. À leur tour, les récompenses gagnées par le boulanger sont redistribuées aux délégants. 

Exploitez les motifs trouvés dans les contrats intelligents Tezos

L'un des rapports d'audit a révélé des erreurs dans l'architecture de transmission de messages des contrats intelligents Tezos. Nous allons les décoder ici maintenant. 

Architecture de transmission de messages

Un contrat externe censé être appelé lors de l'exécution de la fonction est plutôt mis en file d'attente dans une liste d'appels à exécuter dans le contrat Tezos. 

La commande trouvée dans le contrat Tezos est, 

  • Exécuter a() # Prochains appels : [b, d]
  • Exécuter b() # Prochains appels : [d, c]
  • Exécuter d() # Prochains appels : [c]
  • Exécuter c() # Prochains appels : []

Dans lequel vous pouvez voir que le code d() est exécuté avant le code c().

Ce type d'exécution a la possibilité de deux types de vulnérabilités,

Contournement de l'autorisation de rappel 

L'architecture de Tezos est conçue pour empêcher le contrat de lire la valeur de retour d'un appel externe à l'aide de la fonction de rappel. Mais ici, comme il n'y a aucune restriction, l'utilisation du rappel peut entraîner des problèmes de contrôle d'accès. 

Injection d'appel

Il offre à l'attaquant la possibilité de compromettre le contrat en injectant des appels entre une fonction et un appel externe généré. 

A l'exécution des fonctions, les appels générés sont mis en file d'attente dans la liste des appels à exécuter. Un attaquant peut obtenir un avantage en plaçant son appel dans la file d'attente et en exécutant le code entre la fin de la fonction exécutée et les appels générés. 

Lorsque l'appel de l'attaquant est exécuté, le solde du contrat ou la mémoire du contrat passe à un état invalide, et l'attaquant réussit l'injection d'appel. 

Précautions à observer lors du codage du contrat intelligent Tezos à l'aide de Michelson

Le langage de programmation Michelson est une option incontournable pour rédiger des contrats sécurisés résistant aux fuites de données et aux vols de fonds. Bien que le langage de programmation soit si fort, il existe une liste d'erreurs qui peuvent apparaître dans le contrat. 

Comprenons les erreurs courantes et les moyens d'éliminer les erreurs.

Remboursement à une liste de contrats

Il s'agit d'une condition dans laquelle les fonds d'un groupe de personnes sont remboursés à la fois. Cela se produit lors de l'acceptation de contrats arbitraires lorsqu'un utilisateur malveillant lance un tel problème. 

Les problèmes possibles de cette erreur sont qu'un contrat avale tout le gaz à travers une série de rappels, l'instruction 'FAIL' est appelée qui arrête tous les calculs, les erreurs de réentrance, etc. 

Quelle est la solution?

Les comptes par défaut n'exécutent pas le code ; par conséquent, le problème ci-dessus peut être résolu en créant un compte par défaut à partir des clés des personnes. En outre, il peut être programmé pour que les utilisateurs retirent leurs fonds individuellement. 

Ne pas définir l'état avant le transfert

La réentrance est un obstacle courant dans la blockchain. Lorsque le contrat fait appel à un autre contrat externe pour effectuer des transferts, l'arbitraire prend le dessus pour effectuer d'autres transferts si l'état n'est pas mis à jour après chaque transfert.

Elle entraîne de multiples retraits de fonds du contrat. 

Quelle est la solution?

Soyez prudent lorsque vous appelez des contrats externes et assurez-vous que leur comportement ne peut pas être modifié. Pour interdire la réentrée, marquez dans le stockage afin que les utilisateurs ne puissent pas réentrer à moins d'avoir une bonne raison. 

Stockage ou transfert de données privées

Les données publiées pourraient être consultées explicitement. Cela signifie que les informations privées deviennent visibles pour tout le monde lorsque la transaction est diffusée. Cela donne une chance au nœud malveillant du système de manipuler la transaction non signée en la retardant ou en la modifiant. 

Quelle est la solution?

Signez les transactions qui contiennent des informations sensibles. L'utilisation de compteurs pour appliquer les ordres de transaction peut résoudre le problème. 

Assurez la protection professionnelle des projets grâce aux audits de contrats intelligents Tezos 

Tezos construit avec une structure auto-modifiable offre une meilleure évolutivité et fiabilité, mais bien que la sécurité soit toujours un sujet de question pour les applications basées sur la blockchain. Le plus petit des problèmes peut entraîner la plus grande perte de fonds. 

Et c'est là Audits de plume fait un pas en avant pour protéger les actifs de l'emprise des mauvais acteurs. Nous ne leur donnons aucune chance d'exploiter le contrat, car nous reconnaissons et résolvons ces problèmes en procédant à des Audits de contrats intelligents Tezos

Ayez une consultation gratuite avec nos experts pour en savoir plus sur nos services d'audit. 

2 Vues

Horodatage:

Plus de Quillhasch