Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Dire que nous vivons à «l’ère des ICO» est un euphémisme flagrant.

Ils ont généré des milliards de dollars de revenus et sont devenus un nom familier dans le processus. Cependant, avec autant d’argent qui circule, il faut faire très attention pour s’assurer que les contrats intelligents ne sont pas exploités et que l’argent généré est sécurisé..

Un codage défectueux ou imprudent peut conduire à une multitude d’attaques de pirates informatiques comme l’attaque de réentrance, l’attaque de débordement / sous-débordement, etc. N’oubliez pas qu’en fin de compte, ce n’est pas seulement votre argent qui est en jeu..

Cela dit, comprenons ce que sont les contrats intelligents et les différents types de contrats disponibles.

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants??

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Différents types de contrat intelligent

Les contrats intelligents sont des contrats automatisés. Ils sont auto-exécutables avec des instructions spécifiques écrites sur son code qui sont exécutées lorsque certaines conditions sont remplies.

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Vous pouvez en savoir plus sur les contrats intelligents dans notre guide détaillé ici.

Les contrats intelligents permettent de faire les choses dans l’écosystème Ethereum. Quand quelqu’un veut faire une tâche particulière dans Ethereum, il initie un contrat intelligent avec une ou plusieurs personnes.

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

Les contrats intelligents sont une série d’instructions, écrites à l’aide du langage de programmation “solidité», Qui fonctionne sur la base du Logique IFTTT aka le SI-CECI-PUIS-CELLE logique. Fondamentalement, si le premier ensemble d’instructions est terminé, exécutez la fonction suivante et ensuite la suivante et continuez à répéter jusqu’à la fin du contrat..

Il existe trois types de contrats intelligents:

  • Entièrement sur des contrats conformes aux normes de la chaîne qui n’ont pas de transfert d’éther (ou de jetons conformes). Ce sont ceux qui sont les plus faciles à auditer car ils suivent une norme particulière. Puisqu’ils sont complètement sur la blockchain et n’ont pas de transferts d’éther, ils ne sont pas vulnérables aux attaques
  • Entièrement sur des contrats conformes aux normes de la chaîne qui ont permis des transferts Ether comme ICO. Ces contrats sont un peu plus difficiles à vérifier que les précédents. Cela dit, les contrats qui permettent aux ICO suivent généralement des modèles qui facilitent l’audit.
  • Enfin, nous avons des contrats qui ont des interactions hors chaîne comme les oracles, les canaux, etc. Ceux-ci sont extrêmement difficiles à auditer car ils impliquent des opérations qui sont en dehors de la blockchain. En fait, il n’est pas exagéré de dire qu’un audit complet de ces contrats est presque impossible.

Très bien, maintenant nous savons ce que sont les contrats intelligents, examinons l’importance de l’audit de ces contrats.

Importance de l’audit

Il est vain de vous parler de l’importance de l’audit sans vous parler du hack le plus célèbre de la courte histoire des ICO.

Le DAO, alias l’Organisation autonome décentralisée, était un contrat intelligent complexe qui allait révolutionner Ethereum pour toujours. Il s’agirait essentiellement d’un fonds de capital-risque décentralisé qui allait financer tous les futurs DAPPS réalisés dans l’écosystème.

La façon dont cela fonctionnait était assez simple. Si vous vouliez avoir votre mot à dire sur la direction DAPPS qui serait financée, alors vous devrez acheter des «jetons DAO» pour une certaine quantité d’Ether. Les jetons DAO étaient des indicateurs que vous faites maintenant officiellement partie du système DAO.

Alors, comment DAPPS allait-il être approuvé et construit? Eh bien, tout d’abord, ils doivent être mis sur la liste blanche par les conservateurs, qui étaient essentiellement des figures de proue connues dans le monde d’Ethereum. Après avoir obtenu leur cachet d’approbation, ils seront votés par les détenteurs de jetons DAO. Si la proposition obtient une approbation de 20% lors du vote, ils obtiendront les fonds nécessaires pour commencer.

Le potentiel du DAO et la flexibilité, le contrôle et la transparence totale qu’il offrait étaient sans précédent; les gens ont sauté pour obtenir leur part du gâteau. Dans les 28 jours suivant sa formation, il a accumulé plus de 150 millions de dollars d’éther lors d’une vente publique. À ce moment-là, il avait 14% de tous les jetons éther émis à ce jour.

Vous vous demandez peut-être, tout va bien, mais comment sortir du DAO? Et si un DAPP est approuvé dont vous n’êtes pas un grand fan, comment pouvez-vous alors vous désinscrire du DAO? Pour activer cela, une porte de sortie a été créée, appelée «Fonction Split». En utilisant cette fonction, vous récupéreriez l’éther que vous avez investi et, si vous le souhaitez, vous pouvez même créer votre propre «DAO enfant». En fait, vous pouvez vous séparer de plusieurs détenteurs de jetons DAO et créer votre propre DAO enfant et commencer à accepter des propositions.

Il y avait une condition dans le contrat, cependant, après la séparation du DAO, vous deviez conserver votre éther pendant 28 jours avant de pouvoir les dépenser..

Donc, tout a l’air bien pour le moment… sauf qu’il y avait un petit problème. Beaucoup de gens ont vu cette éventuelle échappatoire et l’ont signalée. Les créateurs de DAO ont assuré que cela n’allait pas être un gros problème. La seule chose est que c’était vraiment un gros problème. Cette même chose a créé toute la tempête qui a divisé Ethereum en Ethereum et Ethereum Classic.

Le 17 juin 2016, quelqu’un a exploité cette faille dans le DAO et siphonné un tiers des fonds du DAO. Cela représente environ 50 millions de dollars. L’échappatoire découverte par le ou les hackers était assez simple avec le recul.

Si l’on souhaite quitter le DAO, il peut le faire en envoyant une demande. La fonction de fractionnement suivra alors les deux étapes suivantes:

  • Rendre à l’utilisateur son Ether en échange de ses jetons DAO.
  • Enregistrez la transaction dans le grand livre et mettez à jour le solde du jeton interne.

Ce que le pirate a fait, c’est qu’il a créé une fonction récursive dans la requête, voici donc comment la fonction de fractionnement s’est déroulée:

  • Prenez les jetons DAO de l’utilisateur et donnez-leur l’éther demandé.
  • Avant de pouvoir enregistrer la transaction, la fonction récursive a fait revenir le code et transférer encore plus d’Ether pour les mêmes jetons DAO.
  • Cela a continué jusqu’à ce que 50 millions de dollars d’Ether soient retirés et stockés dans un DAO enfant et comme vous vous en doutez, pandemonium a traversé toute la communauté ethereum..

Alors, pour tout résumer.

Le DAO était censé être une dApp révolutionnaire qui allait changer Ethereum pour toujours. Cependant, en raison d’une simple faille dans le code du contrat intelligent, un pirate informatique a pu siphonner 50 millions de dollars d’Ether. En conséquence, ce qui suit s’est produit:

  • Le DAO s’est arrêté
  • La valeur de l’Ether a chuté
  • Le drame qui a suivi a divisé toute la communauté Ethereum en deux, Ethereum et Ethereum Classic.

Le DAO, plus que tout, rappelle pourquoi les ICO doivent s’assurer d’investir dans des services d’audit de qualité. Ce qui est vraiment triste, c’est que cela aurait pu être évité si le contrat avait été soumis à un service d’audit suffisamment décent..

Cela personnifie également le principal problème auquel sont confrontés la plupart des contrats intelligents modernes: la suringénierie.

La plupart des contrats sont développés par plusieurs développeurs, ce qui conduit inévitablement à un niveau de complexité inutilement élevé. Ce haut niveau de complexité conduit à une vulnérabilité plus élevée qui augmente la surface d’attaque du Dapp.

Cela dit, examinons les approches fondamentales qui existent pour l’audit des contrats.

Approches fondamentales de l’audit

Il y a deux approches fondamentales à l’audit de contrat intelligent:

  • Analyse manuelle du code
  • Analyse automatique du code.

Analyse manuelle du code

Une analyse manuelle doit être effectuée si vous disposez d’une équipe de développement de taille décente. Fondamentalement, l’équipe passera en revue et examinera chaque ligne de code et les testera pour différents problèmes de sécurité. S’il va sans dire que c’est la meilleure façon de procéder à l’audit, le problème demeure dans le fait qu’il prend énormément de temps. De plus, si vous ne disposez pas déjà de votre propre équipe de développement, il vous en coûtera des tonnes d’argent pour embaucher le nombre requis de développeurs pour étudier votre code en profondeur..

Analyse automatique du code

D’autre part, l’analyse automatique du code permet aux développeurs d’économiser une tonne d’argent car ils utilisent des tests de pénétration sophistiqués pour les aider à trouver des vulnérabilités. Les développeurs utilisent des logiciels comme Truffle pour effectuer des tests de code automatiques. Ils peuvent également utiliser Populus, qui est un framework basé sur python.

Bien que cette méthode soit rapide et rentable, elle présente un certain nombre de problèmes.

Les tests automatiques peuvent manquer un grand nombre de vulnérabilités et peuvent également identifier à tort un code comme problématique même si ce n’est pas le cas.

Ainsi, la solution la plus idéale sera une combinaison de la rigueur de l’analyse manuelle et du temps et de l’efficacité économique de l’analyse automatique. C’est ce que nous avons réalisé avec BountyOne.

Nous vous présenterons BountyOne bientôt, mais avant cela, nous devons vous parler de l’état actuel du secteur de l’audit..

L’état actuel de l’audit

Eh bien, pour le dire légèrement, l’état actuel de l’industrie de l’audit est cassé. Il y a deux choses à noter:

  • Premièrement, l’offre de développeurs suffisamment compétents pour exécuter différentes itérations du code pour trouver des vulnérabilités est extrêmement faible. C’est une zone très nichée.
  • Deuxièmement, la demande est extrêmement élevée. Regardez simplement le nombre d’ICO là-bas. De toute évidence, ils veulent tous des auditeurs appropriés pour leurs contrats intelligents.

Pour ces raisons, le prix de l’audit et des tests appropriés passe par le toit.

Le coût exact de la réalisation d’un audit de contrat intelligent dépend vraiment d’un certain nombre de facteurs clés.

Comme nous l’avons déjà dit, si vous ne disposez pas de votre propre équipe de développeurs, vous devrez sous-traiter votre contrat, ce qui gonflera considérablement votre budget..

Cela dit, un contrat intelligent simple sans logique métier coûte environ 4000 $. Les contrats intelligents plus compliqués et avancés peuvent aller de 50000 USD à 100000 USD.

De plus, si cela ne suffit pas. Il y a généralement une liste d’attente de 3 à 4 semaines, puis il faut 8 semaines pour que le processus de vérification soit terminé.

Donc, non seulement vous dépensez beaucoup d’argent, mais vous perdez également beaucoup de temps. C’est pourquoi nous avons introduit la plateforme BountyOne, pour:

  • Rassemblez différents développeurs du monde entier sur une seule plateforme
  • Deuxièmement, cela aidera les créateurs de projets à économiser beaucoup de temps et d’argent tout en réalisant le meilleur audit possible..

Très bien, alors nous allons vous présenter BountyOne.

En quoi BountyOne est-il différent??

Considérez BountyOne comme le «Uber» des auditeurs de contrats intelligents. Tout auditeur peut choisir de travailler sur n’importe quel contrat actuellement actif sur la plateforme. Chacun de ces auditeurs est contrôlé de manière approfondie par nos soins. Ils passent par un processus de candidature détaillé qui garantit que seuls les meilleurs auditeurs accèdent à notre plateforme.

L’ensemble du processus d’audit passe par trois étapes:

  • Étape 1: Les auditeurs travaillent sur le contrat et soumettent leurs versions
  • Étape 2: Les auditeurs principaux examinent ensuite le travail qui a été effectué par les auditeurs et le notent de 0 à 10
  • Étape 3: La communauté vérifie le travail qui a été effectué par les auditeurs principaux et les auditeurs pour voir si tout est en place.

Cet «audit triple fossé» garantit que le travail de chacun est non seulement doublé, mais triplé. Alors, maintenant que nous connaissons un aperçu général, entrons dans les détails.

Étape 1: Audit

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Le donneur d’ordre soumet un contrat et lui attribue une quantité particulière d’Ether. Les primes seront répertoriées sur la plate-forme comme une sorte de tableau d’affichage. Les contrats seront répertoriés comme “En cours”.

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Désormais, tout auditeur qui a été autorisé par BountyOne peut choisir de travailler sur ce contrat. La façon dont ils l’initient est en plaçant une partie de leur éther dans le contrat. Le raisonnement derrière cet enjeu est simple, pour s’assurer que les choses se font à temps.

L’un des plus gros problèmes des services d’audit de contrats intelligents actuels est qu’ils sont extrêmement consommateurs. Comme nous l’avons déjà mentionné, cela peut prendre >50 jours pour qu’un contrat normal soit audité.

Chez BountyOne, nous nous assurons que le timing est une priorité en laissant nos auditeurs conclure un contrat sensible au facteur temps. Fondamentalement, s’ils ne terminent pas leur travail dans le laps de temps imparti, ils perdront leur participation..

10 auditeurs peuvent travailler sur un projet à la fois.

Étape 2: Notation

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Vient maintenant la deuxième étape du processus.

Les auditeurs ont créé et soumis leurs versions du contrat, alors maintenant, comment choisir le meilleur contrat de manière équitable? Pour cela, un jury doit être sélectionné.

Trois auditeurs seniors peuvent choisir de devenir jurés pour un cas d’audit particulier en jalonnant Ethereum dans le contrat. Un auditeur senior est essentiellement un auditeur qui a effectué au moins 3 audits réussis dans l’écosystème BountyOne. Ainsi, ces auditeurs seniors peuvent classer le travail de chaque auditeur individuellement de 0 à 10, 0 étant le plus bas et 10 étant exceptionnel..

Imaginez que nous ayons un hypothétique contrat intelligent A et que seuls deux auditeurs y travaillent, Alice et Bob. Imaginez que trois auditeurs principaux marquent Alice et Bob comme ceci:

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Ok, alors il s’avère qu’Alice a fait un excellent travail et Bob a fait un travail terrible. C’est du moins ce que notre jury a décidé.

Cependant, un autre niveau de vérification doit être effectué. Rappelez-vous comment nous avons dit que chaque auditeur senior doit miser son propre Ethereum pour devenir membre du jury? C’est là que cet enjeu entre en jeu.

Étape 3: vérification

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

La dernière étape de l’audit est le contrôle communautaire. Toute la communauté d’auditeurs de BountyOne mettra la main sur les éléments suivants:

  • Le contrat original qui a été donné pour l’audit
  • Tous les contrats audités soumis par les auditeurs
  • Les notes attribuées aux contrats audités par les auditeurs principaux

Le contrôle de la communauté s’appuie sur la «sagesse de la foule» pour s’assurer que les auditeurs principaux ont correctement marqué les contrats audités.

Pour ce faire, ils vérifieront chaque contrat audité et verront dans quelle mesure il s’agit d’une amélioration par rapport au contrat original soumis. Après cela, ils vont vérifier les notes données par l’auditeur principal et voir si c’est juste ou non.

Si la communauté ne trouve aucun défaut, alors très bien. Cependant, supposons qu’ils trouvent des écarts flagrants. Supposons qu’ils aient vérifié les audits de Bob et qu’ils pensent qu’il a fait du très bon travail et que 2/10 est bien trop peu pour lui. Si cela arrive, ils lèveront un drapeau rouge.

Cela fonctionne également en sens inverse.

Supposons qu’un vérificateur principal accorde de très bonnes notes à un audit inférieur à la moyenne. Ensuite, la communauté signalera cet audit et annulera les notes que l’auditeur a reçues.

Étape 3B: signalisation rouge (facultatif)

SI la communauté lève un drapeau rouge, alors et alors seulement ce deuxième groupe de jurés d’auditeurs seniors est formé. Les auditeurs seniors ayant participé au jury d’origine ne pourront pas participer à celui-ci.

Si ce jury découvre que certains auditeurs seniors n’ont pas fait correctement leur travail dans le jury initial, leur participation est immédiatement retirée. En tant que tels, les auditeurs seniors ont toujours une incitation économique à s’assurer qu’ils notent correctement les audits.

Étape 4: Récompenser

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

D’accord, maintenant que nous savons comment fonctionne l’ensemble du processus, examinons plus en détail le mécanisme de récompense. Comment la plateforme BountyOne récompense-t-elle ses participants pour s’assurer que tout le monde obtient ses récompenses équitables??

La ventilation fonctionne comme ceci:

  • 70% de la récompense totale de l’éther va aux auditeurs
  • 20% de l’éther total va aux Auditeurs Senor.
  • SI la communauté trouve quelque chose qui ne va pas avec les audits ou le travail de l’auditeur principal, elle peut alors lever un drapeau rouge qui sera vérifié par un nouveau jury d’auditeurs principaux. Si cela se vérifie, alors la communauté et ce deuxième jury d’auditeurs seniors recevront 10% du total d’Ether.
  • Cependant, si la communauté ne trouve absolument rien de mal, les 10% supplémentaires de l’éther total reviendront aux auditeurs. Donc dans ce cas, ils obtiennent un total de 80%
  • Les auditeurs seront payés au prorata des notes qu’ils auront reçues.

Prenons un exemple et voyons comment se déroulera la répartition des récompenses.

Supposons que nous ayons un contrat avec un prix de récompense de 10 ETH. Supposons que seuls deux auditeurs, Alice et Bob y travaillent, et pendant le processus d’audit, la communauté n’a pas doivent entrer en jeu.

Ainsi, Alice et Bob recevront 80% du prix total de la récompense Ether, soit 8 ETH.

Maintenant, supposons que les auditeurs principaux ont noté Alice et Bob comme suit:

Pourquoi les audits de sécurité des contrats intelligents sont-ils si importants?

Le score total reçu est: 9 + 10 + 9 + 3 + 3 + 2 = 36

Sur ce total, la part d’Alice est: 9 + 10 + 9 = 28 sur 36, soit 28/36 * 100 = 77,78%

La part de Bob est: 3 + 3 + 2 = 8 sur 36 dont 8/36 * 100 = 22,22%

Ainsi, après l’audit, Alice obtiendra 6,24 ETH (77,78% de 8) et Bob recevra 1,76 ETH.

Vous pouvez consulter le infographie de tous les processus de BountyOne ici.

Pourquoi BountyOne par rapport aux autres plates-formes?

Alors, pourquoi devriez-vous choisir BountyOne plutôt que d’autres plates-formes d’audit? Eh bien, jetons un œil:

  • C’est moins cher parce que nous n’avons pas d’auditeurs à plein temps pour lesquels nous devons payer des centaines de milliers de dollars. Ils ont d’autres emplois dans le développement de la solidité et le font simplement à côté comme un pilote Uber.
  • Nous les payons en fonction de la performance et pas simplement pour avoir dit qu’ils lisent le code. C’est la raison pour laquelle les auditeurs sont économiquement incités à faire le meilleur travail possible.
  • Les auditeurs risquent de perdre tout leur argent jalonné s’ils ne font pas du bon travail et ne soumettent pas leur travail à temps. Cela garantit qu’il n’y a pas de retards inutiles.
  • En outre, la communauté (y compris les autres auditeurs) peut gagner une somme importante en réfutant les travaux que d’autres ont réalisés.

Tous ces facteurs se combinent pour garantir que le produit final que vous obtenez est le meilleur audit possible de votre contrat intelligent.

Conclusion

Alors voilà: BountyOne, le marché décentralisé de Bounty. Nous pensons que ce modèle, qui utilise des incitations économiques et un environnement plus convivial, contribuera à mettre de l’ordre dans un espace hautement chaotique et brisé, c’est-à-dire l’audit des contrats intelligents..

Si vous souhaitez en savoir plus sur nous, vous pouvez Commencez ici

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map