lona2010 - Fotolia
Et si votre entreprise devenait un oracle de Blockchain ?
Cet article revient sur deux concepts à la base de la nouvelle génération de blockchains 2.0 : les oracles et les smart contracts. Et sur ce que cela signifie pour votre entreprise via quelques cas d'usages possibles.
Dans notre précédente contribution, nous expliquions des concepts aux noms chantants (hash, consensus, Blockchain Hybride). L’univers Blockchain n’étant pas avare de terminologies absconses (contribuant à une mise à distance du « grand public »), nous poursuivrons dans cet article notre explication de quelques concepts clés.
Dans le top des buzzwords qui font un tabac en conférence, le smart contract tient une place de choix. A vrai dire, ce « vieux » concept (imaginé par Nick Szabo dans les années 1990) a contribué depuis 2 ou 3 ans à faire basculer l’écosystème Blockchain d’un monde « informatico-alternatif » à celui des grandes entreprises et des consultants, en particulier grâce aux promesses d’automatisation associées.
Un « smart contract » peut se définir comme la traduction en code informatique d’un contrat de la vie réelle. Ce programme informatique contient des conditions de réalisation. Il est « auditable » par les parties autorisées et une fois porté sur une Blockchain, il devient non-modifiable a posteriori (personne ne peut empêcher sa réalisation si les conditions sont exactes).
Pour mémoire, le Bitcoin, écosystème historique de Blockchain, était une réaction à la crise financière de 2007 et portait en son sein l’idée que l’informatique, dénué de sentiments, était meilleure que l’Homme, par essence faillible.
Comment le Smart Contract devrait faciliter l’engagement direct entre deux parties
Le smart contract prolonge cette philosophie en ajoutant au caractère automatique la dimension d’autonomie. La logique est donc la suivante.
Les parties prenantes se mettent d’accord en amont sur un contrat qui est ensuite traduit en code (les puristes considèrent que demain on se mettra directement d’accord sur du code), puis, on déploie sur l’ensemble des nœuds d’une Blockchain. Puis on attend.
Dès lors que les conditions de réalisations sont exactes, alors le contrat s’exécute sans « négociation » possible. Par exemple, dans le cas d’un paiement de fournisseur, il ne sera plus possible pour une entreprise de finalement payer à 50 jours vs les 45 jours prévus pour améliorer sa trésorerie. Attention toutefois, à date, sur une Blockchain on ne peut payer qu’en crypto monnaie, par exemple en Bitcoin (ce qui devrait évoluer dans les mois ou années à venir)
Par leur conception philosophique, les smart contracts apportent plusieurs améliorations aux Blockchains classiques. On parle alors parfois de Blockchain 2.0. En particulier, on cite couramment :
- Une diminution des coûts et des erreurs de traitements et un accroissement de la vitesse d’exécution
- Une plus grande transparence puisque l’historisation des transactions peut être éventuellement publique (accessoirement, pas de perte du contrat ou de difficulté sur la version du contrat à appliquer)
- Un outil permettant de contractualiser sans nécessité d’avoir confiance dans la partie cocontractante (on peut bloquer des sommes sur une Blockchain)
Conséquence des points précédents : un nouveau coup de boutoir est porté au rôle des tiers de confiance, puisqu’un smart contract devrait faciliter l’engagement direct entre deux parties.
Smart Contract et micropaiement entre objets connectés
Si on se projette un peu, on pourrait ajouter également que le smart contract, adossé à un environnement qui gère parfaitement la transaction, offre de multiples ouvertures en matière de micropaiements entre objets connectés.
Si on se concentre quelque peu sur les aspects technologiques, d’un point de vue environnement de travail, l’écosystème le plus connu en la matière est Ethereum -bien que des start-ups travaillent actuellement à déployer ce concept dans sa version « élargie » sur la Blockchain du Bitcoin, qui permet depuis toujours des transactions conditionnelles.
Les smart contracts sont programmés en langage de haut niveau Solidity ou Serpent notamment (proches de JavaScript et Python). Ils sont compilés en bytecode pour être ajoutés à la Blockchain.
Enfin, si l’on doit citer quelques limites, on signalera qu’ils nécessitent le paiement d’un fee pour chacune des utilisations (dans les « centimes » de la monnaie Ethereum publique, le gaz) et qu’ils sont déterministes.
Ce déterminisme induit que si on reprend l’historique et que l’on rejoue les opérations liées à des smart contract, alors, on doit trouver le même résultat. Or, drame, si on permettait aux contrats d’appeler des sources externes, alors les réponses pourraient varier dans le temps.
L’oracle, l’injection du Smart Contract
Les smart contracts sont donc « dormants » et attendent qu’un prince viennent les embrasser (plus exactement, ils attendent que les informations nécessaires à leurs réalisations soient injectées).
Ce rôle d’injection est confié à un service, nommé oracle. Il existe, bon an mal an, quatre grands types d’oracle :
- Un tiers physique…mais là, admettons que clairement, l’intérêt semble limité.
- Une base de données : l’exemple ultra-classique repris dans tous les articles de vulgarisation est celui du retard d’avion. Le smart contract traduit en code les engagements de type si plus de x heures de retard, alors rembourse tout ou partie. Dans ce type de relation, la base de données de l’aéroport pourrait jouer le rôle d’Oracle.
- Les objets connectés : là encore, les cas évoqués dans la presse sont nombreux (de la serrure électronique qui détecte l’ouverture ou la fermeture d’une porte) au pluviomètre qui détermine si oui ou non on peut déclencher le paiement de d’une assurance sécheresse par exemple. Evidemment, on peut imaginer combiner différents Oracle dans une logique de multi signatures pour sécuriser les données en entrée.
- La démocratie : on fait voter un groupe de participants. Il existe deux idées qui sous-tendent ce principe. Premièrement celui lié à un marché de la prédiction (cf. Augur) et où les participants ont un intérêt direct à apporter la véritable réponse à la question posée. Ou deuxièmement un oracle composée d’une population complètement décorrélée de l’enjeu de la question et où les participants donnent juste leur avis et sont rémunérés pour cela
Votre entreprise, futur oracle de Blockchain ?
Quelques soit le modèle - ou les modèles - d’oracle retenus, et si l’on admet que la diffusion des Blockchains va être de plus en plus large et rapide, nous pensons que la dimension d’oracle va constituer une nouvelle étape pour les entreprises.
Les oracles sont en effet un nouveau moyen d’utiliser leurs data (même s’il existe de très nombreuses questions en suspens concernant la fiabilisation au sens sécurité des données entrées dans une Blockchain).
Même si nous n’en sommes qu’aux prémisses, nous conseillons aux entreprises de concevoir cette mise à disposition des datas dont elles disposent dès aujourd’hui. Aussi bien en l’imaginant d’un point de vue d’une optimisation de leur processus internes que comme une source additionnelle de revenus en devenant des oracles pour des Blockchains extérieures.