L’illusion des blockchains privées/de consortium

18
2622

Etat des lieux

De nos jours, et particulièrement au sein des grandes entreprises, la “hype” blockchain a atteint des sommets. Les projets « blockchain »  — la plupart se limitant à des expérimentations —  se basent quasi exclusivement sur des blockchains privées ou de consortium. Il y a plusieurs explications à ce phénomène mais comme je l’expliquerai dans cet article, il existe une grande confusion sur l’utilité même de cette fameuse blockchain. Je fais ici une distinction entre les infrastructures blockchain privées opérées par un unique acteur et les blockchain dites « de consortium » censées être opérées par des entités différentes.

 

Les blockchain privées opérées par un unique acteur

Pour illustrer mon propos je vais prendre l’exemple d’un projet déployé par le géant de la distribution française : Carrefour. Le géant français de la grande distribution a déployé cette année une solution de traçabilité des poulets accompagnée d’une grosse communication. Je n’ai pas été capable de trouver les détails de cette implémentation (bizarre pour un projet louant la transparence), je me verrai donc obligé de faire des suppositions sur la base de ce que j’ai pu trouver ça et là.

« Carrefour déploie la première blockchain alimentaire européenne et prévoit de l’étendre à 8 autres filières en 2018 »

Le but de cette blockchain alimentaire (sic) est de tracer la provenance de la viande de poulet vendue dans les magasins Carrefour. Les consommateurs peuvent scanner un QR code et obtenir toutes les informations relatives au produit présenté.

Il semblerait que cette solution soit basée sur une blockchain privée tournant sur des nodes opérés par Carrefour, pour Carrefour. Niveau technologie on peut imaginer que cette solution soit basée sur Hyperledger (auquel cas les noeuds seraient opérés par IBM) ou alors un fork privé d’Ethereum comme Quorum. Du coup, quelle est la valeur réelle de l’utilisation de la blockchain ici, à la place d’un système complètement centralisé regroupant toutes les informations de traçabilité alimentaire recueillies chez les différents acteurs de la chaine (producteurs, fabricants, distributeurs) et stockées dans une bonne vieille base de données ?

« Avant, si vous vouliez savoir où le poulet avait été élevé, comment il a été nourri, ou comment il est arrivé au magasin, vous deviez demander au vendeur. Il était compliqué de tracer l’origine du produit. Aujourd’hui, avec la technologie blockchain, cela devient plus facile »

Cette phrase ne nous renseigne pas sur la raison pour laquelle la blockchain améliore la traçabilité, et pourquoi cela serait supérieur au fait de « demander au vendeur ». Rassembler les informations, les lier à des identifiants uniques sur les produits, scanner des QR code, beaucoup le font déjà sans blockchain.

Tant que le consommateur n’a aucun moyen de vérifier par lui-même la validité de l’information présentée, cela ne diffère en rien d’un système traditionnel de traçabilité.

 

Comment Carrefour aurait pu offrir une véritable traçabilité transparente ?

Si nous essayons d’imaginer comment nous aurions pu respecter la promesse de traçabilité en utilisant la blockchain, nous pourrions effectivement apporter de la valeur avec une approche totalement différente. Une solution serait d’utiliser un système de traçabilité existant qui serait beaucoup plus efficient qu’une architecture basée sur des smart contracts. Ce système centralisé pourrait ancrer les différentes informations recueillies au fil de l’eau sur une blockchain publique et immuable comme celle de Bitcoin. Il y aurait plusieurs avantages à procéder de la sorte :

• Facilité d’implémentation : Inutile de réinventer la roue et reconstruire une solution de traçabilité avec des smart contracts. Il suffit de sécuriser les informations nécessaires à l’aide d’une intégration triviale (comme par exemple l’appel à l’API Woleet 😉

• Facilité d’on-boarding / interopérabilité : Il est tout bonnement impossible pour tous les acteurs de la chaine alimentaire d’avoir le même système d’information. Pourtant tous, manipulent des données concernant traçabilité. L’ancrage de ces données serait trivial pour chaque acteur et les informations pourraient être fournies pour vérification a posteriori, indépendamment de leur format.

• Vraie désintermédiation de la confiance : tous les participants, y compris les utilisateur finaux (ici les consommateurs de poulet), peuvent vérifier l’information sans avoir à recourir à aucun intermédiaire,

• Le coût : en se basant sur l’infrastructure d’une blockchain publique, les coûts sont beaucoup plus maitrisés puisqu’il n’est pas nécessaire de maintenir une infrastructure spécifique qui sera dans tous les cas moins sécurisée et moins pérenne que Bitcoin.

• Tout le monde peut en bénéficier : tous les acteurs de la chaine, et pas seulement Carrefour, en bénéficieraient. Les producteurs par exemple, pourraient assurer la transparence sur la traçabilité de leurs produits à tous leurs clients qui l’exigeraient. Un autre exemple probant est la possibilité de fournir des preuves à des acteurs publics de contrôle de qualité.

Cette solution serait à mon avis bien meilleure pour obtenir plus de transparence, et diminuerait drastiquement les possibilités de fraude sur les déclarations de traçabilité alimentaire. Cette solution ne serait pas non plus parfaite car il serait toujours possible d’ancrer de fausses informations, mais au moins, en ancrant ces informations, et si elles se révélaient fausses à un moment donné, nous aurions la preuve datée de ces fausses déclarations.

 

Les blockchains de consortium

Les blockchain de consortium sont un peu différentes. Ici la blockchain est partagée entre différents acteurs ayant un intérêt à collaborer ensemble. Ces consortia sont composés par différentes organisations membres d’une même industrie par exemple.

Il existe plusieurs tentatives de blockchains de consortium, la plus connue est le projet R3 (Corda). Le but de ce projet est de créer une blockchain partagée par différentes banques pour être utilisée pour du settlement. Ce projet a levé beaucoup d’argent auprès des banques, engagé des centaines d’architectes mais semble avoir du mal à décoller trois ans après son lancement. Pire, plusieurs banques ont quitté le consortium quelques mois après l’avoir rejoint. Il existe plusieurs raisons concrètes pour lesquelles les blockchains de consortium ne peuvent tout simplement pas fonctionner :

• Il est très dur de rassembler plusieurs entreprises en compétition autour d’un même projet informatique, dès lors que ces dernières ont des agendas, des process et des stratégies différents ;

• le coût de maintenance de l’infrastructure partagé est élevé et à un moment donné le seul choix possible est la fédération autour d’un système centralisé (comme cela fonctionne déjà actuellement) ;

• La migration de procédures complexes et critiques sur une architecture blockchain peu mature est pour le moins risquée.

 

Un argument POUR les blockchains privées

Pour moi les DLT sont une énorme perte de temps et d’argent si l’objectif est d’offrir une rupture par rapport à l’existant. Cette technologie peut néanmoins résoudre certains problèmes concernant le déploiement d’applications transactionnelles. J’ai désespérément cherché des arguments favorables à cette technologie pour contrebalancer mon avis initial, et j’ai finalement trouvé un bon exemple avec un projet Hyperledger déployé par American Express. Dans ce projet l’utilisation de cette technologie a clairement accéléré la mise en place de la solution d’un programme de fidélité ; le fait que la plateforme de smart contracts soit particulièrement adaptée pour ce case d’usage avec des briques déjà prêtes (en l’occurrence des tokens), que le déploiement soit grandement simplifié et que le projet soit géré par la même entité, en on fait un succès probant.

Donc oui, parfois les blockchains privées sont susceptibles de servir à quelque chose mais dans ces cas-là il faut être prêt à quelques compromissions :

• Faire confiance à IBM ou tout autre fournisseur de « blockchain-as-a-service » pour l’infrastructure et la disponibilité

• Accepter le niveau de sécurité inférieur de ce genre d’infrastructure (et la possibilité de censure)

• L’utiliser pour un projet centralisé autour d’un acteur.

Ici, l’utilisation d’une blockchain privée est équivalente à l’utilisation d’un nouveau mode de déploiement rapide d’application web, rien de plus mais c’est déjà pas mal.

 

Arguments souvent utilisés contre les blockchains publiques

« La blockchain est la technologie sous-jacente de Bitcoin »: voilà un énorme mensonge très répandu et je ne sais pour quelle raison la plupart des gens y croient encore. Le sujet a été longuement discuté et il y a beaucoup de choses à en dire mais présentons les arguments les plus éculés contre les blockchains publiques utilisés par les avocats de la DLT qui de son côté posséderait toutes les vertus :

• Les blockchains publiques ne sont pas scalables : Cela est vrai, et c’est lié à leur design initial. Pour obtenir l’immuabilité et la résistance à la censure, il est obligatoire de faire des compromis. Si vous « scalez » une blockchain (plus de données dans les blocs) vous finissez par obtenir une base de données ordinaire au fur et à mesure que le taux de réplication du registre ne fera que diminuer inexorablement. Le seul moyen d’obtenir de la scalabilité est de travailler sur des couches supérieures de la blockchain. Si certaines technologies prometteuses comme le Lightning Network ne sont pas encore prêtes pour la production, l’ancrage de données dans la blockchain scalable est quant à lui déjà mature et utilisé depuis plusieurs années.

• Les blockchains publiques sont contrôlées par de méchant mineurs chinois : Faux. Si la centralisation du minage est effectivement un problème (dont la solution se trouve peut-être dans le nouveau protocole de mining proposé par Matt Corallo) le mécanisme de consensus est la protection ultime pour se protéger d’actions malveillantes provenant des mineurs. De plus, cela fait bien longtemps que d’autres acteurs sont entrés massivement dans cette industrie en dehors de la chine (Islande, Russie, Etats-Unis…)

• Les blockchains publiques reposent sur des tokens volatils et non régulés : Vrai. Et c’est pour cela que cela fonctionne. Le token et sa valeur agit comme une incitation à sécuriser le réseau. Si le Bitcoin offre une si grande sécurité c’est qu’il est plus avantageux pour des mineurs de respecter le processus s’ils souhaitent conserver la rentabilité de leur activité.

• Les blockchains publiques ne respectent pas la confidentialité : Oui et non. La confidentialité d’une application basée sur une blockchain publique repose sur ses choix d’implémentation. Même si les transactions Bitcoin sont publiques, il est très facile de les utiliser de manière totalement confidentielle en utilisant la cryptographie ; les empreintes numériques, les zero-knowledge-proofs etc. sont faits pour cela. La blockchain se doit d’être publique afin que tout un chacun puisse la vérifier entièrement depuis le genesis block.

 

Pourquoi Bitcoin est le seul à pouvoir rendre concrètes les promesses de la « blockchain » ?

Le seul moyen pour une blockchain d’être fiable et de fournir de la vraie trustlessness (désolé pas de traduction possible ici) est d’offrir une réelle neutralité et de ne pouvoir être modifiée a posteriori par aucun acteur. Le vrai pouvoir de Bitcoin est qu’il est vraiment décentralisé et qu’il est impossible pour un acteur, aussi puissant soit-il, de modifier son consensus. L’épisode « Segwit2X » de 2017 illustre ce vrai pouvoir de Bitcoin. Quand les acteurs économiques et les mineurs les plus puissants de l’écosystème ont désiré changer le consensus pour protéger leurs propres intérêts, cela s’est traduit par un cuisant échec. La raison de cet échec est le design initial du consensus de Nakamoto qui est défini pour tous les utilisateurs du protocole. Voilà pourquoi Bitcoin est véritablement neutre et qu’il faut atteindre un consensus absolu pour réussir à modifier le protocole (bonne chance). Il en découle un approche hyper conservatrice d’un côté, mais idéale quand il s’agit de construire un protocole. A l’inverse sur Ethereum par exemple, un petit groupe de personnes est capable en quelques jours d’imposer à tous ses utilisateurs un changement majeur dans son consensus.

 

Disclaimer : Je suis un méchant maximaliste

J’ai toujours été sceptique sur les projets « blockchain », et ce, depuis le tout début. Etant moi-même souvent qualifié de « blockchain-entrepreneur » j’ai d’abord tenté d’y adhérer car de temps en temps les catégories peuvent aider à simplifier les choses. J’ai même essayé de surfer sur cette vague en utilisant en 2016 le slogan « blockchain everything » pour mon entreprise. Aujourd’hui je ne veux tout simplement plus en entendre parler. Notre vieux t-shirt corporate avec ce slogan honteux devient de plus en plus difficile à porter, même à la maison. J’ai fait mon choix et je le partage avec mes collaborateurs. La vraie révolution est Bitcoin et non la « blockchain ». Attention, Je ne parle pas des altcoins (shitcoins), je parle de la fausse croyance qui veut que la « blockchain » représente quelque chose d’important pour l’innovation. La blockchain n’est rien de plus qu’une structure de données. Bitcoin en a une, Hyperledger en a plusieurs, Dogecoin en a une, XRP de Ripple en a une, même s’il lui manque les premiers 32 000 blocs perdus à jamais (lol). Donc oui, pour de multiples raisons je suis devenu Bitcoin maximaliste, mais dans cet article j’ai essayé de présenter les choses en faisant fi de mon biais initial. Tous vos commentaires sont les bienvenus, surtout venant de la part des défenseurs des blockchains privées.

 

Notes et références

1 —  Carrefour lance la premiere blockchain alimentaire

2 —  The truth about smart contracts

3 —  Corda.net

4 —  Corda running out of money

5 —  Blockchain without bitcoin

6 —  Am-Ex Brings Blockchain to Membership Rewards

7 —  Matt corallo BIP on BetterHash

 


A propos de l’auteur

Gilles Cadignan est le co-fondateur et le CEO de Woleet, une startup de cybersécurité qui exploite les possibilités offertes par la blockchain Bitcoin pour fournir des preuves d’existence ouvertes, interopérables, vérifiables par quiconque et sans tiers de confiance.