Quels liens entre l'Internet des Objets et la Blockchain ?
On me demande souvent : “Quel est le rapport entre l’Internet des objets et la blockchain ?”
Ma réponse rapide est : “La rencontre de ces deux domaines se fait dans la participation des objets à des transactions”. Mais j'ai décidé d'en dire plus ici !
Alors que les transactions commerciales, financières et d’organisation sont réalisées bien souvent par les hommes et/ou les logiciels sur ordinateur, l’Internet des objets donne aux objets la possibilité de participer directement aux transactions.
Les cas d’usage sont en cours de découverte, mais citons par exemple, la serrure qui s’ouvre si le droit de passage est bien acquitté, le colis qui valide la transaction de transport quand il arrive sur le site de destination, le lave linge qui lance la commande et le paiement de la lessive quand son réservoir est quasi vide, le passage devant un beacon qui valide le passage d’un agent de sécurité sur un site et dans une fourchette horaire, le radiateur électrique qui souscrit à un contrat tarifaire avec délestage… Les possibilités sont donc innombrables. Ainsi l’objet connecté entrant dans la transaction étend l’impact concret de cette dernière car il a une emprise physique sur le monde. L’exemple le plus emblématique étant le blocage/déblocage de l’usage d’un objet loué (outil, camescope…) en fonction du paiement et de la durée d’usage.
A-t-on besoin de la blockchain pour cela ? La vision IoT cible suppose les objets connectés à Internet pouvant communiquer et faire des transactions avec tous les autres objets dans le monde. L’aspect décentralisé et mondial de la blockchain cadre parfaitement avec cette vision universelle de l’IoT.
De plus, le besoin de transactions internationales légères et pair-à-pair mélangeant monnaie et activités (service rendu, bien échangé) est très bien supporté par les cryptomonnaies issues de la blockchain. Ce mix marketing est particulièrement efficace pour conduire et solder une transaction simple ou très complexe. Un besoin de paiement à la demande/transaction et de souplesse d’usage s'affirme également un peu plus tous les jours. La rencontre des objets connectés et de la blockchain est donc un phénomène dont l’ampleur est encore largement sous-estimée.
Dans la suite de ce billet de blog, on appelle blockchain, une instanciation technique du concept de blockchain qui vient d’être évoqué.
Conséquences pratiques de la vision
Les objets déroulent des processus automatisés entre eux et prennent part aux transactions s’appuyant sur la blockchain. Cela induit 4 grandes conséquences :
Les objets manipulent de l’argent
D’une part, la blockchain réclame des droits de transaction (du “gaz”), et d’autre part, les objets vont devoir porter des valeurs pour payer les services/biens échangés. Évidemment, les cryptomonnaies vont jouer un rôle majeur avec en tête le Bitcoin. Les objets doivent disposer d’un porte-monnaie, avec toutes les fonctions afférentes : rechargement, dépense, contrôle des dépenses, journal de transaction. La sécurité du porte-monnaie est centrale dans les technologies de mise en oeuvre. Les technologies embarquées existent (Trezor, Ledger Nano, KeepKey…) et peuvent se fondre dans les objets. Il se posera toutefois des questions telles que l'administration des montants maximum à engager et des responsabilités liées au paiement automatisé (à qui appartient réellement l’argent présent dans l’objet avec des clefs anonymes ?)
Les objets entrent dans des mécanismes de preuve
Au-delà du paiement, les objets entrent donc en jeu dans des mécanismes de transaction commerciale ou autre (organisation, échanges…) dont la probité est une question centrale. Un contrat d’assurance signé et validé par la blockchain va-t-il bien me couvrir ? Une transaction électronique reconnue valide dans la blockchain est elle considérée comme une preuve au sens du droit, recevable et opposable en justice ? A priori non, car les mécanismes transactionnels de la blockchain (les instantiations que j’en connais) ne sont pas évalués de manière sécuritaire. Dans le monde anglosaxon où le droit se constitue par l’usage, cette question apparaît bien moins importante que dans le droit “latin”. Néanmoins, ici rien n’empêche les parties de s’accorder sur l’usage de la blockchain dans un contrat de preuve. La technologie ne rentre donc pas dans le cas général mais peut toutefois être utilisée si bien encadrée et comprise par les parties.
Les objets doivent consommer les protocoles de la blockchain
Les objets doivent pouvoir jouer le rôle de comptes externes (au sens d’Ethereum), c’est-à-dire de pouvoir démarrer des transactions et de nourrir le processus jusqu’à son terme (fin de transaction). Pour cela ils doivent implémenter les protocoles d’accès à la blockchain. Différentes implémentations en logiciel libre permettent déjà de créer de telles applications. De plus les technologies conscientes du besoin travaillent d’arrache-pied à l’ "APIsation". L’exemple typique d’objets ayant ce type de capacité étant Slock.it, qui offre une serrure connectée utilisant l'exécution d’un contrat sur Ethereum.
Les objets peuvent créer eux-mêmes leurs contrats de transactions
Pour aller plus loin encore, on peut clairement envisager que les objets poussent leurs propres contrats dans la blockchain, voire les modifient en fonction d’apprentissages. On pense par exemple aux radiateurs électriques qui réalisent une enchère inversée envers les fournisseurs d’électricité. Le radiateur commence par détecter que le contrat de fourniture est inadapté à son usage, puis il propose une enchère inversée en stipulant le contrat de fourniture souhaité et à chaque fournisseur de dire s'il l'accepte ou non. Les transactions porteront non seulement sur les biens et services, mais également sur les contrats eux-mêmes.
Autres questions fréquentes
La blockchain est elle une plateforme IoT ?
Au sens donné dans l’article Cap sur les plates-formes IoT, la blockchain n’est en rien une plateforme IoT. En étudiant la cartographie fonctionnelle proposée, il est clair que la blockchain ne couvre que quelques fonctions, notamment dans le domaine des processus métier transactionnels. Mais certains services complémentaires peuvent être rendus par les blockchains, comme le stockage dont un exemple d’instanciation est Filecoin, la capacité d’enregistrer des événements horodatés avec Proofofexistence…
Quelles technologies de blockchain utiliser ?
En fonction de la problématique transactionnelle posée, de très nombreuses instanciations de blockchain sont possibles : Ethereum, Eris, Hedgy, Rootstock…
À noter que la sélection de la bonne technologie est un élément clef car une erreur dans ce domaine entraîne des coûts de transaction énormes et des performances très dégradées.
Conclusion
La vision décentralisée, pair-à-pair et transactionnelle de l'Internet des objets amène naturellement vers la blockchain qui possède la même "génétique". La blockchain assure la logique du contrat de transactions et le paiement afférent en cryptomonnaie. Les conséquences sur les objets connectés concernent 4 domaines : le paiement, la preuve du contrat, les compatibilités technologiques, la formation du contrat par les objets eux-mêmes. Les technologies encore émergentes permettent déjà de réaliser des applications spectaculaires qui laissent seulement entrevoir le potentiel de l’ "IoT sur blockchain".