Avant de me lancer dans le grand bain de l’écosystème de Chainlink, je tiens à préciser l’origine du terme “oracle”. Ce dernier fait référence à la divination de l’antiquité grecque.  Un oracle était considéré comme la réponse donnée par un dieu à une question personnelle concernant l’avenir, autrement dit, il s'agissait de dialoguer avec un dieu sur son futur. Bien évidemment, pour questionner Zeus, il fallait remplir certaines conditions, suivre certaines procédures, accomplir certains rites ou encore s’acquitter de certaines taxes, et bien souvent la réponse de Zeus passait par la bouche d’un prophète. Par extension et déformation, Chainlink prend le rôle de l’oracle à l’ère de la blockchain. C'est-à-dire que l’oracle 3.0 met en relation un smart contract (contrats intelligents) d’une blockchain (on-chain), avec une source de données fiable externe du monde réel (off-chain). Une source de données qui est interrogeable à tout moment, ou plutôt, l’oracle des temps modernes.

Chainlink Network
Source : Chainlink.com

Il est essentiel, dans le cadre de Chainlink, d’avoir en tête l’utilité d’un smart contract, je m’autorise un petit rafraichissement de mémoire avant de me lancer. Les contrats intelligents sont des accords préétablis sur une blockchain qui évaluent les informations et s'exécutent automatiquement lorsque certaines conditions sont remplies. Le crowdfunding en est un bon exemple : si un certain montant d'éther (ETH) est déposé dans un contrat intelligent avant une certaine date, le paiement sera versé au collecteur de fonds - dans le cas contraire, le paiement sera renvoyé aux donateurs. Comme les contrats intelligents existent sur une blockchain, ils sont immuables (ils ne peuvent pas être modifiés) et vérifiables (tout le monde peut les voir), ce qui garantit un haut niveau de confiance entre les parties quant au fait qu'ils reflètent précisément les paramètres énoncés de l'accord et qu'ils seront exécutés si, et seulement si, ces paramètres sont respectés.

Maintenant revenons à notre oracle 3.0, et pour bien comprendre nous allons commencer par un cas concret d’utilisation :

Match : OL - PSG à la sauce Chainlink

Par exemple, supposons que Victor et Louis veulent parier sur le résultat du match OL - PSG au sein d’un smart contract. Victor parie 20 euros sur l’OL et Louis 20 euros sur le PSG, le total de 40 euros étant placé sous séquestre par le contrat intelligent. À la fin du match, comment le contrat intelligent sait-il s'il doit remettre les fonds à Victor ou à Louis ? La réponse est qu'il a besoin d'un mécanisme d'oracles afin de récupérer les résultats exacts du match et les transmettre à la blockchain de manière sûre et fiable. Nos oracles arrivent.

Effectivement, à l’heure actuelle, un smart contract est incapable d’aller ouvrir une page internet pour consulter le résultat du match afin de déterminer le gagnant, il faut alors avoir recours à une source de données externe, fiable et consultable à tout moment. Chainlink récupère l’ensemble des données sur différentes bases de données disponibles afin de résister à la manipulation si un site affichait un score erroné. Dans le cadre de notre match de foot, les oracles de Chainlink iraient récupérer les informations sur l’Equipe, Flash Score, Eurosport, RMC Sport, Foot Direct etc… Ils détermineront alors le vainqueur en choisissant ce que la majorité des différents sites (sources de données externes) ont défini comme résultat, puis permettra de débloquer le smart contract afin de libérer les récompenses aux parieurs gagnants. Nous comprenons ainsi que même si le score provenant de “Flash Score” est défaillant (résultat erroné) et que tous les autres sites affichent un différent score (véritable score) ce n’est pas grave car les oracles prendront en compte le résultat s’imposant en tant que majorité. Pour que le résultat transféré dans la blockchain soit faux, il faudrait que la majorité des sources de données soient d’accord sur un faux score. Il y a peu de chances que cela arrive…

Transmission d’informations via le DON (Decentralised Oracle Contract)
Source : White Paper Chainlink (research.chain.link)

Ici nous avons pris l’exemple d’un match de foot, mais le champ des possibles est ouvert. Les différentes applications décentralisées (Dapps), pour se démocratiser auront besoin d’avoir recours aux données du monde réel pour optimiser les smarts contracts : Exécuter des ordres en fonction de l’évolution d’un cours boursier ; Alerter des habitants en fonction des données météorologiques afin d’optimiser la rapidité de la transmission d’informations ; Dédommager automatiquement un individu ayant subi un retard de plus de quatre heures sur son vol Montpellier - Paris ; Afficher les résultats à une élection présidentielle en fonction des votes des citoyens… Toute application décentralisée nécessitant une source de fiabilité extrême sur des données externes afin de les importer dans des smarts contracts, aura besoin d’un système d’oracles bidirectionnels, autrement dit, un système pouvant exporter des informations de la blockchain vers le monde extérieur et l’inverse.

Le coeur du système de Chainlink : les oracles décentralisés

Les mécanismes d'oracles de blockchain utilisant une entité centralisée pour fournir des données à un contrat intelligent introduisent un point de défaillance unique, ce qui va à l'encontre de l'objectif même d'une application blockchain décentralisée. Si l'oracle unique est hors ligne, le contrat intelligent n'aura pas accès aux données nécessaires à l'exécution ou s'exécutera de manière incorrecte sur la base de données périmées.

Pire encore, si l'oracle unique est corrompu, les données fournies sur la chaîne peuvent être très incorrectes et conduire les contrats intelligents à exécuter de très mauvais résultats. De plus, les transactions de la blockchain étant automatisées et immuables, le résultat d'un contrat intelligent basé sur des données erronées ne peut être annulé, ce qui signifie que les fonds des utilisateurs peuvent être définitivement perdus. Par conséquent, les oracles centralisés ne sont pas une solution pour les applications de contrats intelligents. C’est ici que les nœuds viennent jouer le rôle de décentralisation.

Fonctionnement des noeuds décentralisés sur Chainlink
Source : White Paper Chainlink

Un réseau d'oracles décentralisé combine plusieurs opérateurs de nœuds d'oracle indépendants et plusieurs sources de données fiables pour établir une décentralisation de bout en bout.

Reprenons notre oracle qui capte les données des matchs de foot via différentes sources de données. Si il existait seulement un ordinateur connecté (nœud blockchain) permettant de faire fonctionner l’oracle en question, alors si celui-ci venait à se faire pirater ou alors à cesser de fonctionner, les données ne pourraient plus être transférées vers les smart contracts. Pour éviter ce risque majeur, il est nécessaire d’avoir plusieurs oracles connectés à plusieurs nœuds, ainsi si un oracle fournit des réponses différentes que tous les autres oracles, celui-ci sera écarté, car estimé de mauvaise qualité et donc pénalisé par le réseau. Ainsi, plusieurs oracles fonctionnant sur plusieurs nœuds permettent de pousser la décentralisation au maximum afin de tendre vers le risque 0 de fausses informations transmises. 

Le Jeton LINK

Il ne faut pas l’oublier, la société Chainlink repose sur l’écosystème des cryptomonnaies en connectant les blockchains au monde réel. Elle possède donc sa propre monnaie numérique. Le : LINK. A quoi sert-elle ? Principalement à payer les frais de fonctionnement du réseau. Lorsque votre Dapps a besoin de récupérer une information du monde réel pour l’intégrer dans un smart contract, vous ferez appel aux oracles qui vous demanderont de régler des frais de “transformation de données entre le monde on-chain et le monde off-chain. Rémunération se faisant en LINK. 

Pour les investisseurs, une autre notion importante est à prendre en compte, lors du lancement du projet en 2017, il a été convenu que seulement 35% des jetons seraient vendus au public, le reste étant réservé à récompenser les nœuds pour leur aide à la décentralisation des oracles et pour l’équipe. Une concentration trop importante de la totalité des jetons émis entre les mains de la société augmente le risque de manipulation du cours. On peut également imaginer la déception des investisseurs de la première heure, qui ont permis que je projet aboutisse, d’avoir reçu qu'un tiers des jetons totaux. Enfin, l’équipe communique peu sur l’évolution du projet Chainlink, ce qui peut émettre des doutes chez les investisseurs. Bien que Chainlink soit le système d’oracles décentralisé le plus important à l’heure actuelle, d’autres viennent jouer des coudes à l’image d’Augur, Band Protocol ou encore Tellor. Un prochain article dans les colonnes de Zonebourse pour un comparatif poussé entre les concurrents.

Prix et performances de LINK

Le cours du jeton a évolué de plus de 60% depuis le 1er janvier en affichant un prix unitaire de 18,16$ à l’heure où j’écris ces lignes. Avec une capitalisation boursière supérieure à 8 milliards de dollars, Chainlink peut se targuer de se positionner dans le Top 25 des cryptomonnaies en termes de Market Cap. 

Cours du Jeton : LINK
Source : CoinMarketCap

Le système d’oracles décentralisé est extrêmement utile dans l’univers des applications décentralisées sur les blockchains. Naturellement, on comprend qu’un grand nombre d'entre elles auront besoin des informations du monde réel pour fonctionner. Que ce soit Chainlink ou une autre société, nous avons fort à penser qu’elles auront un rôle à jouer dans l’écosystème des Dapps. Il sera tout de même intéressant d’observer ce qu’Eric Schmidt apportera à la société grâce à son expérience chez Google.