Cet article fait partie de notre guide: Avez-vous vraiment besoin d'une blockchain ?

Marier Blockchain et Chatbot : ou le triomphe de l’importance de l’interface

Une blockchain c'est bien. Mais une blockchain simple à utiliser c'est mieux. Et même indispensable si l'on veut concrétiser un cas métier. D'où l'importance d'avoir un « front » ergonomique dans ce type de projet, comme un « bot » - une des UX les plus intuitives pour l'utilisateur final.

Avec Jean-Philippe Encausse, CTO Innovation, VISEO

Régulièrement, lorsqu’on assiste à des présentations sur LA Révolution Blockchain, on constate avec un certain étonnement deux points majeurs.

1 / D’abord, la dimension politico-philosophique est encore - et toujours - très présente. Et avec elle des considérations techniques pointues et intéressantes mais pas toujours très business.

Nous n’avons rien contre la technique, mais, en ce qui concerne nos clients (grands comptes et ETI), il nous semble opportun de d’abord parler usages, et seulement ensuite de voir la techno.

2/ Deuxième source d'étonnement, il est fait peu de cas des interfaces utilisateurs, notamment dans les budgets prévus, et des fronts mis à disposition de certaines applications (nous passerons sous silence, avec pudeur, la logique de gestion des clés) sous le motif de : « mais c’est juste un PoC [proof of concept] alors ce n’est pas grave ».

Or, si l’écosystème technologique Blockchain offre des options très intéressantes, une règle du monde du travail est immuable: « si un outil informatique est compliqué à remplir - pire s’il nécessite une double saisie - PoC ou pas PoC, le projet ne fonctionnera pas auprès d’utilisateurs à qui la beauté d’un débat de trois heures sur les différents consensus possibles échappe (c’est triste mais ça existe) ».

Un assistant conversationnel ?

De ce fait, dans nos projets, nous accordons une place importante à l’UX et au front. Dans le cadre d’un consortium, à terme (en production), il est même probable que nous conseillerons à nos clients plusieurs fronts en fonction de leurs besoins dans la chaîne de valeur.

Pour aller plus loin, nous avons fait l’expérience d’utiliser un assistant conversationnel (chatbot) comme moyen d’interagir - simplement - avec un service reposant sur une blockchain et ainsi fluidifier l’expérience.

L’infrastructure

La première étape consiste à monter une blockchain. Pour ce faire, Microsoft propose un service clef en main permettant d’instancier des VM dans Azure. Il existe de nombreux tutoriels expliquant la démarche.

 Il faut néanmoins garder en tête que normalement :

  • Il est important de définir précisément les « règles du jeu » de cette blockchain pour votre projet.
  • C’est un ensemble de machines qui valident une transaction pour préserver la confiance du réseau. Ce qui implique des coûts d’infrastructure non négligeables.

Le Wallet

Pour valider le bon fonctionnement de l’architecture il faut installer un « Wallet » c’est-à-dire un client web ou mobile permettant de manipuler de l’Ether pour déclencher des transactions.

Dans notre petit projet, nous avons utilisé Metamask, une extension Chrome permettant de gérer de l’Ether et des Coins (monnaie régie par un SmartContract, vous savez les fameuses ICO).

Les Smarts Contract

Pour faire simple, l’ether est une monnaie permettant de payer la validation de SmartContract. Ceux-ci sont développés en Solidity, un langage qui expose des « fonctions » que l’on peut tester via une interface web.

Il existe des exemples de contrat, certains sont normalisés typiquement pour gérer des concepts comme les coins.

L’assistant conversationnel

Nous avons développé un framework opensource permettant un design visuel de la conversation sur lequel il est possible de développer des connecteurs vers de nombreuses APIs.

Pour cette nouvelle fonctionnalité nous avons utilisé EthJS qui est une surcouche serveur de web3js (plus bas niveau et utilisé plutôt dans le navigateur).

Le principe est très simple, un wallet (composé d’une clef privée/publique) demande à exécuter la méthode Z d’un smart contract X enregistré à l’adresse X’ dans la blockchain. Une fois l’appel de méthode validé, une transaction Y est enregistrée à l’adresse Y’ dans la blockchain.

Dans cet exemple, le Wallet2 appelle la fonction « transfert » du smart contract HumanStandardToken pour transférer au wallet1 (param1) 10 coins (param2)

Il est alors très simple de construire un scénario dans lequel on donne de l’ether puis des coins à l’utilisateur en attendant à chaque fois que les transactions soient validées.

Remarque : le chatbot étant une interface très légère, tout le traitement se fait au niveau du serveur de bot qui joue le rôle de client pour le compte de ses utilisateurs. Le réseau est donc moins décentralisé mais bien plus accessible à tout le monde.

What else ?

En conclusion, nous souhaitons attirer votre attention sur deux points :

  • Blockchain et ses applications, à notre humble avis, n’échapperont pas à la lame de fond du bot et demain du conversationnel.
  • Pour aller plus loin, comment allez-vous intégrer globalement vos écosystèmes blockchain à vos systèmes back-office existants ?

A ces deux questions, certains grands éditeurs, et notamment Microsoft, apportent des réponses très intéressantes que nous aborderons une prochaine fois

Pour approfondir sur Base de données