Le premier poulet blockchain

in fr •  4 months ago

Celles et ceux qui m'accompagnent sur le discord de @francosteemvotes ne sont pas sans savoir que je réalise actuellement dans le cadre de mon travail une présentation blockchain.
Dans cette présentation, je décrirai le fonctionnement technique du bitcoin, mais également les différents types de blockchains. Etant dans le cadre professionnel, je parlerai également les blockchains privées à destination des entreprise (et notamment de Hyperledger).

Je ponctuerai par un cas pratique. C'est ici que mon poulet Blockchain intervient.

poulet.JPG

Si vous suivez un peu l'actualité. Vous avez sans doute entendu parlé de ce grand distributeur utilisant la blockchain pour tracer toutes les informations de votre poulet entre la ponte et la mise dans le rayon.

En effet, le besoin de transparence dans l'alimentaire va dans le sens de l'histoire et il n'est pas surprenant qu'on cherche à tracer précisément les actions des producteurs et intermédiaires.


IMG_E7245.JPGIMG_E7246.JPGIMG_E7247.JPG
Voici ce que la traçabilité de notre poulet

Sur le papier, on est tout bon. En effet, la blockchain a tout pour plaire... immutabilité, non répudiation, horodatage...

Oui, mais nous allons voir que ce n'est pas si simple. La blockchain comme tout outil doit répondre à un certain nombre d'exigences pour fonctionner correctement.

Ensemble, allons au-delà du communiqué de presse et du "digital" béa.

Note de service : Je n'ai pas tous les détails techniques et cet article sera assez spéculatif (mais pas la conclusion).

Le diable est dans les détails (des blocs)

Depuis la découverte de ce bijoux qu'est le Bitcoin, nous avons accepté communément que la blockchain était conceptuellement éternelle et infalsifiable.

Depuis 2013 pourtant, nous avons substitué le mot Bitcoin à blockchain en transposant les caractéristiques de ce premier au second. Même des youtubers spécialisés dans le domaine se font également avoir (pourtant debunk par votre serviteur).

image.png

Pourtant, il existe des cas permettant de modifier à posteriori une blockchain. En principe, sur le Bitcoin, c'est excessivement complexe (voire impossible). @lugaxker l'explique très bien dans cet article article. L'attaque à 51% permet notamment d'annuler une transaction. (et donc de faire une double dépense).

Nous avons vu récemment certaines crypto se faire attaquer par manque de hashrate. Stupeur et tremblement, l'usage d'une blockchain n'est pas synonyme d'immutabilité.

Le cas PouletCoin

D'après les infomations fournies par ce grand distributeur, ces derniers utiliseraient une blockchain Ethereum privée. Plus précisément, il s'agirait de l'implémentation du client go (geth).

En effet, il est tout à fait possible de déployer sa propre blockchain Ethereum (comme détaillé ici).

On se retrouve donc avec plusieurs acteurs :

  • Le distributeur qui contrôle la blockchain;
  • Les agriculteurs, transporteurs etc... qui inscrivent des choses sur la blockchain (mais on n'en sait pas plus);
  • Et les clients qui ont à faire à un QR code permettant d'avoir la traçabilité.

Quelque chose cloche non ?

Voici deux scénarios.

Les intermédiaires acteurs

Ici, les intermédiaires disposent de leurs propres nœuds ethereum. Ils peuvent donc sans faire confiance au distributeur avoir la garantie que :

  • les informations de traçabilité qu'ils fournissent sont bien inscrites dans la blockchain;
  • le distributeur ne fait pas des modifications de la blockchain (via une attaque à 51%);
  • les autres fournisseurs disposent des informations conformes.

Et pour le client ? Bah rien de particulier. En effet, le client n'a aucune garantie que les intermédiaires ne mentent pas. Qui sera l'oracle certifiant que la donnée inscrite est juste ?

Néanmoins, c'est un compromis acceptable dans le sens où il permet aux intermédiaires de fournir de l'information en ayant la certitude que les données ne pourront pas être manipulées (à la condition qu'il se dote d'outils adaptés pour ça).

Une blockchain centrale

Ici, j'évoque le fait que les nœuds du réseau sont dans un datacenter ou un cloud contrôlé par le distributeur. C'est le pire des cas, car rien ne différencie ça d'une base de données conventionnelle.
Un agriculteur est donc obligé de faire confiance au distributeur.

Pour le client, aucune régression par rapport au premier cas. Ça ne change strictement rien.

Blockchain et entreprise... une équation compliquée

En nous connectant sur Steemit, nous ne savons pas en tant qu'utilisateur si Steemit Inc ne nous vole pas notre clef privée. Nous faisons confiance à la communauté opensource de l'écosystème Steem pour qu'elle audit les outils utilisés.

En entreprise, c'est beaucoup plus compliqué. Même le premier scénario ne serait pas suffisant.
Un agriculteur utilisera une dapp (application décentralisée) pour écrire dans la blockchain. Ceci engendre les questions suivantes :

  • Où est hébergée cette dapp ?
  • Qui l'a créé ?
  • A-t-elle été auditée ? (et si oui par qui ?)

En allant plus loin on peut aussi se poser la question sur l'oracle :

  • Est-ce qu'un tierce ira régulièrement certifier les lots ?
  • Qui est-ce tierce ?
  • Est-ce que les autorités compétentes auront accès à la blockchain ?
  • etc...

Et n'allez pas me répondre ça.

Mais @evildido, tu te perds dans des détails.

C'est pourtant essentiel. Les détails de la réalisation d'un tel projet définiront justement si le cahier des charges est rempli.
Car je vous rappelle, la promesse est de partager en toute transparence et de manière fiable des informations provenant des différents intermédiaires. Dépendre de la confiance revient à un schéma d'application classique et dans ce cas, il n'est pas nécessaire d'utiliser une blockchain. On sait très bien faire sans.

Comprenez moi bien. Ici, je ne juge pas du travail accompli par cette enseigne. Il serait mal venu de critiquer une entreprise sur des spéculations. Il est tout à fait possible que ses processus qualités soient en phase avec la solution technique. Et si ce n'est pas le cas, il est tout à fait possible que ce ne soit qu'une première étape.

Ici, je veux surtout vous montrer que la blockchain n'est pas un outil magique et qu'elle nécessite de se poser quelques questions et c'est d'ailleurs très bien expliqué dans cet article - Avez-vous besoin d'une blockchain ?. Même si je ne suis pas totalement d'accord avec ça, il permet d'être dans une démarche sérieuse de cadrage de projet.

On pourrait également jeter un oeil critique sur les projets de blockchain (et tokens) publiques :

  • Est-ce le problème qu'est censé résoudre la blockchain existe vraiment ?
  • Est-ce qu'elle le solutionne vraiment ?
  • La solution engendre-t-elle d'autres problèmes (plus grave) ?
  • Est-ce qu'on ne cherche pas à se foutre de vous ?

La blockchain permet notamment de réduire le coût de transaction (je n'invente rien, c'est dans le livre blanc de Satoshi). C'est génial, car ça permet à tout à chacun de créer quelque chose, mais n'oubliez pas que ça augmente également la probabilité d'avoir des projets foireux.


You can find me on steemit.chat and on the discord of @francosteemvotes (https://discord.gg/XFGr4jG) / PAL / Busy

If you like my works, you can vote for me as a witness ( Vote with steemconnect)


Last Post :

My App :

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Coins mentioned in post:

CoinPrice (USD)📉 24h📉 7d
BTCBitcoin6512.660$-0.88%-14.74%
ETHEthereum500.517$0.85%-17.29%
PALPolicyPal Network0.024$-2.37%-25.59%
SBDSteem Dollars1.300$-2.7%-22.28%
STEEMSteem1.650$-3.43%-27.24%

Bien que je mange plus de poulet ni ne fait jamais mes courses chez Carrefour, je trouve cet article fort intéressant. Mais si je me rappelle bien tu disais ne pas être développeur mais tu connais quand même un peu le golang... C'Super! Eh bin, j'ai pu qu'à apprendre le golang alors!? 🤣

·

Ahah, je ne suis pas garagiste mais je sais ce qu’est une bougie :).

Je sais juste que ça existe et que c’est asynchrone à l’instar de JavaScript.

·
·

C'est beau la modestie! 😉

Merci très intéressant l' article !
Oui la blockchain est une vaste question... Qui a des limites mais aussi de grandes possibilités.
J' avais justement entendu parler de cette histoire de poulets à la TV.

A bientôt !

Le problème c’est pas la blockchain, c’est la volonté des Hommes à toujours vouloir enfreindre les règles 😵

·

Ce n'est pas un problème de règle, mais plutôt de parfois réfléchir à l'envers.
Suite à l'apparition du buzzword "blockchain", les gens se sont mis en tête qu'il fallait absolument en mettre en place une.
Dans un projet IT, on ne réfléchit pas comme ça. C'est plus une histoire d'effet de mode qui a infiltré les projets IT. Nous sommes de grands enfants.

merci d'avoir éclaircit le mystère sur ce projet :)
Maintenant je me dis, pourquoi pas garder leur dapp et passer leur blockchain Ethereum sous un consensus PoA (Preuve d'autorité) répartit parmi tous les intervenants de la chaîne :

  • un noeud dirigé par une association d'éleveurs
  • un noeud dirigé par une association d'abattoirs
  • un noeud dirigé par une association de grands distributeurs
  • un noeud dirigé par une association de consommateurs

En suivant le modèle PoA d'Ethereum, pour qu'une transaction soit validée elle doit être approuvée par (nombre de noeuds autorité / 2) + 1.

Notre exemple donnerait donc un résultat de 3 noeuds devant valider une transaction, avec un tel modèle difficile de corrompre les données (en théorie...) et donc le critère confiance serait là bien plus important.

Là c'est clair que ce qu'a fait Carrefour, sans détails sur l'implémentation de leur app, difficile de prouver que ce que tu lis sur leur blockchain est véridique ou non...

·

Est-ce que geth permet le POA ?

·
·

Oui il le permet :)
Un tuto parmi tant d'autres utilisant le moteur de consensus POA "Clique" : https://hackernoon.com/setup-your-own-private-proof-of-authority-ethereum-network-with-geth-9a0a3750cda8

·
·
·

Du coup, ça se trouve il utilise POA. Je n'ai pas les détails et par ignorance, j'ai admis qu'ils faisaient du POW.

J'ai donc supprimé cet élément.

Par contre, même une blockchain dans les règles de l'art ne suffira toujours pas (mais ça serait déjà un bon signe de confiance).

Merci pour ton retour.

·
·
·
·

pas de soucis, sujet très intéressant en tout cas !

·
·

Oui et d'ailleurs grâce à notre ami @smartiot la Commission a déjà implémenté un réseau de test Ethereum en PoA ! Nous en sommes très fiers :-)

·

Intéressante réflexion!

Merci d'avoir replacé certaines idées reçue de la blockchain en perspective de la plus belle façon qu'il soit, par la démonstration par l'exemple.

Le mot blockchain n'est pas une formule magique qu'il suffit de prononcer pour l'affranchir de toute compétition avec les autres solutions envisageables et ne déroge pas non plus à la règle de réfléchir comme il se doit son architecture, son déployement et sa mise en production.

Un post vraiment intéressant avec le ton approprié.

·

tient, tu n'as pas envie de faire un article sur les modifications de politique de confidentialité de Steemit en RGPD ? ça aiderait les fr à comprendre ce qu'il en est.