Après la journée d'hier exploitant les problématiques somme toute classiques de l'application de votes, penchons nous sur le smart-contract Tezos.

Auditons mes bons

Le smart contract est consultable à l'adresse tzkt.io/KT1Ly9NLfDb2DE…

Je vous mets le code tel que pubblié sur la blockchain $tezos
C'est du code compilé donc pas très compréhensible pour le commun des mortels. Comme pour #ethereum le smart contract est un petit code. Tezos utilise notamment un language, michelson, qui est promu plus sécurisé qu'ethereum mais évidemment c'est important de l'auditer.
N'étant pas expert de la machine virtuelle, je vais essayer de trouver des infos. Première tentative je décompile. Il existe un outil (liquidity-lang.org) qui fait ca bien. voici ce que ca donne
Premièrement, il semble que seul la fonction replace (!?) est utilisée par l'application en regardant bien elle fait ce qu'on avait déjà compris dans l'analyse d'hier : elle incrémente le nombre de votes et enregistre le dernier vote (!?)

Il reste 2 fonctions : divide et double

accrochez vous :
- 'double' consiste à multiplier par 2 la valeur du dernier vote
- 'divide' permet de diviser par 2, 3, 4 ou 5 la nombre de votes (!?)
Je crois avoir à faire à une mauvaise blague. J'essaye de regarder sur internet d'où çà peut bien venir...

Quelques recherches google plus tard je tombe sur cela :
smartpy.io/dev/index.html…

un exemple pour apprendre à coder en smartpy, l'équivalent de solidity pour tezos
Oui en regardant bien on a les mêmes fonctions qui font presque les même chose (on a même le divide limité à 5)
Donc notre stagiaire a fait un bête copier-coller d'un exemple, avec quelques modifications sans même prendre le temps de retirer les fonctions inutiles.
Bon un truc me chiffonne quand même. Je ne connais rien à Tezos, mais je crois qu'il n'y a pas de conditions qui empêche n'importe qui d'appeler ce smart contract (si quelqu'un peut m'éclairer)

Je suis parti pour acheter des tezos, installer un wallet et tester tout çà.
Laissez-moi un peu de temps pour faire cela, je reviens
De retour, après quelques pérégrinations pour trouver le bon outil tezos, je me suis porté sur celui en ligne de smartpy, et j'utilise le formulaire ici smartpy.io/dev/explorer.h…
J'ai acheté des $tezos sur binance et créé un wallet, envoyé mes tezos sur ce wallet, un peu lutté pour comprendre l'interface smartpy et réussi ma transaction

tzstats.com/tz1YwaFTAt7Hu2…
Donc voilà, j'ai compris qu'en fait il fallait diviser par un nombre plus grand que 5 et pas plus petit.

et çà marche !
observons le storage on a un vote à 0 :)
Essayons donc de voter comme un grand et voilà

A voté ! le storage nbVotes s'est bien incrémenté de 1
bon on peut voter null ou blanc aussi, donc on fait mieux !
j'essaye la dernière fonction 'double' et je multiplie par 2 le vote
Il me reste 9.06 $tezos sondage pour savoir quoi en faire
Bon comme je suis gentil, il existe un moyen de pouvoir trier les votes et enlever les votes bourrages d'urnes, il suffit de sélectionner seulement les transactions qui sont envoyées par le wallet tz1bmrGR6z8RNEKc44uW6ozwH2D3Ken7wZqc

protip @avosvotes

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with fx thoorens

fx thoorens Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @fxthoorens

5 Oct
Bon après un café ce matin je me penche de près sur l'application de vote @avosvotes pour une consultation publique. Plus d'info ici : fr.cryptonews.com/news/verneuil-…
Essayons donc de nous rendre sur le site.

verneuil.avosvotes.com

Pour s'inscrire, il nous faut nom, prénom et email. Et un mot de passe. Bon déjà on comprend que la blockchain ne sera pas utilisé pour l'identité. Vérification de l'email à l'inscription
Bon après pour se logger, l'application envoie en clair le mot de passe. On espère que le serveur ne mémorise pas les mots de passes en clair dans sa base de donnée !?
Read 48 tweets
26 May
Vous voulez savoir pourquoi l'application #StopCovid ne sert à rien, est dangereuse, une perte de temps et un gaspillage d'argent public ?

Petit thread #StopStopCovid
Passons rapidement que quand bien même elle respecterait toutes les garanties de vie privée (ce qui n'est pas le cas), l'application est inutile tant que la quasi totalité des français ne l'a pas installée. A moins de la rendre obligatoire donc...
En outre il faudrait pour être efficace que le moindre contact soit répertorié (le virus n'attend pas 15 minutes pour se transmettre). L'unique raison pour laquelle il y a cette tempo de 15 min est que votre batterie de téléphone serait complètement vidée en qqs heures
Read 17 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!